Well, on my cable modem, I use to use a Linksys cable/dsl router that was also a firewall. It worked great and was really easy to setup. I am not sure of any particular other but know they are out there.
Software wise, yeah you can use or configure Linux but there is also Smoothwall, goto
http://www.smoothwall.org. I thought it had some great looking features as it is almost its own operating system to turn any old or unused PC into a firewall.