Bridging mini-HOWTO
Prev |  | Next

# 1. Setup

- Get Bridge Config: BRCFG.tgz

- BRCFG may also be found at: http://coledd.com/networking/bridge

- Enable multiple ethernet devices on your machine by adding this line to your `/etc/lilo.conf`, and re-run lilo:

      append = "ether=0,0,eth1"

  If you have three interfaces on your bridge, use this line instead:

      append = "ether=0,0,eth1 ether=0,0,eth2"

  More interfaces can be found by adding more ether statements. By default a stock Linux kernel probes for a single ethercard, and once one is found the probe ceases. The above append statement tells the kernel to keep probing for more ethernet devices after the first one is found. Alternatively, the boot parameter can be used instead:

      linux ether=0,0,eth1

  Or, with 3 interfaces, use:

      linux ether=0,0,eth1 ether=0,0,eth2

- Recompile the kernel with `BRIDGING` enabled.

- A bridge should not have an IP address. It CAN, but a plain bridge doesn't need one. To remove the IP address from your bridge, go to `/etc/sysconfig/network-scripts/` (for a RedHat system) and copy `ifcfg-lo0` to `ifcfg-eth0` & `ifcfg-eth1`. In these two new files, change the line containing `DEVICE=lo` to `DEVICE=eth0` and `DEVICE=eth1`. Since other distributions may deviate from this, you may need to refer to additional documentation. If there are more than 2 interfaces to this bridge, be sure to make the corresponding configurations to those, as well.

- Reboot so you are running the new kernel with `BRIDGING` in it, and also to make sure that an IP addresses are not bound to the network interfaces.

- Once the system is backed up, put the ethernet cards into promiscuous mode, so they will look at every packet that passes by its interface:

      ifconfig eth0 promisc ; ifconfig eth1 promisc

  All interfaces which are connected to network segments to be bridged are to be put into promiscuous mode.

- Turn bridging ON using the brcfg program:

      brcfg -ena

- Verify that there is different traffic on each interface:

      tcpdump -i eth0     (in one window)
      tcpdump -i eth1     (in another window)

- Run a sniffer or tcpdump on another machine to verify the bridge is separating the segment correctly.

Prev | Home | Next
Bridging mini-HOWTO |  | Common Problems