Есть два сервера с линукс. Первый выполняет роль роутера, он имеет два сетевых интерфейса, один из которых подключен к интернету, другой к локальной сети. Второй сервер подключен к локальной сети. Задача настроить роутер так, что бы второй сервер имел выход в интернет и был доступен из интернета.
На роутере применял такие правила:
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth2 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
где eth1 - интерфейс, который подключен к нету, eth2 - к локальной сети.
# sysctl -p
net.ipv4.ip_forward = 1
По локальной сети оба сервера пингуются. Но выполнить ping google.com на втором сервере не получается.