[linux] Re: Ako zabranit zahlteniu DSL routra

Peter Surda shurdeek na routehat.org
Úterý Leden 18 19:14:14 CET 2005


On Tue, Jan 18, 2005 at 10:44:35AM +0100, Matus UHLAR - fantomas wrote:
> > Da sa to spravit 2mi sposobmi. Cez NAT alebo redirect. Ja som myslel ten
> > redirect. Ked to spravis cez NAT, tak proxy nebude vediet, ze ma fungovat ako
> > transparentny, co moze v istych pripadoch sposobit problemy.
> coby nie. len to proxy serveru musis povedat. Btw povedal by som ze ide o
> prave ten typ problemov o ktorych tu cely cas hovorim :)
Ok, skusim vysvetlit, preco to tak nie je.

Ked spravis redirect (na gateway-i ip route a na proxyne iptables -t nat -J
REDIRECT), tak proxy server (aplikacia) zavola po prijati spojenia na socket
getsockopt s opsnami SOL_IP, SO_ORIGINAL_DST (linux 2.4+, na starsich linuxoch
a na *bsd su na to ine funkcie ale vedia to tiez) a ten vrati povodnu ip
adresu a port, takze proxy vie, ze je to transparentne spojenie.

Ked spravis NAT (na gateway-i iptables -j DNAT), tak sa paketu cielova adresa
prepise a horeuvedeny getsockopt vrati IP/port proxy servra, takze proxy
nevie, ze je to transparentne spojenie. V tom pripade spracuje spojenie v
netransparentnom mode a ciel sa urci podla headeru "Host", ktory sice v HTTP
1.1 povinny je ale v 1.0 nie, aj ked v drvivej vacsine pripadov ho clienti
posielaju. Ale ked neposlu, vzniknu problemy.

Teda pri redirekte na proxy dorazi paket, ktory ma IP adresu + port cielovej
masiny (i.e. webservra). Pri NAT ma ten paket IP adresu + port proxy.

> Ale takyto redirect ma iny hacik: pokial stroj s transparentnym proxacom
> nedokaze routovat, znefunkcnis vsetku ostatnu komunikaciu s danym strojom.
Prave som si to vyskusal (na "proxyne" echo 0 > /proc/net/ipv4/ip_forward) a
na redirect to nemalo ziaden vplyv.

> ICMP redirect totiz na proxy nasmeruje VSETKU komunikaciu pre dany stroj.
To zavisi od toho, ako sa sprava client. Podla mojich skusenosti sa v praxi
presmeruje len to, co explicitne presmerujes cez ip route, ostatne ide po
starom, s vynimkou predtym spomenuteho MSIE.

> Akurat tu mame dalsi hacik: prave dnes som sa docital ze windows update
> verzie 5 chodi na M$ priamo... :)
Okrem toho existuju aplikacie, ktore nastavenie proxy nepodporuju. Podla mna
to nie je chyba v aplikacii, lebo neviem o tom ze by to specifikacia protokolu
HTTP vyzadovala.

> Matus UHLAR - fantomas, uhlar na fantomas.sk ; http://www.fantomas.sk/
S pozdravom,

Peter Surda (Shurdeek) <shurdeek na routehat.org>, ICQ 10236103, +436505122023

-- 
  Hello, this is Bill Gates and I pronounce Monopoly, er, Windows as Windows.




Další informace o konferenci linux