Mittels NAT (Network Address Translation) können durch eine Maskierung der internen IP-Adressen private Netze (z.B. 192.168.1.0/24) mit öffentlichen gekoppelt werden.
Es gibt zwei Arten von NAT:
Source-NAT (SNAT):
Hier wird die Quell-Adresse eines Paketes manipuliert. SNAT findet nach dem Routing statt. Masquerading ist ein spezieller Fall von SNAT.
Destination-NAT (DNAT):
Hier wird die Zieladresse eines Paketes manipuliert. Es findet vor dem Routing statt. Ein Beispiel fuer DNAT ist Port-Forwarding.
NAT wird nicht in der Filtertabelle sondern in einer eigenen Tabelle verwaltet. In dieser NAT-Tabelle sind standardmäßig die Ketten POSTROUTING, PREROUTING und OUTPUT aufgeführt.
Der Zugriff auf die NAT-Tabelle erfolgt mit der Option -t nat, die Auswahl der Filtertabelle wie gewoht mit -A. Eine Auflistung der iptables-Optionen wurde bereits an dieser Stelle gegeben.
Beispiel:
ankommende Verbindungen an der ppp0-Schnittstelle verwerfen:
Maskiere ppp0
root@linux # iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
|
Verbiete Verbindungen von außen
root@linux # iptables -A INPUT -i ppp0 -m state --state NEW,INVALID -j DROP
root@linux # iptables -A FORWARD -i ppp0 0 -m state --state NEW,INVALID -j DROP
|
IP-Forwarding aktivieren
root@linux # echo 1 > /proc/sys/net/ipv4/ip_forward
|
|