Назад | Перейти на главную страницу

пересылка из внутренней во внешнюю сеть не работает

У меня есть сервер 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