Picture alt text: Screenshot of OpenWRT running on my home router, displaying one of the generated graphs showing active network connections.
Routers and router administration. They're not just for Cisco or Juniper, or for a corporate networking team!
Linux... on my Router?
Like in my previous eReader post, you might be surprised to know that nearly every consumer router that's on the market is running some form of Linux under the hood. While it may have the kernel, some local utilities like busybox and a dropbear listener for ssh, for the most part these are not always user accessible, and system functions will be handled via the router's web interface. If you're feeling adventerous and have a supported router and a desire to take control over it, you can do so with a third party embedded Linux distribution like OpenWRT and LibreCMC.
What's OpenWRT and LibreCMC?
OpenWRT is a full replacement firmware for routers, supporting ARM, MIPS, and x86 architectures. What that means is while it's meant to be a distro just for embedded devices used as routers, it can be run as a main OS on personal computers. It has its roots in Linksys being forced to release code modifications it made on their WRT54G line of routers, thanks to some members of the Linux Kernel Mailing List discovering that the company was violating the GPL.
It adds advantages like a full package manager allowing you to install any applications you can think that you might want on your router, and since it's running a full embedded Linux environment you can customize it like any computer you own. In college I had an OpenWRT router I kept in my dorm room which I used as a makeshift VPN to connect back to my dorm network when at home, as well as have the router run an IRC client (weechat) that I'd connect to wherever on campus. Take a look at OpenWRT's available packages to get an idea of what you can do.
LibreCMC is a fork of a fork of OpenWRT, designed to not have any unfree software blobs running in its firmware and to exclude the ability of running any nonfree software from running on the platform. You can expect the same features more or less as OpenWRT, along with knowing you don't have any hidden proprietary code running on your router, similar to the "Respects Your Freedom" approved Linux distributions, however as it's a smaller team handling this and due to this there's not as many supported devices. Other distributions like DD-WRT and Tomato also can also trace their roots to the Linksys WRT54G's release of GPL code, but these pieces of software are not entirely free software, closer to what you'd get with a vendor's pre-baked router firmware.
One fun example of OpenWRT being more than just for routers was the Ben NanoNote , one of the first fully open hardware computers. While based on OpenWRT, it featured a full desktop environment (LXDE) and applications you'd typically find on a Linux desktop. Hard to find now, but when I was first getting into Linux this was one thing I always wanted to snag for myself.
What about PFSense and OPNSense?
These are also good, but they run BSD and not Linux , so it's clearly inferior 😉
These are also free software routing distributions, however they do not target embedded devices like OpenWRT and instead (mostly) relies on you recycling an old desktop to turn into a router. Recycling is good, but so is using a lower powered router you may already have in your home!
I realized I should've titled this "It's already the Year of ..." but I missed it when I hit post. Whoops!