Annullamento del port forwarding


16

Ho bisogno che tutte le richieste alla porta 80 siano inoltrate a 8020. Ho cercato su Google e ho ottenuto:

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

Ora, in futuro, se devo annullarlo, cosa devo fare (a parte riavviare il sistema)?

Risposte:


14

Basta eliminare la regola:

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

18

Trovo doloroso ricostruire completamente la regola iptable quando voglio eliminarla. Instaed elenco le regole con i numeri di riga e quindi elimino per numero. Per esempio:

iptables -t nat -L --line-numbers

Fornisce output come:

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 

Quindi per eliminare per numero:

iptables -t nat -D PREROUTING 1

Avvertenza: quando si elimina una riga, tutte le righe sottostanti riceveranno un nuovo numero di riga. Ad esempio, se avessi regole come:

1 rule A
2 rule B
3 rule C

e elimini la regola 2, quindi ottieni:

1 rule A
2 rule C

Questa risposta è molto più utile della risposta accettata, grazie per aver scritto @brainsik
rjhilgefort

0

Mi chiedo se usare Vim sarebbe un'opzione

iptables-save > editme

vim editme # remove the rule you dont want

iptables-restore < editme

0

Puoi anche eliminare tutte le regole di port forwarding usando questo codice

sudo iptables -P FORWARD DROP
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.