Total posts : 45366
This is actually easy to do with Linux. Linux has all of the tools to do routing, firewall, etc . The Linux box will need two network cards, one for input from the Internet and the second to output to your network.
Email me off-list and I can help out.
I will type up the procedure and it could go into the library?