Iptables – forwarding packet from one interface to another interface

ip-forwardingiptableslinux-networkingport-forwardingrouter

I have an embeded system with 2 interfaces e0 and m0, whose ips are 10.0.0.20 and 192.168.0.20, respectively.
Incoming packets into e0 have an ip of 10.0.0.10 and should be forwarded to m0 interface to external server whose ip is 10.0.0.30. Also, the returning traffic into m0 should be returned to e0.

I tried to forward packets with these commands:

route add -net 10.0.0.0/16 dev m0

iptables -t nat -A PREROUTING -d 10.0.0.30 -j DNAT –to-destination 192.168.0.20

iptables -t nat -A POSTROUTING -s 10.0.0.0/16 -j SNAT –to-source 10.0.0.20

I did tcpdump at m0 but don't see anyting going out.

Can you tell me what I am missing? Thank you in advance.

Best Answer

Perhaps you need to turn on forwarding in the kernel with:

sysctl -w net.ipv4.ip_forward=1