У меня есть 3 машины с этой настройкой Компьютер1 ---- Компьютер с Ubuntu 12.04 ----- Компьютер2 Компьютер1 имеет IP 192.168.10.1, а Компьютер2 - 192.168.10.10. Мой компьютер с Ubuntu имеет 2 интерфейса Ethernet. Я хочу создать мост в Ubuntu, чтобы Computer1 и Computer2 могли общаться друг с другом.

Я создал мост в Ubuntu с

sudo ifconfig eth0 0.0.0.0 down
sudo ifconfig eth1 0.0.0.0 down
sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo brctl addif br0 eth1
sudo ifconfig br0 up
sudo ifconfig eth0 promisc up
sudo ifconfig eth1 promisc up

Команда "brctl showstp br0" показывает мне, что состояние eth0 и eth1 пересылается. Тогда я начинаю tshark в мост с

sudo tshark -i br0

Если в Computer2 я пытаюсь пинговать Computer1, я получаю

ARP 60 Who has 192.168.10.1? Tell 192.168.10.10

В мосту я получаю ARP-запрос от Computer2, но не вижу ARP-ответ от Computer1

Когда я запускаю tshark на Computer1, получаю это

ARP 60 Who has 192.168.10.1? Tell 192.168.10.10
ARP 42 192.168.10.1 is at XX:XX:XX:XX:XX:XX (mac hidden)

При этом я вижу, что ARP проходит через мост, Computer1 получает ARP и отправляет ответ, но этот ответ не проходит через мост.

Есть идеи???

Спасибо

2 ответа2

0

Я понял проблему.

Интерфейсы моста не были правильно настроены в режиме Promisc.

0

Я бы начал с изучения таблицы маршрутизации на обоих хостах, особенно на компьютере 1:

route -n

Ваш ARP-ответ может быть отправлен на неверный интерфейс.

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