Deshacer reenvío de puertos

16

Necesito que todas las solicitudes al puerto 80 se envíen a 8020. Lo busqué en Google y obtuve:

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

Ahora, en el futuro, si tengo que deshacerlo, ¿qué hago (aparte de reiniciar el sistema)?

raj
fuente

Respuestas:

14

Simplemente elimine la regla:

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

Me resulta difícil reconstruir por completo la regla de iptable cuando quiero eliminarla. Instalado enumero las reglas con números de línea y luego las borro por número. Por ejemplo:

iptables -t nat -L --line-numbers

Da salida 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 

Luego para eliminar por número:

iptables -t nat -D PREROUTING 1

Advertencia: cuando elimine una línea, todas las líneas siguientes obtendrán un nuevo número de línea. Por ejemplo, si tuviera reglas como:

1 rule A
2 rule B
3 rule C

y eliminas la regla 2, entonces obtienes:

1 rule A
2 rule C
Brainsik
fuente
Esta respuesta es mucho más útil que la respuesta aceptada, gracias por escribir @brainsik
rjhilgefort el
0

Me pregunto si usar vim sería una opción

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme
AlexanderN
fuente
0

También puede descartar todas las reglas de reenvío de puertos utilizando este código

sudo iptables -P FORWARD DROP
Joseph sintoísta
fuente