I’ve been wanting to try out a RouterBoard for a long while. I ran into them many moons ago in Linux Journal and just could never quite justify it until now. RouterBoards are, as the name implies, routers which run a variant of Linux (RouterOS which is also available on its own). You can either build your own router by assembling their semi-modular components or grab an off the shelf solution. You can sort of think of them as a router running DD-WRT, but on steroids. In any case, I finally took the plunge and bought a CRS-109. I’m still tweaking things, but wow it’s a glorious piece of hardware!

At least for my use-case. The 109 has plenty of power to keep up with my U-Verse FTTP 45/5 connection. It would not be the best choice for trying to keep up with something like Google Fiber, though RouterBoard has solutions for those cases. I didn’t need that sort of horsepower, and the 109 was very affordable as a result. The 109 is powered by a MIPS-based Atheros AR9344, which is a platform that is used by other consumer routers. It adds to this a dedicated switch type which is capable of some QoS, VLANs, and other fun things. In my setup, it replaced my Apple Time Capsule and D-Link GigE router and, in doing so, greatly improved by network setup.

RouterOS supports IPv6 in various incarnations. It took a lot of work, but I do have IPv6 via ATT (using their tunnel, but I don’t have to fuss with that) and setup my 109 to handle most of my IPv6 delegation. I have a basic set of iptables rules for both IPv4 and IPv6 along with the switch-based QoS and software QoS running on the WAN port. The rest of the switch ports are all part of my (currently) single segment LAN and also died to the WiFi. Since the 109 has a dedicated switch chip, communicating on the LAN between the ports is at wire speed and doesn’t burden the main CPU of the router. Instead, the CPU is focused on the firewall, QoS, and some other periphery services like DNS, DHCP, NTP, etc.. I also have SNMP setup, which I’m using via Cacti running on my file-server to graph switch port and CPU usage.

I have to say, QoS is glorious. For outbound from the WAN I’m using the ‘default-small’ queue, and for incoming I’m using ‘RED Default’. The latter is a bit more difficult to test at the moment, though so far, so good. Uploads, however, are dramatically improved. I can upload a file via SSH while also using SSH for interactive sessions and hardly notice any impact. Even when I rolled my own QoS directly via iptables I couldn’t get SSH to work under that use case. Likewise, the impact to gaming is minimal when uploading a file as well.

Long story short, I love this box! I’m a believer! As a Linux sysadmin and somewhat of a network admin, I love this thing. It does what I need, gives me plenty of info to make informed decisions, runs well, wasn’t expensive. This thing isn’t for your average consumer that just wants to plug in a magic box and have it work. For me, though? It’s just about perfect!