You would configure IP Masquerading (NAT) and IP Chains (Filtering) and perhaps some of the following additional services: a Proxy (Squid), Virtual Private Network, DNS, Web services.
RH Internet Gateway http://linuxdoc.org/HOWTO/mini/Home-Network-mini-HOWTO.html
IP Chains http://linuxdoc.org/HOWTO/IPCHAINS-HOWTO.html
IP Masquerading http://linuxdoc.org/HOWTO/IP-Masquerade-HOWTO.html
Firewalls and Proxy http://linuxdoc.org/HOWTO/Firewall-HOWTO.html
Proxy with Squid http://linuxdoc.org/HOWTO/mini/TransparentProxy.html