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

Ответ Ping не попадает на компьютеры LAN, но попадает в шлюз маршрутизатора Linux

Я настроил Ubuntu 12.04 как шлюз. У него два интерфейса

 eth0 with ip  192.168.122.39(Static) and 

 eth1 connected to modem with ip address 192.168.2.3(through DHCP).

ip-forwarding включен в поле маршрутизатора.

Клиентская машина настроена как:

ip address 192.168.122.5 and gateway 192.168.122.39

Клиентские машины могут пинговать маршрутизатор (192.168.122.39). Но при пинге 8.8.8.8 ответ не достигает клиентских машин, но в выводе tcpdump на шлюзе я вижу эхо-запрос для 8.8.8.8, но никогда не эхо-ответ. Это из-за 122.5 не перенаправляет запрос в сеть 2.0. Не могли бы вы помочь мне исправить это.

изменить: ПОСЛЕДУЮЩИЕ ШАГИ

Эта машина работает как XEN HVM.

Маршрутизатор: два интерфейса eth0: 192.168.122.39 (статический ip) eth1: 192.168.2.3 на маршрутизаторе

  iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

 iptables -A FORWARD -i eth0 -j ACCEPT

 iptables -A FORWARD -i eth1 -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

ptables -A FORWARD -i eth0 -o eth1 -j ACCEPT

На клиентской машине

 ping 8.8.8.8

на шлюзе результат tcpdump

tcpdump -v -i eth0

192.168.122.1 - виртуальный мост

tcpdump: прослушивание eth0, тип канала EN10MB (Ethernet), размер захвата 65535 байт

14: 17: 26.352383 IP (tos 0x0, ttl 64, id 0, смещение 0, флаги [DF], proto ICMP (1), длина 84) 192.168.122.1> google-public-dns-a.google.com: ICMP эхо-запрос, id 1541, seq 8395, длина 64

14: 17: 26.938156 IP (tos 0x0, ttl 64, id 0, смещение 0, флаги [DF], proto ICMP (1), длина 84) 192.168.122.1> google-public-dns-a.google.com: ICMP эхо-запрос, id 1513, seq 10735, длина 64

трассировка 8.8.8.8. с клиентской машины:

трассировка 8.8.8.8

1: 192.168.122.39 0,046 мс pmtu 1500

1: 192.168.122.5 0.259 мс

1: 192.168.122.5 0.188 мс

2: нет ответа

3: нет ответа

Ваш модем не знает, как подключиться к сети 192.168.122.0/24. Вы должны сделать NAT на вашем маршрутизаторе или вы должны сообщить своему модему, что 192.168.122.0/24 должен быть маршрутизирован через 192.168.2.3.

Для NAT попробуйте следующие правила:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE   
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT

Перезагрузите брандмауэр, чтобы сбросить старые правила.