I'm struggling to get a network bridge working on a Ubuntu server in a fairly simple set up (I thought). To do some firewall lab stuff I need three machines set up like this:
ALICE (eth0) ----> (eth0) WILLY (eth1) -----> (eth0) BOB
Willy shall be a bridge and take every network packet it gets on eth0 and pass it to eth1 (and vis versa).
Therefore I have set up Alice and Bob with static IP addresses (Alice has 10.0.0.2; Bob has 10.0.0.3).
On Willy I installed the bridge_utils package and modified /etc/network/interfaces to look like this:
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
Additionally kernel module br_netfilter is loaded via
modprobe br_netfilter
I can successfully ping from ALICE to WILLY. I can NOT ping from BOB to WILLY and not from ALICE to BOB (and vis versa).
I tried everything from this troubeshooting guide ( http://www.microhowto.info/troubleshooting/troubleshooting_ethernet_bridging_on_linux.html ) and all those tests passed. Especially I see on WILLY the MAC addresses from ALICE and BOB when I do
brctl showmacs br0
So obviously the network packets arrive at WILLY, but can cross the bridge for whatever reason.
Any idea's what I missing here to get this working ? Can't believe that its that complex, so I must be missing something fundamentally.
Any help is highly appreciated.