Внешний IP-адрес рассматривается как локальный (ARP запрашивает внешний IP-адрес)

Я использую виртуальную машину с OpenWRT для маршрутизации на машине с Linux (Slackware). Я пытаюсь настроить интерфейс только для хоста (eth0) в качестве интерфейса wan. eth1 - это Ethernet, подключенный как мостовой интерфейс.

Я попытался проверить пинг конфигурации на внешний IP-адрес (из OpenWRT).

# ping -I eth0 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
^C
--- 8.8.8.8 ping statistics ---
6 packets transmitted, 0 packets received, 100% packet loss

Я использовал wireshark и увидел, что система (сторона OpenWRT) отправляет ARP-запрос с MAC-адресом 8.8.8.8. Что здесь происходит? Похоже, что шлюз игнорируется.

Мой маршрут:

# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         192.168.56.1    0.0.0.0         UG    1      0        0 eth0
default         192.168.56.1    0.0.0.0         UG    5      0        0 eth0
192.168.0.0     *               255.255.255.0   U     0      0        0 eth1
192.168.56.0    *               255.255.255.0   U     5      0        0 eth0

Iptables настроен на прием всех пакетов для ввода, вывода и пересылки.

Больше тестов:

# ping -I eth0 192.168.56.1
PING 192.168.56.1 (192.168.56.1): 56 data bytes
64 bytes from 192.168.56.1: seq=0 ttl=64 time=10.000 ms
64 bytes from 192.168.56.1: seq=1 ttl=64 time=0.000 ms
64 bytes from 192.168.56.1: seq=2 ttl=64 time=0.000 ms
64 bytes from 192.168.56.1: seq=3 ttl=64 time=0.000 ms
^C
--- 192.168.56.1 ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 0.000/2.500/10.000 ms

,

# ip route show
default via 192.168.56.1 dev eth0  proto static  metric 1 
default via 192.168.56.1 dev eth0  proto static  metric 5 
192.168.0.0/24 dev eth1  proto kernel  scope link  src 192.168.0.1 
192.168.56.0/24 dev eth0  proto static  scope link  metric 5 

2 ответа

Возможно, у вас установлен маршрут по умолчанию для устройства, а не для IP-адреса шлюза. Проверьте ip route show для линии по умолчанию без "через IP" часть.

РЕДАКТИРОВАТЬ: извините, я теперь вижу ваш маршрут вывода. Тем не мение, ip route show более полезно, поскольку есть детали маршрутизации, которые не могут быть показаны командой route. Также странно, что существует 2 одинаковых маршрута по умолчанию, надеюсь, ip покажет разницу.

Попытка переустановить OpenWRT на виртуальной машине, но не решила проблему.

После некоторых конфигураций на хост-машине (маршрутов и iptables) проблема исчезла. Мне грустно, что я не смог определить точную причину этой проблемы. Похоже, что произошла петля (пакет, отправленный маршрутизатором, был снова получен маршрутизатором) из-за неправильной конфигурации на хост-машине, что и было причиной проблемы.

Я отредактирую этот ответ, если это произойдет снова, и я получу больше деталей.

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