To create a filtering firewall, you don't need any special software. Linux will do. At the time of this writing I'm using RedHat 6.1.
The bilt in Linux firewall have changed several times. If you are using an old Linux kernel (1.0.x or older) geta new copy. These older used ipfwadm from http://www.xos.nl/linux/ipfwadm/ and is no longer supported.
If you are using 2.2.13 or newer you will be using ipchaining as developed by http://www.adelaide.net.au/~rustcorp/ipfwchains/ipfwchains.html
If you are using the newer 2.4 kernal there is a new firewall utility with more feachers. I will write about this soon.
If you want to setup a proxy server you will need one of these packages.
Squid is a great package and works with Linux's Transparent Proxy feature. I will be describing how to setup this server.
AT the time of this writing, Network Associates and Trusted Information System's (TIS) , have merged. So keep watching their web sites for more information about changes. Mean while, the Tool Kit can still be had at. http://www.tis.com/research/software/
Trusted Information System put out a collection of programs designed to facilitate firewalling. With this toolkit, you set up one daemon for each service (WWW, telnet ect.) you will be using.