After going through a number of different routers (Linksys, Buffalo, D-Link, etc), I came across an open source firmware option for many of the routers I have tested. For a complete list of supported routers, click here. My personal favorite is the Buffalo WHR-G54S. It is inexpensive and very reliable.
Why update the firmware in your router? The primary reason is to get more features out of your router than the factory firmware will allow. This list of features is beyond the scope of this article but basically, if you can imagine it, this firmware will allow it.
I've compiled a few tutorials on some of the more popular features with screen shots on how to set them up as well as a brief description of why you may use this feature.
For complete information on the WW-DRT router firmware and features, visit the DD-WRT home page. Please read the installation instructions very clearly prior to flashing your router. It is not difficult to upgrade your router but it is possible to "brick" your router to the point where all you own is a plastic "brick".
- Using a DynDNS Server: This is one of the best features of the firmware. This allows you to use any number of "Dynamic DNS" servers and have the router update the address. When your router is connected to a cable modem, DSL modem or other similar service, you are typically assigned a dynamic IP address that can and will change over time. This makes it very difficult to connect to your home network from another location. DynDNS allows you to assign an easy to remember hostname to your home network and it will update automatically when your IP changes. I use the no-ip service, though there are many other options - I've used no-ip for years and have never had any problems with it.
- Remote Access: If you are like me and need to help perhaps your parents for friends with computer and network problems, you need access to their router. By combining a DynDNS server with Remote Access, you will have full access (with password) to their router to make any changes.
- Putting your computer in the DMZ: When port mapping is not enough or when you need quick access to a machine in your network from outside the network, this is the easiest solution - though it should be turned off as soon as you are done since this leaves your computer totally exposed to the internet.
- UPnP Universal Plug and Play: Allows machines in your network to automatically register port forwards through your routers firewall. To be used with care (since malicious software can open ports without your knowledge) this can be very useful with newer software that takes advantage of these features, like OS X 10.5 and iChat screen sharing or "Back to your Mac" features.
- Port Forwarding: When UPnP is not enough (or does not work with your software), sometimes you need to set up port forwarding to allow holes through your firewall to get access to specific machines in your network.
- Static Leases: One of my favorite features. DHCP servers in routers will give all your computers, printers, etc a dynamic IP address. This makes network configuration on those devices very easy. However, there are times (like when port forwarding is needed) that you need to know the private IP address of your device and don't want to have to look them up each time. Static leases allow you to set up your computer for a DHCP address but have your router give it the same IP address every time either from your dynamic pool or any IP in your private subnet.
- Wireless Repeater / Repeater Bridge: A great solution for "boosting" a wireless signal. Say you have a router in the basement and the signal is too weak to be reached on the 2nd floor. By putting a wireless repeater in the 1st floor, it can repeat that signal but keep your devices connected to a single router. Another example could be you have a neighbor that has a wireless access point that they will give you access to but the signal is too weak to reach your entire place. Place a DD-WRT router in your house, configure it to connect to your neighbors house (can be used with wireless security as well) and you have Internet access. You can also set it up to serve a different subnet to your house to keep your networks separated.