PRESMEROVANIE:
je to specialna forma DNATu, je to ekvivalent DNATU s cielovou adresou vstupneho interfacu:
# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 8080
cim vlastne docielime presmerovanie celeho http trafficu smerom von cez port 80 na nase transparentne proxy (squid), na porte 8080 - squid ale musi byt skonfigurovany ako transparentne proxy.
chceme spojenia prichadzajuce na port 8080 stroja 1.2.3.4 presmerovat na cielovy port 80 stroja 192.168.1.1. V 2.2. kerneloch sme portforwarding robili takto:
#ipmasqadm portfw -a -P tcp -L 1.2.3.4 8080 -R 192.168.1.1 80
v 2.4 urobime toto:
#iptables -A PREROUTING -t nat -p tcp -d 1.2.3.4 --dport 8080 -j DNAT --to 192.168.1.1:80
cim do PREROUTING chainu pridame pravidlo ktore nam vsetky TCP pakety prichadzajuce na 1.2.3.4 --dport 8080 namapovali na 192.168.1.1:80
Ako ste si vsimli iptablom povieme ze maju pouzivat tabulku nat prepinacom -t nat, paket cez nie lezie nasledujucim sposobom
_____ _____
/ \ / \
PREROUTING -->[Routovacie]----------------->POSTROUTING----->
\D-NAT/ [rozhodnutie] \S-NAT/
| ^
| |
| |
| |
| |
| |
| |
--------> Lokalny proces -----
Okrem -t nat mozme pouzit pri NATovani tieto volby:
-s --source a -d --destination -zdrojovu a cielovu adresu paketov ktore chceme NATovat
-i alebo -o -ako vstupny alebo vystupny interface
-p (ako protokol) TCP alebo UDP protokol, hlavne preto aby sme iptablom mohli dat dalsie volby a to --sport a --dport, pricom mozme pouzit bud cisla portov, alebo nazvy z /etc/services