Most home/office routers/firewalls that people use have pretty pathetic hardware specs behind them. On the low end they can have as little as a 100mhz processor and 16MB of ram. On the high end they can contain around a 800mhz processor and 256MB of ram. I’m guessing you have a spare computer laying around with better specs than that. Also many routers/firewalls have poor interfaces, outdated software, security vulnerabilities, and are lacking all the features you want. Well, I’m going to change all that for you.
The pfSense® project is a free, open source customized distribution of FreeBSD specifically tailored for use as a firewall and router that is entirely managed via web interface. In addition to being a powerful, flexible firewalling and routing platform, it includes a long list of related features and a package system allowing further expandability without adding bloat and potential security vulnerabilities to the base distribution. The pfSense project has become a fairly popular project with more than 1 million downloads since its inception, and proven in countless installations ranging from small home networks protecting a single computer to large corporations, universities and other organizations protecting thousands of network devices.
You will need a computer that has 2 ethernet ports to make this work. Basically an Input that will connect to your Modem and an Output that will either connect to a switch/hub or your computer. I suggest buying two PCI-E cards listed below if your computer can support it. PCI-E is faster, but PCI cards will work too.
Suggested PCI-E Network Card: http://www.newegg.com/Product/Product.aspx?Item=9SIA24G1XA5402
Suggested PCI Network Card: http://www.newegg.com/Product/Product.aspx?Item=N82E16833106121
PCI-E Card With Two Ports: http://www.newegg.com/Product/Product.aspx?Item=N82E16833106015
Here is the computer hardware PFSense suggests based on what speeds you want to achieve and features you will need.
Once your computer hardware is ready with two ethernet ports, you need to download the ISO from the following link, burn it to a disc, and boot from that disc to install PFSense. https://www.pfsense.org/download/mirror.php?section=downloads
Follow this installation guide to help you install PFSense: https://doc.pfsense.org/index.php/Installing_pfSense#LiveCD_.2F_Hard_Drive
There are numerous software alternatives, but my preference is PFSense with Smoothwall Express being a close second. Check out the links below if you want to see the other router/firewall alternatives besides PFSense. I’ve also heard good things about Sophos and Untangle, but have never personally used them.
Other Networking Advice
Now you are probably wondering how you are going to get wifi working and hook up all of your computers and devices. You are going to want to look into Access Points and Unmanaged Switches.
My network setup looks like the following:
Cable Modem > PFSense Router/Firewal > 16 Port Gigabit Switch > ECB600 Access Point & Desktop Computers