Next Previous Contents

1. Setup

  1. Get ``Bridge Config'':
    ftp://shadow.cabi.net/pub/Linux/BRCFG.tgz
  2. Enable multiple ethernet devices on your machine by adding this 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
            
    
  3. Recompile the kernel with BRIDGING enabled.
  4. 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 2 eth files, change the line containing ``DEVICE=lo'' to ``DEVICE=eth0'' and ``DEVICE=eth1''. Other distributions may deviate from this, do what you need to do! If there are more than 2 interfaces to this bridge, be sure to make the corresponding configurations to those, as well.
  5. 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.
  6. Once the system is back 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.
  7. Turn bridging ON using the brcfg program:
    brcfg -ena
            
    
  8. Verify that there is different traffic on each interface:
    tcpdump -i eth0      (in one window)
    tcpdump -i eth1      (in another window)
            
    
  9. Run a sniffer or tcpdump on another machine to verify the bridge is separating the segment correctly.

Next Previous Contents