I am having problems with a newly created Linux bridge. The architecture is:
PC1 (eth0) <---> (eth2) BridgePC (eth0) <---> (eth0) PC2
BridgePC is a virtual machine (ESXi Hypervisor).
br0 is up and running. DHCP broadcasts are forwarded from PC2’s segment via BridgePC to PC1. So PC1 is supplied with an IP address from the DHCP Server on PC2’s side.
brctl showmacs br0 verifies that PC1 and PC2’s and other MACs are learned on the bridge.
The problem is when trying to ping PC1 (unicast message) from PC2 a
tshark -f 'arp' on BridgePC verifies that PC2 sends ARP requests to determine PC1’s MAC for the
ping command. But BridgePC neither forwards the ARP request to PC1 nor does it respond with a ProxyARP (on behalf of PC1).
I know that ProxyArp may be configured separately, but none of the bridging tutorials I found mention to do that explicitly.
Here is the kernel IP routing table:
Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 * 255.255.255.0 U 0 0 0 br0 192.168.0.1 * 255.255.255.255 UH 0 0 0 eth0