Я пытаюсь получить сетевой мост, работающий на сервере Ubuntu, в довольно простой настройке (я думал). Чтобы сделать некоторые лабораторные работы брандмауэра, мне нужны три машины, настроенные следующим образом:
ALICE (eth0) ----> (eth0) WILLY (eth1) -----> (eth0) BOB
Вилли должен быть мостом и принимать каждый сетевой пакет, который он получает на eth0, и передать его eth1 (и наоборот).
Поэтому я создал Алису и Боб со статическими IP-адресами (у Алисы 10.0.0.2, у Боба 10.0.0.3).
В Willy я установил пакет bridge_utils и изменил / etc / network / interfaces, чтобы выглядеть так:
auto lo
iface lo inet loopback
auto br0
iface br0 inet static
address 10.0.0.1
netmask 255.255.255.0
bridge_ports eth0 eth1
Кроме того, модуль ядра br_netfilter загружается через
modprobe br_netfilter
Я могу успешно пинговать от ALICE до WILLY. Я не могу пинговать от BOB до WILLY, а не от ALICE до BOB (и наоборот).
Я попробовал все из этого руководства по troubeshooting (http://www.microhowto.info/troubleshooting/troubleshooting_ethernet_bridging_on_linux.html ) и все те тесты прошли. Особенно я вижу на WILLY MAC-адреса от ALICE и BOB, когда я это делаю
brctl showmacs br0
Таким образом, очевидно, что сетевые пакеты поступают в WILLY, но по любой причине могут пересекать мост.
Любая идея состоит в том, что я пропущу здесь, чтобы заставить это работать? Не могу поверить, что это так сложно, поэтому я должен что-то пропустить принципиально.
Любая помощь приветствуется.