Следующая настройка:
Я отлаживаю с tcpdump -e -n -i eth1
на обоих гостях.
Запуск arping -I br0 10.0.2.0 -s 10.0.1.0
на гостевой 1.
гость 1:
13:10:51.933237 [guest1-br0-mac] > Broadcast, ethertype ARP (0x0806), length 42: Request who-has 10.0.2.0 (Broadcast) tell 10.0.1.0, length 28
гость 2: ничего!
(Наоборот).
Выполнение arping -I eth1 10.0.2.0 -s 10.0.1.0
на гостевой 1 (eth1 вместо br0):
гость 1:
13:13:57.593789 [guest1-eth1-mac] > Broadcast, ethertype ARP (0x0806), length 42: Request who-has 10.0.2.0 (Broadcast) tell 10.0.1.0, length 28
гость 2:
13:13:57.594041 [guest1-eth1-mac] > Broadcast, ethertype ARP (0x0806), length 42: Request who-has 10.0.2.0 (Broadcast) tell 10.0.1.0, length 28
13:13:57.594111 [guest2-br0-mac] > [guest1-eth1-mac], ethertype ARP (0x0806), length 42: Reply 10.0.2.0 is-at [guest2-br0-mac], length 28
Итак, гость 2, похоже, отвечает, но этот ответ не возвращается гостю 1.
Я не понимаю две вещи:
Почему существует разница между использованием
br0
иeth1
качестве исходного интерфейса? Разве мостовое устройство не должно передавать широковещательную передачу arp наeth1
?В чем может быть причина потери ответа гостя 2 во втором тесте?
$ brctl show bridge name bridge id STP enabled interfaces br0 8000.0123456789AB no eth1
Скажите, пожалуйста, какая дополнительная информация вам нужна.