Supercharge Your Router with OpenWRT

If you think your wireless router is only good enough to dish out IP addresses to devices around your house, you need to infuse new life into it with OpenWRT.

The OpenWRT project produces custom firmwares for a variety of routers. The cool thing about the OpenWRT firmware is that you can flesh it out by installing apps and services just like you would on a normal desktop Linux distribution.

Using OpenWRT’s package manager, you can install the best open source tools and make your average router do specialized tasks like shape and monitor traffic or act as a VPN server and a lot more.

You can, for example, install server software into the router itself and use it as a web server, or an IRC server, or BitTorrent client. If you were running them on a standard computer, all these functions would involve a router. With OpenWRT, you can roll these functions into the router itself.

You can manage OpenWRT either from the command-line, by logging into it via SSH, or by using its web-based interface from your browser. OpenWRT includes BusyBox which includes a number of common command-line utilities, like the Vi editor. If you haven’t heard of it earlier, BusyBox is designed for embedded devices and has a very small footprint. You can also fully manage OpenWRT from its web-interface dubbed LuCI.

Install OpenWRT

OpenWRT supports a variety of routers. Before you begin, make sure the project produces firmware for your router. Also, the exact steps for installing OpenWRT varies from router to router. The page for your router on OpenWRT’s website will have the exact steps.

openwrt-upgrade

Basically, the process involves replacing or flashing your router’s firmware with the OpenWRT firmware. This is also the riskiest part of the entire operation. Unlike the old days, on most routers today, flashing the firmware is as easy as clicking a button on the Web interface. But still do read the instructions carefully on the OpenWRT website.

Using OpenWRT

Once installed, you can login into the router with telnet. Assuming the router’s at 192.168.3.100:

telnet 192.168.3.100

openwrt-cli

This will log you in without prompting for a password. Now set a password for the root user with:

passwd

After you’ve set a password, OpenWRT will automatically disable telnet and you’ll have to use SSH for subsequent connections:

ssh root@192.168.3.100

You can now fire up a browser and enter the router’s IP address in the address bar. This will take you to OpenWRT’s administration interface.

Take some time to familiarize yourself with this administration interface. From here, you can get a detailed status report and real-time graphs about the traffic on the various wired and wireless interfaces of the router.

You can also schedule tasks and add and remove software. OpenWRT’s package manager will auto-resolve dependencies for packages you want to install. You can also configure some of them from OpenWRT’s web interface as well.

openwrt-add-software

Conclusion

OpenWRT considerably extends any router’s capabilities and can make cheap off-the-shelf routers do things you’d expect from expensive feature-rich enterprise-class routers.

The basic OpenWRT firmware comes with quite a few features that you wouldn’t find on the factory-installed firmware. On top of it, you can further customize the firmware by installing additional packages.

While the process of flashing the OpenWRT firmware isn’t an involved one and the firmware has a nice administration web-interface, OpenWRT isn’t for everyone. You run the risk of rendering your router useless if you aren’t careful. Also, if you don’t intend to use your router to do more than what it was designed for, then there really isn’t any point of using OpenWRT.

Image credit: Sean MacEntee

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox

Mayank Sharma

Mayank Sharma has been writing on Linux for over a decade and is a regular contributor to Linux Format magazine.