iptables. Forward трафика.
Задача выпустить компьютеры локальной сети в интернет через сервер с Linux и двумя интерфейсами. Eth0 — внешний интерфейс, Eth1 внутренний.
Разрешаем форвардинг для всей локальной сети. В этом примере локальный интерфейс eth1. Первое правило разрешает форвард входящего трафика, второе исходящего.
iptables -A FORWARD -i eth1 -j ACCEPT iptables -A FORWARD -o eth1 -j ACCEPT
Теперь нужно поднять NAT. В данном примере в роли внешнего интерфейса выступает eth0:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Не забываем включить форвардинг в системе. Для этого редактируем /etc/sysctl.conf и исправляем параметр net.ipv4.ip_forward = 0 на net.ipv4.ip_forward = 1
В итоге получаем функционал гейтвея во внешнюю сеть.