Review: 6 slick open source routers
DD-WRT, Tomato, OpenWRT, M0n0wall, PfSense, and Vyatta suit a wide range of devices and networking needs
M0n0wall and PfSense
Among the other projects here, m0n0wall is closest in spirit to OpenWRT. It's a version of FreeBSD that works as a firewall or router, so it's much closer to a full-blown OS installation than a mere firmware layer.
Supported hardware: M0n0wall runs on embedded hardware systems with at least 64MB of RAM and 16MB of flash storage. It can also be run on commodity x86 PC hardware, and a high degree of compatibility is provided with common PC components thanks to the BSD driver library.
Features: All common router features are supported, including traffic-shaping and QoS tools, as well as features useful on high-end networks such as VLAN tagging and polling. Boot time is fast: 30 seconds tops to a full working system on flash-based hardware. Most useful is the sophisticated Web interface, which includes the ability to upgrade the firmware directly through a browser.
M0n0wall is also the basis for a number of spin-off builds. Most notable among them is PfSense, which is intended for full-blown PC-style systems rather than embedded hardware. If you plan to repurpose a PC as a router, start with pfsense instead of M0n0wall, as you'll have something built directly for PC hardware and you can keep the amount of tinkering to a minimum. Another version, M0n0wall-mod, adds new WAN options such as the ability to configure DHCP and PPTP over a separately enumerated WAN interface.
Limitations: One drawback of M0n0wall is its support for only a small number of wireless chip sets. That said, any 802.11 hardware based on the Atheros chip set should work.
Recommendation: Those repurposing old PC hardware as a firewall or router should check out pfsense. If you're looking to fashion an embedded hardware router into a multipurpose network device, M0n0wall is a good choice.
Based on FreeBSD, M0n0wall and spin-off PfSense (setup screen shown) are designed for both embedded hardware and full-blown x86 boxes.