Firewall - Traffic Routing

Posted June 14, 2016 5.3k views

I have 2 droplets. Lets say FWserver and APPserver. I want to make sure that all inbound and outbound traffic in my private networking is going via FWserver. on FWserver,eth0 is connected to internet (ip 139.59.x.x) and eth1 is connected internally to private network (10.139.y.y).

on FWserver, I did the following
echo 1 > /proc/sys/net/ipv4/ip_forward
route add -net dev eth0
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

From APPserver

I am able to ping and connect to private networking ip 10.139.y.y
However I am unable to reach the public ip 139.59.x.x

I guess that is the first step before I can connect to internet from APPserver via FWsever

Please help. this is urgent for me to setup my private networking


1 comment

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

first step is to make FWserver forwarding persistent

echo net.ipv4.ip_forward = 1 >> /etc/sysctl.conf
sysctl -p

second is to make sure all iptables rules are in the rule base

iptables -A PREROUTING -d 139.59.x.x -p tcp -j DNAT --to-destination 10.139.y.y
then your masquerade rule
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

with those rules you should be able to ping default gateway from your 10.139.y.y address, if the APPserver nics are configured correctly to interface with the eth1 on FWserver.