Iptables – Forward All Traffic to Specified Port on Another Device

iptablesport-forwarding

How can I modify this iptables rule, so that all traffic which coming for this computer will be forwarded to 192.168.42.10?

iptables -t nat -A PREROUTING -s 192.168.46.0/24 -p tcp --dport 80 -j DNAT --to-destination 192.168.42.10:80

The problem is that I create the ip tables rule from ansible and created it in different environments, where the ip address ranges are different, but I want to forward the 80 port to 192.168.42.10 always.

Best Answer

This rule will forward 80 port to 192.168.42.10

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.42.10:80

but this is not enough If you want to get back traffic then you should add this rule

iptables -t nat -A POSTROUTING -p tcp -d 192.168.42.10 --dport 80 -j SNAT --to-source 192.168.42.1

where ip address 192.168.42.1 is your iptables computer

These two rules have to solve the task.