Cannot ping from a bridged inteface

bridgenetworkingping

I am trying to bridge between eth2 and br0 from Ubuntu 11.04 within virtual box. There is network bridging to host physical machine.

From the guest OS after bridging I can ping from br0 but not from eth2. Why?

ping -I eth2 bbc.co.uk:

PING bbc.co.uk (212.58.241.131) from 172.16.4.186 eth2: 56(84) bytes of data.
From VirtualBox.local (172.16.4.103) icmp_seq=2 Destination Host Unreachable
From VirtualBox.local (172.16.4.103) icmp_seq=3 Destination Host Unreachable

ping -I br0 bbc.co.uk

PING bbc.co.uk (212.58.241.131) from 172.16.4.186 br0: 56(84) bytes of data.
64 bytes from virtual-vip.thdo.bbc.co.uk (212.58.241.131): icmp_req=1 ttl=239 time=31.2 ms

My /etc/network/interfaces is as follows

auto lo
iface lo inet loopback

auto eth2
iface eth2 inet manual

auto br0
iface br0 inet static
        address 172.16.4.186
        network 172.16.4.255
        netmask 255.255.255.0
        broadcast 172.16.4.255
        gateway 172.16.4.1
        bridge_ports eth2
        bridge_stp off
        bridge_fd 0
        bridge_maxwait 0

the gateway is

route -n

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.16.4.1      0.0.0.0         UG    100    0        0 br0
172.16.4.0      0.0.0.0         255.255.255.0   U     0      0        0 br0
172.16.4.0      0.0.0.0         255.255.255.0   U     1      0        0 eth3

ifconfig

br0       Link encap:Ethernet  HWaddr 08:00:27:4a:08:57  
          inet addr:172.16.4.186  Bcast:172.16.4.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe4a:857/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2969 errors:0 dropped:0 overruns:0 frame:0
          TX packets:267 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:200777 (200.7 KB)  TX bytes:28141 (28.1 KB)

eth0      Link encap:Ethernet  HWaddr 08:00:27:df:f5:a7  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:36 errors:0 dropped:0 overruns:0 frame:0
          TX packets:392 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3904 (3.9 KB)  TX bytes:55700 (55.7 KB)

eth2      Link encap:Ethernet  HWaddr 08:00:27:4a:08:57  
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19849 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1206 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1631595 (1.6 MB)  TX bytes:114927 (114.9 KB)

eth3      Link encap:Ethernet  HWaddr 08:00:27:50:00:2d  
          inet addr:172.16.4.103  Bcast:172.16.4.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe50:2d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:19515 errors:0 dropped:0 overruns:0 frame:0
          TX packets:145 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1625905 (1.6 MB)  TX bytes:17450 (17.4 KB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:113 errors:0 dropped:0 overruns:0 frame:0
          TX packets:113 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:12544 (12.5 KB)  TX bytes:12544 (12.5 KB)

Best Answer

That is the intended behaviour. If you connect eth2 to a bridge then eth2 becomes unusable (even with an IP address). You use br0 on the software side, eth0 is used physically.

In general when talking about bridges it makes sense to give the output of brctl show