Set up SNAT for Private network internet access
This is to set up a Linux machine to provide routing and SNAT of private network to the internet. This command provides configure the machine using iptables.
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
This command can be explained in the following way:
iptables: the command line utility for configuring the kernel -t nat select table "nat" for configuration of NAT rules. -A POSTROUTING Append a rule to the POSTROUTING chain (-A stands for "append"). -o eth1 this rule is valid for packets that leave on the second network interface (-o stands for "output") -j MASQUERADE the action that should take place is to 'masquerade' packets, i.e. replacing the sender's address by the router's address.
Output interface is the interface to the internet with a public IP address. Can also specify input interface with -I for interface to private LAN. Options -s and -d specify the source ip range and destination range.
This command does not enable the firewall to all forwarding. This can be done with the following command.
iptables -A FORWARD -i eth0 -o eth1 -m state
--state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Ensure that ipv4 forwarding is enabled in /etc/sysctl.conf