Policy Routing - хост, отправляющий запросы ARP для нелокальных сетей

Мне нужна помощь в устранении неполадок с политикой маршрутизации.

У меня есть хост Linux с несколькими VLAN. Я пытаюсь создать уникальную таблицу маршрутизации для каждой VLAN (20 в этом примере), и я могу пинговать двунаправленно между хостом и маршрутизатором (шлюз по умолчанию) на VLAN20. Однако, когда я отправляю трафик на IP вне сети, сервер Ubuntu отправляет запросы ARP для этих IP-адресов, а не отправляет трафик через шлюз.

Ubuntu Host VLAN20: 192.168.20.50

Интерфейс маршрутизатора VLAN20: 192.168.20.1

Создан стол "vlan20"

$ cat /etc/iproute2/rt_tables
# # reserved values
# 255 local
254 main
253 default
220 vlan20
0 unspec #
#local
#1inr.ruhep

Создано правило для отправки всего трафика, полученного из интерфейса VLAN20 с использованием таблицы vlan20

$ ip rule show
0: from all lookup local
32765: from 192.168.20.50 lookup vlan20
32766: from all lookup main
32767: from all lookup default

маршрутизация всего трафика на интерфейс роутера vlan20

 $ ip route list table vlan20
default via 192.168.20.1 dev eth0.20
192.168.20.0/24 dev eth0.20  scope link

тестирование с хоста linux

ping 8.8.8.8 -I eth0.20
PING 8.8.8.8 (8.8.8.8) from 192.168.20.50 eth0.20: 56(84) bytes of data.                             
192.168.20.50 icmp_seq=1 Destination Host Unreachable

Из интерфейса маршрутизатора VLAN20

 9.568940 arp who-has 8.8.8.8 tell 192.168.20.50
 10.565495 arp who-has 8.8.8.8 tell 192.168.20.50

Рут из ядра Ubuntu

# ip route get 8.8.8.8 dev eth0.20
8.8.8.8 dev eth0.20  src 192.168.20.50
cache

Спасибо за твою помощь! Мне не повезло выяснить это.

1 ответ

Ваша попытка пинга привязана к интерфейсу (указав -I eth0.20) - не адрес, и нет интерфейса маршрута.

Если вы добавите правило выходного интерфейса для использования таблицы vlan20, он будет использовать шлюз следующего перехода вместо попытки сделать запрос ARP. т.е.

ip rule add oif eth0.20 lookup vlan20

Вы найдете довольно длинное объяснение, и примеры этого происходят в моем другом ответе, найденном здесь: https://stackoverflow.com/a/47613538/471825

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