Ping-ответ не поступает на компьютеры с локальной сетью, а на маршрутизатор Linux Gateway

Я настроил Ubuntu 12.04 в качестве шлюза machine.its с двумя интерфейсами

 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 ВПЕРЕД -i eth0 -o eth1 -j ПРИНЯТЬ

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

 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], прото 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], прото 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.046ms pmtu 1500

1: 192,168,122,5 0,259мс

1: 192,168,122,5 0,188 мс

2: нет ответа

3: нет ответа

1 ответ

Решение

Ваш модем не знает, как подключиться к сети 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

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

Другие вопросы по тегам