I hate static IP addressing, but with the crappy interface provided by my router, it was really my only option if I wanted to enable port forwarding. Fortunately my router (Linksys WRT54GL) is supported by dd-wrt, so I thought I’d give it a try. For those who don’t know, dd-wrt is basically a Linux-based firmware that can be installed on a number of routers and provides a much larger set of features, including static DHCP.

Setting up dd-wrt sounds intimidating at first (you’re basically installing Linux on your router), but it’s really straightforward, although there is an element of risk as you can supposedly brick your router if you screw up. I was able upgrade from the stock Linksys firmware to a stable dd-wrt build following the instructions here.

Configuring static DHCP is simple:

Even DNS resolution works (note: homeslice is on a wireless network, hence the latency):
jsaxton@stalin:~$ ping homeslice
PING homeslice.jsaxton.com ( 56(84) bytes of data.
64 bytes from homeslice ( icmp_req=1 ttl=128 time=2.77 ms

dd-wrt provides an insane number of features that are not in the stock Linksys firmware. Here are just a few examples (and this only scratches the surface): You can configure your router as a VPN server, enable traffic prioritization (QoS), create a whitelist of MAC addresses allowed to connect to your wireless network, you can even try to make money by created an ad-supported AnchorFree hotspot. I’d encourage you to try it out if you haven’t already.