For a while I was buying Linksys WRT-54G routers (you can still get them) and flashing them with the Tomato open source firmware (I like Tomato better than DD-WRT).
Trouble is, the WRT-54G is getting long in the tooth, and I wanted a modern N router with Gigabit ports both for my clients and for myself.
After a LOT of research, this seems to be everyone's favorite DD-WRT compatible router: The Asus RT-N16: http://www.newegg.com/Product/Product.a ... 6833320038
First off it's a very nice router - even with the default firmware. With DD-WRT or Tomato it's even better. It's got external antennas instead of crappy internal ones, and the antennas are standard screw-in types if you wanted to replace them with high-gain or roof mounted antennas.
It has a 1Gbit switch on it, and also has a USB port for a built-in print server.

I've been using the Tomato firmware on my old Linksys WRT-54G routers, but the authors actually stopped supporting it in 2010. Tomato was then forked (with the author's blessing) into about 10 different flavors. Shibby Tomato seems to be the most popular and that's the one I was going to install until I read up on the EasyTomato project: http://www.easytomato.org/
EasyTomato is exactly what it says. It's EASY to install and EASY to administer (although you still have access to the full advanced Tomato control panel if you want it - which is what I prefer to use). If you're a noob, the simpler wizard based control panel allows any non-techie to easily set up the router.
One of the nicest things about EasyTomato is how easy it is to install. It's written to look and act just like a factory firmware update, so there's no complicated update procedure like with DD-WRT. You just log into the router's control panel, perform a firmware update, and browse to the EasyTomato firmware update file, then perform a manual reset to clear the memory. DONE!
