Als je een lokaal netwerk hebt wil je waarschijnlijk ook wel met het hele netwerk gebruik kunnen maken van Internet. Als een van de computers in het netwerk een verbinding heeft met je provider, dan kun je die als gateway gebruiken voor de rest. Wat je wilt is een masquerading firewall draaien op die computer. Dan kun je op alle computers in het netwerk gebruiken maken van Internet, maar het lijkt van buitenaf alsof al het verkeer van/naar de computer komt met de Internetverbinding komt/gaat.
Om een firewall te kunnen opzetten moet daar ondersteuning voor in de kernel zijn meegebakken of als module beschikbaar zijn. Heb je dat nog niet, lees dan paragraaf 9.2 over hoe je de kernel opnieuw compileert. Naast ondersteuning in de kernel heb je nog een programma nodig om daadwerkelijk firewall rules te kunnen opgeven. Bij 2.2.x-kernels gebruik je daarvoor ipchains (|http://www.netfilter.org/ipchains/|). Bij 2.4.x-kernels gebruik je iptables (http://www.iptables.org/). Het is echter ook wel mogelijk op ipchains te gebruiken bij 2.4.x-kernels.
Firewall rules om een masquerading firewall op te zetten zijn erg eenvoudig. Daarnaast moet er nog tegen de kernel gezegd worden dat IP-forwarding moet worden geactiveerd (je kunt tegen de kernel praten m.b.v. sommige bestanden onder /proc).
Bij ipchains gebruik je:
# vervang in onderstaande regel eth0 door de device die de Internetverbinding verzorgd ipchains -P forward DENY ipchains -A forward -i eth0 -j MASQ echo 1 > /proc/sys/net/ipv4/ip_forward
Bij iptables gebruik je:
# vervang in onderstaande regel eth0 door de device die de Internetverbinding verzorgd iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE echo 1 > /proc/sys/net/ipv4/ip_forward
Op de plaats van eth0 vul je de device in die bij jou de Internetverbinding verzorgt.
Opmerking: Iptables wordt standaard in /usr/local/sbin geïnstalleerd. Die staat niet standaard in de PATH-variabale. Zet in dat geval /usr/local/sbin voor iptables in bovenstaand commando om het programma te laten vinden.
Het is een goed idee om een bestand /etc/rc.d/firewall.rc aan te maken en daar deze (en eventuele andere) firewall rules in op te nemen. Je kunt dat script aanroepen in /etc/rc.d/rc.local om ze elke keer bij het opstarten uit te laten voeren.
Waarschuwing: bovenstaande regels zijn een minimale configuratie die totaal geen veiligheid biedt!