Next Previous Contents

10. DNAT na tu samou síť

Pokud provádíš portforwarding zpět na tu samou síť, musíš zajistit, aby všechny následující pakety i odpovědi na ně procházely NAT počítačem (aby mohly být změněny). Kód NAT nyní (od verze 2.4.0-test6) dovoluje blokovat odchozí ICMP přesměrování, které je vysíláno pokud NAT paket odchází tím samým rozhraním, kterým přišel, a server stále zkouší odpovídat přímo klientovi (který nerozpozná odpověď).

Klasickým případem je když vnitřní počítače zkouší přistoupit k `veřejnému' WWW serveru, na kterém je ale prováděno DNAT z veřejné adresy (1.2.3.4) na vnitřní počítač (192.168.1.1):

# iptables -t nat -A PREROUTING -d 1.2.3.4 \
        -p tcp --dport 80 -j DNAT --to 192.168.1.1

Jeden způsob je rozběhnout DNS server, který zná opravdovou (vnitřní) IP adresu veřejného WWW serveru a směrovat všechny ostatní žádosti na vnější DNS server. To znamená, že na WWW serveru se budou vnitřní IP adresy zobrazovat správně.

Při druhém způsobu NAT počítač mapuje také zdrojovou IP adresu na svoji vlastní pro tato WWW spojení a klame tak server tím, že skrz něj odpovídá. V tomto příkladě předpokládáme, že IP adresa NAT počítače je 192.168.1.250:

# iptables -t nat -A POSTROUTING -d 192.168.1.1 -s 192.168.1.0/24 \
        -p tcp --dport 80 -j SNAT --to 192.168.1.250

Protože PREROUTING pravidlo se zkoumá jako první, pakety budou již určeny pro vnitřní WWW server a můžeme tak určit, které z nich mají vnitřní zdrojovu adresu.


Next Previous Contents