Using bridge utils to connect two computers via Linux

Is the firewall on the server disabled? It maybe that there are some firewall rules that are blocking the packets. Look at the output of iptables (must be run as root) and if you see anything other than ACCEPT rules/policies then they may be blocking things.

iptables -L


iptables -t nat -L

If the two devices cannot ping each other it sounds like the bridge is not correctly setup. There is no ip protocol routing involved in the bridge. What is the output of brctl show ? That should show something like

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.003018a46079       no              eth1

If both interfaces are not listed there then that needs correcting.

You may also like to try the brctl showmacs br0 command and if STP (spanning tree protocol) was enabled above the brctl showstp br0 command. The former should show the mac addresses of the two devices and the for the latter you should look to make sure that each port is in state forwarding

Given that you say that each can access the internet I assume that all of the interfaces have been brought up. If not the following should do that.

ip link set br0 up
ip link set eth0 up
ip link set eth1 up
ip link set eth2 up

Check if ip fowarding is enabled on the server with the command

sysctl net.ipv4.ip_forward

if this gives 0, do

sysctl -w net.ipv4.ip_forward=1

as root on the server. If this helps, make the change permanent by editing /etc/sysctl.conf