Neduvera v princip iptables + transparentni proxy
d.petr
d.petr na post.cz
Sobota Únor 28 01:53:01 CET 2009
Dobrý večer/den,
narazil jsem na věc, pro kterou nemám vysvětlení. Tvrdí se, že pro
transparentní proxy stačí napsat např.:
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT
--to-port 3128
Ono to podle všeho funguje (když na portu čeká proxy), ale! Jak to, že
to funguje? Když pošlu požadavek na web z PC vnitřní sítě, je cílem
paketu internetová_adresa:80. Po průchodu uvedeným pravidlem by (podle
mne) měla být cílem internetová_adresa:3128. Kdybych chtěl změnit i
cílovou adresu, musel bych to do pravidla připsat. Jak je tedy možné, že
paket s cílovou adresou "internetová_adresa" skončí uvnitř routeru v
jakémsi programu, třeba squid?? Znamená to snad, že při chybějící adrese
ji dnat vždy mění na localhost? To je přeci blbost, tak to není. Vždyť
nat mění pakety co nejméně (jsem se kdysi někde dočetl).
Dokážete mi to, prosím, někdo vysvětlit tak, abych uvěřil a neměl
pochybnosti? :-)
Děkuji
Petr
Další informace o konferenci Linux