Я пытаюсь сделать свой сервер Debian маршрутизатором для моей локальной сети.
У меня есть два интерфейса: eth0 подключается к Интернету через PPPoE, eth1 - к локальной сети. Я включил пересылку в sysctl net.ipv4.ip_forward = 1 и отключил iptables (policy accept). Я могу пинговать шлюз, но ничего не могу пинговать в Интернете.
Вам необходимо использовать NAT для совместного использования интернет-соединения с вашей локальной сетью.
Пример:
iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface eth1 -j ACCEPT
См. Это руководство на HowtoForge для получения дополнительной информации: http://www.howtoforge.com/nat_iptables
Включение переадресации IP (маршрутизация AKA) недостаточно; вы также должны преобразовать внутреннюю сеть в внешний IP-адрес.
Отключение netfilter не приведет вас к этому; вам нужно однострочное правило маскарада Расти:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE