Desfazendo o encaminhamento de porta

16

Preciso que todos os pedidos para a porta 80 sejam encaminhados para 8020. Pesquisei no Google e obtive:

iptables -t nat -I PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020

Agora, no futuro, se eu tiver que desfazer o que faço (além de reiniciar o sistema)?

raj
fonte

Respostas:

14

Basta excluir a regra:

iptables -t nat -D PREROUTING --source 0/0 --destination 0/0 -p tcp --dport 80 -j REDIRECT --to-ports 8020
basvdlei
fonte
18

Acho difícil reconstruir completamente a regra iptable quando eu quiser excluí-la. Instaed Listo as regras com números de linha e excluo por número. Por exemplo:

iptables -t nat -L --line-numbers

Dá saída como:

Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 redir ports 8020 

Para excluir por número:

iptables -t nat -D PREROUTING 1

Advertência: Quando você exclui uma linha, todas as linhas abaixo receberão um novo número de linha. Por exemplo, se você tivesse regras como:

1 rule A
2 rule B
3 rule C

e você exclui a regra 2, obtém:

1 rule A
2 rule C
brainsik
fonte
Esta resposta é muito mais útil do que a resposta aceita, obrigado pela gravação se @brainsik
rjhilgefort
0

Gostaria de saber se o uso do vim seria uma opção

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme
AlexanderN
fonte
0

Você também pode descartar todas as regras de encaminhamento de porta usando este código

sudo iptables -P FORWARD DROP
Shinto Joseph
fonte