This software setup is needed on the ethernet bridge computer. According to our Testing grounds.
As of kernel version 2.4.18 there's already support for the Ethernet Bridge
capability built-in. No patches needed so far.
But if we intend to use netfilter capabilities, because we want to run iptables on our new Linux router/fw box, we still need to apply a patch.
Any patches needed can be found and downloaded on the
sourceforge Ethernet Bridge homepage.
root@bridge:~> cd /usr/src/
root@bridge:~> wget -c http://bridge.sourceforge.net/devel/bridge-nf/bridge-nf-0.0.7-against-2.4.18.diff
root@bridge:~> cd /usr/src/linux/
root@bridge:~> patch -p1 -i ../bridge-nf/bridge-nf-0.0.7-against-2.4.18.diff
Supposedly we want netfilter support on our bridge interface and we have already patched the vanillal kernel we may now activate some necessary kernel configuration items. On how to build a private kernel image see the CD-Net-Install-HOWTO, Toolbox. Oh, yeah, it's still in German only. Hm, I have to fix this some time..
Nevertheless, we start by now: In
Code maturity level options
we activate
[*] Prompt for development and/or incomplete code/drivers
and in
Loadable module support
[*] Enable loadable module support
[*] Set version information on all module symbols
[*] Kernel module loader
Ok, so far so good.
Now, we go to
Networking options
and mark
[*] Network packet filtering (replaces ipchains)
[*] Network packet filtering debugging
Furthermore, in
IP: Netfilter Configuration --->
we mark any item we need as module.
Now the long awaited item: activate
<M> 802.1d Ethernet Bridging
as well as
[*] netfilter (firewalling) support
The above entry is available only if we successfully patched our kernel!
Finally, we just need a successful
root@bridge:~> make dep clean bzImage modules modules_install
cycle and we're done.
Don't forget to edit /etc/lilo.conf
and do
root@bridge:~> lilo -t
root@bridge:~> lilo
root@bridge:~> reboot
, though.
Perhaps we might mark our new kernel as the bridge kernel? We
vi
the toplevel Makefile in our kernel sources and edit the head
line called EXTRAVERSION =
.
We may actually set it to, say bridge? ;-)
After the modules_install
we find the fresh modules in
/lib/modules/2.4.18bridge
brctl
Once our kernel has the capabilities needed to perform Ethernet Bridge and netfilter
actions, we prepare the user space tool brctl
. brctl
is the configuration
tool we use to
set up anything to suit our needs.
We download the source tarball, unpack it and change directory into it.
root@bridge:~> wget -c http://bridge.sourceforge.net/bridge-utils/bridge-utils-0.9.5.tar.gz
root@bridge:~> tar xvzf bridge-utils-0.9.5.tar.gz
root@bridge:~> cd bridge-utils-0.9.5
At this time, read the README
and the files in the doc/
subdirectory.
Then do a simple make and copy the resulting brctl/brctl
executable to
/sbin/
.
root@bridge:~> make
root@bridge:~> cp -vi brctl/brctl /sbin/
This is it. Go for
Setup now.