Man kann zwei verschiedene Arten von NAT unterscheiden:
iptables -t nat -A POSTROUTING -j SNAT --to-source 10.0.0.1 -o eth0
Hierdurch werden alle Pakete, die über die Netwerkschnittstelle eth0 geschickt werden sollen, die Quelladresse 10.0.0.1 erhalten.
Das target SNAT benutzt man bei statischen IP Adressen. Hat man eine dynamische IP Adresse, sollte man das target MASQUERADE nutzen.
iptables -t nat -A POSTROUTING -j MASQUERADE -o ppp0
In diesem Beispiel wird der Verkehr über der Schnittstelle ppp0 maskiert. Dies ist der gleiche Vorgang wie beim SNAT Target, mit dem Unterschied, dass die Quelladresse selbst von der Schnittstelle ppp0 ermittelt wird.
Ein Beispiel zu DNAT:
iptables -t nat -A PREROUTING -j DNAT --to-destination 10.0.0.1:8080 -p tcp \ --dport 80 -i eth0
Hier werden alle Pakete, welche von der Netwerkschnittstelle eth0 kommen und für Port 80 bestimmt sind,
zu der Adresse 10.0.0.1:8080 umgeleitet.
Für das DNAT target kann man das spezielle target REDIRECT nutzen.
iptables -t nat -A PREROUTING -j REDIRECT --to-port 8080 \ -i eth0 -p tcp --dport 80
In diesem Beispiel werden alle Webserveranfragen über eth0 zum lokalen Port 8080 umgeleitet.
Klaus Rechert 2004-03-09