Dienstag, 5. Juni 2007

Masquerading ist veraltet

Wer wie ich mit Kernel 1.0 groß geworden ist, der hat mehrere Änderungen des Linux-Firewallcodes mitgemacht. Der letzte Stand war bei mir, dass man Masquerading über

iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

einrichtet. Das ist natürlich immer noch so, aber wenn man eine statische IP-Adresse hat, dann wird eine andere Vorgehensweise empfohlen. Insbesondere wenn man mit virtuellen IP-Adressen arbeitet, also mehrere Adresse auf einem Interface definiert hat und man nicht die Haupt-IP-Adresse verwenden will, dann muss man statt MASQUERADE das Target SAME verwenden:

ifconfig eth0:0 192.168.0.1
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.0.1

und schon erhalten alle maskierten Pakete die IP-Adresse des virtuellen Interfaces.

Keine Kommentare: