pfsense may have a slightly steep initial learning curve (took me a few days of frustration and reinstalls to finally figure out that setting its IP address to the same one as the existing router it was about to replace was a really stupid move), but the tutorials make it a piece of cake to get...