iptables: apaga todas as regras por interface

3

Existe uma maneira de excluir todas as regras do iptables relacionadas a uma determinada interface? Eu não vejo nenhuma opção de linha de comando para isso, pode haver um roteiro bash para isso?

    
por Vladislav Rastrusny 21.08.2012 / 17:52

2 respostas

1

Algumas possibilidades, dependendo da sua configuração.

Se você estiver executando uma estrutura bastante simples de cadeias e não fazer aninhamento e implicações, use iptables-save para salvar seu firewallset. Remova todas as linhas com -i $ if ou -o $ if , dependendo das suas necessidades. Use grep ou algo assim. Salve esse conjunto de regras, divida-o para seu primeiro conjunto de regras salvo e, se estiver correto, carregue-o com iptables-restore .

Como alternativa, reúna suas regras em cadeias específicas da interface. Dessa forma, você pode facilmente migrar ou remover interfaces. E você está acelerando o processamento do firewall!

iptables -N fw-eth1
iptables -A FORWARD -o eth1 -j fw-eth1
iptables -A fw-eth1 --your-rules-here
    
por 21.08.2012 / 20:24
0

Adicione uma regra para aceitar todo o tráfego em uma interface: iptables -A INPUT -i eth0 -j ACCEPT ; iptables -A OUTPUT -o eth0 -j ACCEPT Todo o tráfego de ou para esta interface é permitido.

Para apagar todas as regras de firewall (eu tenho uma dúvida em ler seu texto), iptables -P INPUT ACCEPT ; iptables -P OUTPUT ACCEPT ; iptables -P FORWARD ACCEPT ; iptables -X : todo o tráfego é permitido.

    
por 21.08.2012 / 18:00

Tags