Home

 

 

NAT/masquerading

Erstmal noch etwas allgemeines.

Es gibt bei iptables mehrere Tablellen, die mit iptables -t <tabelle> angesprochen werden und zwar folgende:

nat: für Network Adress Translation bzw masquerading.

mangle: für das analysieren bzw. verändern der Pakete in Echtzeit.

filter(default): für das Filtern der Pakete.

Es gibt nun zwei verschiedene NAT Typen :
Source NAT (SNAT) und Destination NAT (DNAT).

Beim Source NAT wird die Quelladresse des ersten Päckchens verändert. Dies geschieht
post-routing d.h. genau bevor das Paket in die weite Welt hinausgeht.
SNAT wird z.B. bei masquerading verwendet.

Beim DNAT wird die Zieladresse des ersten Pakets geändert, d.h. wo das Paket
hinggeht. Dies geschieht pre-routing bzw. wenn das Paket ankommt.
DNAT wird bei load sharing, port forwarding und für Transparent-Proxy's
verwendet.

Eine ganz einfache Masquerading Regel um das interne Netzwerk ins Internet zu bringen
kann so aussehen :

# Um IP-forwarding im Kernel zu aktivieren
echo 1 > /proc/sys/net/ipv4/ip_forward

# externe Schnittstelle zum Internet ist eth0 /wir maskieren
# alle Pakete(und nur genau die) aus dem 192.168.1.0 Netzwerk
# mit der Netzmaske 255.255.255.0
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE