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

Внешний 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

Я использовал wirehark и увидел, что система (сторона 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 

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

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

Я отредактирую этот ответ, если это произойдет снова, и получу более подробную информацию.

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

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