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

Когда не будет сгенерирован ответ ARP?

Краткое изложение проблемы: а ping из client не идет в rpi1, на его вызов ARP не отвечает на srv.

подробности: client успешно пингует себя (10.20.1.2), 10.20.1.1, 10.20.1.254 и 10.10.10.254. При попытке пинговать 10.10.10.11:

root@client:~# ping 10.10.10.11
PING 10.10.10.11 (10.10.10.11) 56(84) bytes of data.
From 10.20.1.1: icmp_seq=2 Redirect Host(New nexthop: 10.10.10.11)
From 10.20.1.1 icmp_seq=1 Destination Host Unreachable
From 10.20.1.2 icmp_seq=3 Destination Host Unreachable
From 10.20.1.2 icmp_seq=4 Destination Host Unreachable
From 10.20.1.2 icmp_seq=5 Destination Host Unreachable

Обратите внимание на откидную крышку в From, между 10.20.1.1 и 10.20.1.2.

При запуске tcpdumpна srv (где потеряна возможность проверки связи) Я вижу запросы ARP, но нет ответов:

root@srv ~# tcpdump -i vpnin -nn
17:10:54.463072 ARP, Request who-has 10.10.10.11 tell 10.20.1.1, length 28
17:10:55.459489 ARP, Request who-has 10.10.10.11 tell 10.20.1.1, length 28
17:10:56.459459 ARP, Request who-has 10.10.10.11 tell 10.20.1.1, length 28
17:10:56.473683 ARP, Request who-has 10.10.10.11 tell 10.20.1.2, length 28
17:10:57.469788 ARP, Request who-has 10.10.10.11 tell 10.20.1.2, length 28
17:10:58.469608 ARP, Request who-has 10.10.10.11 tell 10.20.1.2, length 28

Опять же, оба 10.20.1.1 и 10.20.1.2 запросить ответ.

Таблица ARP на srv есть ответ

root@srv ~# arp -a
(...)
rpi1.10.in-addr.arpa (10.10.10.11) at f4:f2:6d:09:35:1b [ether] on lan0

В чем может быть причина

ARP работает только в той же локальной сети (домен широковещательной передачи уровня 2), поскольку запрос ARP является широковещательным. Трансляции не пересекают границу уровня 3. MAC-адреса - это адреса уровня 2, и они имеют значение или даже видны только в том же широковещательном домене уровня 2.

Хост, желающий отправить трафик в другую сеть уровня 3, будет отправлять трафик на адрес уровня 2 своего настроенного шлюза, используя ARP для поиска адреса уровня 2 своего настроенного шлюза, если это необходимо. Затем настроенный шлюз отвечает за доставку трафика к следующему переходу на пути к месту назначения.

Если предполагается, что трафик должен быть направлен в другую сеть, вам необходимо настроить шлюз на хостах, чтобы они были адресами в сетях уровня 3, где эти хосты существуют, в точке, где сети встречаются (srv). Настроенный шлюз для client должно быть 10.20.1.254, и настроенный шлюз для rp1 должно быть 10.10.10.254.