1

Следующая настройка:

Я отлаживаю с 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.

Я не понимаю две вещи:

  1. Почему существует разница между использованием br0 и eth1 качестве исходного интерфейса? Разве мостовое устройство не должно передавать широковещательную передачу arp на eth1?

  2. В чем может быть причина потери ответа гостя 2 во втором тесте?

    $ brctl show
    bridge name  bridge id          STP enabled  interfaces
    br0          8000.0123456789AB  no           eth1
    

Скажите, пожалуйста, какая дополнительная информация вам нужна.

1 ответ1

1

Включение «Подделки MAC-адресов» в Hyper-V сделало свое дело! Я чувствую себя так глупо, я потратил два дня, чтобы понять это ...

Объяснение:

1. Вопрос: Если в Hyper-V запрещена подмена MAC-адреса, то MAC-адрес источника в кадре Ethernet должен соответствовать MAC-адресу интерфейсов. При отправке запроса arp с интерфейса br0 это не так, и Hyper-V удаляет кадр.

2. Вопрос: это по сути та же проблема. Используя eth1 качестве исходного интерфейса, запрос теперь успешно достигает eth1 на другом госте и оттуда br0 . br0 теперь отвечает на запрос, но Hyper-V снова отбрасывает кадр, потому что адрес источника не соответствует mac-адресу eth1 .

Подделка MAC-адреса может быть включена в настройках виртуального сетевого адаптера. Также см. Эту статью Technet.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .