Anzeigen der NAT-Einstellungen:
iptables -v -t nat -L POSTROUTING
Chain POSTROUTING (policy ACCEPT 188 packets, 12K bytes)
pkts bytes target prot opt in out source destination
671 19K MASQUERADE all -- any !lo anywhere anywhere
Lässt man das “-t nat” weg kommt eine Fehlermeldung:
iptables: No chain/target/match by that name
Es ist also bei allen NAT-betreffenden Einstellungen penibel auf das “ -t nat” zu achten…
Im obigen Beispiel werden also alle Pakete (alle Protokolle, alle “In”-Quellen”, die nicht an das Loopback-Interface (Localhost) lo gehen maskiert.
Will man das einschränken, so dass nur noch Pakete die nach außen gehen maskiert werden, muss zum ersten ein neuer, eingeschränkter, Eintrag hinzugefügt werden:
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Resultat:
Chain POSTROUTING (policy ACCEPT 188 packets, 12K bytes)
pkts bytes target prot opt in out source destination
671 19K MASQUERADE all -- any !lo anywhere anywhere
0 0 MASQUERADE all -- any ppp0 anywhere anywhere
Und danach der bisher vorhandene (erste) gelöscht werden:
iptables -t nat -D POSTROUTING 1
Von nun an werden nur noch Pakete, die über das PPP-Interface ins Internet gehen sollen maskiert.
Chain POSTROUTING (policy ACCEPT 188 packets, 12K bytes)
pkts bytes target prot opt in out source destination
0 0 MASQUERADE all -- any ppp0 anywhere anywhere