Hints for using Linux on the Linksys WRT54G(S) router
Which router to choose?
Linksys is offering
small routers with integrated wireless access points. The
cool thing about this devices is that you can install
an open source firmware on it. Of course this open source
firmware is based on Linux.
Especially as routing and modern networking protocols
are concerned Linux is a great advantage. You can setup
very advanced setups with just a small box that
costs only about 80€. Even the limited memory doesn't
stop you, it's really enough. Actually this is the
first hint from my side:
If you see it from the Linux users point of view
the WRT54G offers 4MB of flash and 16MB of RAM
and the WRT54GS offers 8MB of flash and 32MB RAM.
If you just want to dialin and route packets, the small
router is absolutly okay, but if you want to experiment
with more applications you'll like to have more
memory (e.g. for tools like tcpdump).
I won't talk about the first steps of installing Linux on the Linksys router,
this is described in great detail on the pages of the
OpenWRT project.
IPv6
I'd like to talk about my IPv6 setup with this box, I use
a small shell skript for that. I used nearly the same skript on
my Linux box before. I just made small changes
to be more flexible. The script configures a
6to4 address conformant to RFC3068
on the external interface and offers internally
(and additionally on the bridged WLAN) a /64 IPv6 network.
It's actually not a full plug and play solution but
with this script it's fairly simple.
The script generates the file /tmp/radvd.conf. You can
call the radvd application with this file.
I reduced the lifetimes dramatically, this way configuration
changes (like new v4 addresses) will reflect quite fast
in the v6 addresses.
You'll need the following ipkg packages:
kmod_ipv6, radvd, iproute2
The following entries have to be added in /etc/sysctl.conf
to configure the Linksys as IPv6 router:
# Configuration for IPv6 router
net.ipv6.conf.all.autoconf = 0
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.router_solicitations = 0
If you don't load the ipv6 kernel module on bootup sysctl will
complain during bootup that the kernel doesn't know the settings.
.
2k setup-6to4.sh download the shellskript.
I recommend putting the skript into /usr/local/sbin
and call it directly there (e.g. after pppoe dialed in). The
current WAN_IP is read from the settings of ppp0 and the
IPv6 networking is configured. After running the skript you
should call
/usr/sbin/radvd -C /tmp/radvd.conf.
|