У меня есть сервер Ubuntu 14.04 LTS с двумя сетевыми адаптерами. Один подключен к внутренняя сеть (eth0, 192.168.4.0/24), а другой подключен к роутер с доступом в интернет (eth1, сеть 192.168.2.0/24).
Я хочу предоставить клиентам сети 192.168.4.0/24 доступ в Интернет. Итак, я выполнил следующие команды:
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -A FORWARD -i eth0 -j ACCEPT
$ iptables -A FORWARD -o eth0 -j ACCEPT
насколько я понимаю, теперь клиенты должны иметь доступ к роутеру, но это не работает:
$ ping 192.168.2.1
Request timeout for icmp_seq 0
и включение NAT в качестве последнего шага не работает
$ iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
Подскажите, пожалуйста, в чем моя ошибка?
Вы проверяли свои маршруты, например, шлюз по умолчанию? Проверить маршрут -n.
В противном случае вы можете попробовать установить правило для обратной маршрутизации пакетов от установленных соединений.
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT