Firewall - Traffic Routing

June 14, 2016 325 views
Networking Firewall DigitalOcean Security Ubuntu

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
  • on the APPserver, I added the line
    route add default gw 10.139.y.y eth1

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.

Have another answer? Share your knowledge.