Undoing port forwarding

Solution 1:

I find it a pain to completely reconstruct the iptable rule when I want to delete it. Instaed I list the rules with line numbers and then delete by number. For example:

iptables -t nat -L --line-numbers

Gives output like:

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 

Then to delete by number:

iptables -t nat -D PREROUTING 1

Caveat: When you delete a line, all the lines below will get a new line number. For example, if you had rules like:

1 rule A
2 rule B
3 rule C

and you delete rule 2, then you get:

1 rule A
2 rule C

Solution 2:

Just delete the rule:

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