m0n0wall is a project aimed at creating a complete, embedded firewall software package that, when used together with an embedded PC, provides all the important features of commercial firewall boxes (including ease of use) at a fraction of the price using free software.
m0n0wall is based on a bare-bones version of FreeBSD, along with a web server, PHP and a few other utilities. The entire system configuration is stored in one single XML text file to keep things transparent. m0n0wall is probably the first UNIX system that has its boot-time configuration done with PHP, rather than the usual shell scripts, and that has the entire system configuration stored in XML format.
Unlike, say, SmoothWall, m0n0wall is not intended for use on an old, redundant PC. It is designed for use on embedded PC, the sort of small, low power devices that are becoming ever more popular and less expensive. m0n0wall turns one of these devices into a fully-fledged Internet firewall, controlled entirely from a web browser. It can be installed on a 16MB (or larger) memory card as well as the more familiar hard disk, CD or USB stick usage.
The feature set includes just about anything you would want to see in a firewall and Internet gateway, including DNS, DHCP, packet filtering (with rules set up in the web browser), traffic shaping, VPN, NAT and wireless support.
Powerful firewall that will protect your home network from intrusion