# Connecting two FreeBSD servers via bridged interfaces



## John Delano (Jan 14, 2016)

Is there a way to connect two FreeBSD 10.2 servers via one bridged NIC port from each server. If I connect to a non bridged port on the second server, it seems to work (pings pass through), but if the port on the second server is bridged, information does not pass across the two machines. I really need to get this to work, as I need to add a second PPPoE authentication server, but I need to be able to access the PPPoE devices via the private IP (non routed) for configuration, diagnostics and monitoring.


----------



## JamesElstone (Jan 16, 2016)

Hi John,

Can you provide the output from `ifconfig` on both machines please?

Obsitficate any public address when posting though!

James


----------



## sidetone (Jan 17, 2016)

Connecting two computers directly by ethernet needs a cross-over cable. This way, the output of one side of the wire becomes the input of the other.


----------



## John Delano (Jan 17, 2016)

sidetone said:


> Connecting two computers directly by ethernet needs a cross-over cable. This way, the output of one side of the wire becomes the input of the other.


The NIC does auto crossover. I can pass information between the computers as long as the ports on the two computers are not bridged. If both are bridged, I can't even ping across the ports.

`ifconfig` for both is as follows:

On first server:

```
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  ether 02:36:f2:72:8e:00
  inet 10.128.111.1 netmask 0xffff0000 broadcast 10.128.255.255
  inet 172.25.1.1 netmask 0xffffff00 broadcast 172.25.1.255
  inet 172.25.2.1 netmask 0xffffff00 broadcast 172.25.2.255
  inet 192.168.10.1 netmask 0xffffff00 broadcast 192.168.10.255
  nd6 options=1<PERFORMNUD>
  id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
  maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
  root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
  member: em9 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 12 priority 128 path cost 2000000
  member: em8 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 11 priority 128 path cost 2000000
  member: em7 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 10 priority 128 path cost 2000000
  member: em6 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 9 priority 128 path cost 20000
  member: em5 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 6 priority 128 path cost 2000000
  member: em4 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 5 priority 128 path cost 20000
  member: em3 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 4 priority 128 path cost 20000
  member: em2 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 3 priority 128 path cost 20000
  member: em1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 2 priority 128 path cost 20000
  member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 1 priority 128 path cost 20000
```

On second server:

```
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
  ether 02:36:f2:72:8e:00
  inet 10.128.111.2 netmask 0xffff0000 broadcast 10.128.255.255
  inet 172.25.1.2 netmask 0xffffff00 broadcast 172.25.1.255
  inet 172.25.2.2 netmask 0xffffff00 broadcast 172.25.2.255
  inet 192.168.10.2 netmask 0xffffff00 broadcast 192.168.10.255
  nd6 options=1<PERFORMNUD>
  id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
  maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
  root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
  member: em9 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 12 priority 128 path cost 2000000
  member: em8 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 11 priority 128 path cost 2000000
  member: em7 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 10 priority 128 path cost 2000000
  member: em6 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 9 priority 128 path cost 2000000
  member: em5 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 6 priority 128 path cost 2000000
  member: em4 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 5 priority 128 path cost 2000000
  member: em3 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 4 priority 128 path cost 2000000
  member: em2 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 3 priority 128 path cost 2000000
  member: em1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 2 priority 128 path cost 2000000
  member: em0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
  ifmaxaddr 0 port 1 priority 128 path cost 2000000
```

If I take a port out of the bridge and assign an IP, I can ping the bridged interface of the other computer. If both ports are bridged, nothing goes through.


----------



## John Delano (Jan 24, 2016)

Through more and more checking I have discovered that the bridge MAC on BOTH servers is the same. I can change it, `ifconfig` shows the new MAC, but connected devices show the original MAC that is duplicated.

Any ideas?


----------



## John Delano (Jan 24, 2016)

John Delano said:


> Through more and more checking I have discovered that the bridge MAC on BOTH servers is the same. I can change it, `ifconfig` shows the new MAC, but connected devices show the original MAC that is duplicated.
> 
> Any ideas?


Got it solved! Thanks everyone for all your help and suggestions. There was so much information shared I had trouble sorting through all the excellent suggestions and ideas.


----------

