Using a Linux server to route packages between a private networks and the Internet
Another scenario where a Linux machine can be used as router is when you need to share your Internet connection with a private LAN. Router : Debian Wheezy 7.7 [eth0: Public IP, eth1: 10.0.0.15/24] - dev2 Client : openSUSE 13.2 [enp0s3: 10.0.0.18/24] - dev4 In addition to set up packet forwarding and the static routing table in the client as in the previous example, we need to add a few iptables rules in the router: # iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT # iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT The first command adds a rule to the POSTROUTING chain in the nat (Network Address Translation) table, indicating that the eth0 NIC should be used for outgoing packages. MASQUERADE indicates that this NIC has a dynamic IP and that before sending the package to the “ wild wild world ” of the Internet, the private source address of the packet has to be changed to that of the pub...