Iptables dnat vissza ugyanarra a halora mint a kliens

Fórumok

Iptables dnat vissza ugyanarra a halora mint a kliens

Hozzászólások

HI all!

Futott mar bele valaki olyanba, hogy a gw is egy debian iptablessel illetve a proxy is es transparent-en kene megoldani a webes kapcsolatok atiranyitasat a proxyra.

A gond a kovetkezo. Van ket halozati tartomany. A proxynak van mindkettobe ethernet kartyaja olyan ipvel ami az adott halozatba illeszkedik.

Hogy kell ilyenkor iptablesnek megmondani a gw-en , hogy ha a user a net fele indul a 80-as tcp portra akkor azt tegye vissza a halon levo proxy 3128-as portjara.

Ha a gw-en lenne a proxy akkor tudom, hogy redirect, viszont igy dnat-nak kell lennie miel masik ip-t es masik portot is meg kell adni.

A problema csak az, hogy a kliens igy nem hajlando menni. Ha a kliensen beallitom direktbe a proxyt akkor kiraly, de ha iptablessel manipulalok akkor nem.

Gyakorlatilag igy nez ki az eset:

kliens --- proxy --- GW --- Net
x.x.x.10 --- x.x.x.2 --- x.x.x.1 --- 0.0.0.0

A gw-en:
iptables -t nat -A PREROUTING -p tcp -s x.x.x.10 -d 0.0.0.0/0 --dport 80 -j DNAT --to-destination x.x.x.2:3128

Legalabbis ezzel probalkoztam es semmi.
Tcpdump mutatja, hogy a kliens eljut a proxyhoz es a proxy is valaszol neki de nincs olyan forgalom a ketto kozott mint mikor direktbe allitom be a proxyt a kliensnel, igy nem is jelenik meg a kert weblap.

Otlet?

[quote:ea78d6afb6="Bojtosarpad"]HI all!

Futott mar bele valaki olyanba, hogy a gw is egy debian iptablessel illetve a proxy is es transparent-en kene megoldani a webes kapcsolatok atiranyitasat a proxyra.

A gond a kovetkezo. Van ket halozati tartomany. A proxynak van mindkettobe ethernet kartyaja olyan ipvel ami az adott halozatba illeszkedik.

Hogy kell ilyenkor iptablesnek megmondani a gw-en , hogy ha a user a net fele indul a 80-as tcp portra akkor azt tegye vissza a halon levo proxy 3128-as portjara.

Ha a gw-en lenne a proxy akkor tudom, hogy redirect, viszont igy dnat-nak kell lennie miel masik ip-t es masik portot is meg kell adni.

A problema csak az, hogy a kliens igy nem hajlando menni. Ha a kliensen beallitom direktbe a proxyt akkor kiraly, de ha iptablessel manipulalok akkor nem.

Gyakorlatilag igy nez ki az eset:

kliens --- proxy --- GW --- Net
x.x.x.10 --- x.x.x.2 --- x.x.x.1 --- 0.0.0.0

A gw-en:
iptables -t nat -p tcp -s x.x.x.10 -d 0.0.0.0/0 --dport 80 -j DNAT --to-destination x.x.x.2:3128

Legalabbis ezzel probalkoztam es semmi.
Tcpdump mutatja, hogy a kliens eljut a proxyhoz es a proxy is valaszol neki de nincs olyan forgalom a ketto kozott mint mikor direktbe allitom be a proxyt a kliensnel, igy nem is jelenik meg a kert weblap.

Otlet?

Próbáld ki ezt .

A gw-en:
iptables -t nat -p tcp -s x.x.x.10 -d ! proxy --dport 80 -j DNAT --to-destination x.x.x.2:3128

Gondoltam, hogy nem ennyi lesz a gond de azert kiprobaltam. Termeszetesen igy se jo. Igazabol mindegy ha egyaltalan nem irnok -d -t ugyis a --dport a lenyeg.

[quote:c298389a3c="Bojtosarpad"]HI all!

Futott mar bele valaki olyanba, hogy a gw is egy debian iptablessel illetve a proxy is es transparent-en kene megoldani a webes kapcsolatok atiranyitasat a proxyra.

A gond a kovetkezo. Van ket halozati tartomany. A proxynak van mindkettobe ethernet kartyaja olyan ipvel ami az adott halozatba illeszkedik.

Hogy kell ilyenkor iptablesnek megmondani a gw-en , hogy ha a user a net fele indul a 80-as tcp portra akkor azt tegye vissza a halon levo proxy 3128-as portjara.

Ha a gw-en lenne a proxy akkor tudom, hogy redirect, viszont igy dnat-nak kell lennie miel masik ip-t es masik portot is meg kell adni.

A problema csak az, hogy a kliens igy nem hajlando menni. Ha a kliensen beallitom direktbe a proxyt akkor kiraly, de ha iptablessel manipulalok akkor nem.

Gyakorlatilag igy nez ki az eset:

kliens --- proxy --- GW --- Net
x.x.x.10 --- x.x.x.2 --- x.x.x.1 --- 0.0.0.0

A gw-en:
iptables -t nat -A PREROUTING -p tcp -s x.x.x.10 -d 0.0.0.0/0 --dport 80 -j DNAT --to-destination x.x.x.2:3128

Legalabbis ezzel probalkoztam es semmi.
Tcpdump mutatja, hogy a kliens eljut a proxyhoz es a proxy is valaszol neki de nincs olyan forgalom a ketto kozott mint mikor direktbe allitom be a proxyt a kliensnel, igy nem is jelenik meg a kert weblap.

Otlet?

Javaslom, hogy nézd meg ezt: http://www.netfilter.org/documentation/HOWTO//NAT-HOWTO-6.html

Az oldal közepén a Redirection cím alatt keresgélj.

Tipp: a DNAT miatt eltalal a proxyig, de vissza hogy tud menni a valasz? Lehet itt kellene keresgelni. Gondolok itt arra, hogy a masik gepen meg egy SNAT-ot kellene csinalni, es akkor biztositva lenne a ketiranyu kapcsolat, de most lehet hulyeseget mondtam.

Hulyevagyok, most latom, hogy valaszol, akkor nem ez lesz.

[quote:a66f26818b="gyorffy"][quote:a66f26818b="Bojtosarpad"]HI all!

Futott mar bele valaki olyanba, hogy a gw is egy debian iptablessel illetve a proxy is es transparent-en kene megoldani a webes kapcsolatok atiranyitasat a proxyra.

A gond a kovetkezo. Van ket halozati tartomany. A proxynak van mindkettobe ethernet kartyaja olyan ipvel ami az adott halozatba illeszkedik.

Hogy kell ilyenkor iptablesnek megmondani a gw-en , hogy ha a user a net fele indul a 80-as tcp portra akkor azt tegye vissza a halon levo proxy 3128-as portjara.

Ha a gw-en lenne a proxy akkor tudom, hogy redirect, viszont igy dnat-nak kell lennie miel masik ip-t es masik portot is meg kell adni.

A problema csak az, hogy a kliens igy nem hajlando menni. Ha a kliensen beallitom direktbe a proxyt akkor kiraly, de ha iptablessel manipulalok akkor nem.

Gyakorlatilag igy nez ki az eset:

kliens --- proxy --- GW --- Net
x.x.x.10 --- x.x.x.2 --- x.x.x.1 --- 0.0.0.0

A gw-en:
iptables -t nat -p tcp -s x.x.x.10 -d 0.0.0.0/0 --dport 80 -j DNAT --to-destination x.x.x.2:3128

Legalabbis ezzel probalkoztam es semmi.
Tcpdump mutatja, hogy a kliens eljut a proxyhoz es a proxy is valaszol neki de nincs olyan forgalom a ketto kozott mint mikor direktbe allitom be a proxyt a kliensnel, igy nem is jelenik meg a kert weblap.

Otlet?

Próbáld ki ezt .

A gw-en:
iptables -t nat -p tcp -s x.x.x.10 -d ! proxy --dport 80 -j DNAT --to-destination
x.x.x.2:3128

De ugye nincs SNAT nincs a x.x.x.10-re állítva?

[quote:560b2e6487="Dr_Mac"][quote:560b2e6487="Bojtosarpad"]HI all!

Futott mar bele valaki olyanba, hogy a gw is egy debian iptablessel illetve a proxy is es transparent-en kene megoldani a webes kapcsolatok atiranyitasat a proxyra.

A gond a kovetkezo. Van ket halozati tartomany. A proxynak van mindkettobe ethernet kartyaja olyan ipvel ami az adott halozatba illeszkedik.

Hogy kell ilyenkor iptablesnek megmondani a gw-en , hogy ha a user a net fele indul a 80-as tcp portra akkor azt tegye vissza a halon levo proxy 3128-as portjara.

Ha a gw-en lenne a proxy akkor tudom, hogy redirect, viszont igy dnat-nak kell lennie miel masik ip-t es masik portot is meg kell adni.

A problema csak az, hogy a kliens igy nem hajlando menni. Ha a kliensen beallitom direktbe a proxyt akkor kiraly, de ha iptablessel manipulalok akkor nem.

Gyakorlatilag igy nez ki az eset:

kliens --- proxy --- GW --- Net
x.x.x.10 --- x.x.x.2 --- x.x.x.1 --- 0.0.0.0

A gw-en:
iptables -t nat -A PREROUTING -p tcp -s x.x.x.10 -d 0.0.0.0/0 --dport 80 -j DNAT --to-destination x.x.x.2:3128

Legalabbis ezzel probalkoztam es semmi.
Tcpdump mutatja, hogy a kliens eljut a proxyhoz es a proxy is valaszol neki de nincs olyan forgalom a ketto kozott mint mikor direktbe allitom be a proxyt a kliensnel, igy nem is jelenik meg a kert weblap.

Otlet?

Javaslom, hogy nézd meg ezt: http://www.netfilter.org/documentation/HOWTO//NAT-HOWTO-6.html

Az oldal közepén a Redirection cím alatt keresgélj.

A redirection jo tipp csak kar hogy annak nem lehet masik ip-t adni. tehat csak a lokalis gepen iranyithatod at mashova. (a proxynak a gw-en kene lenni) :(

Legroszabb esetben felveszek egy alias-t a gw egyik interfeszere, ott kap egy masik ip tartomanyt, abba beleteszem a proxyt es kesz. Csak nem akarnam kerigetni a gw-en feleslegesen a netes forgalmat.

Haladok. Igazatok volt SNAT kornyeken.

A forgalom mar megy, es a proxyn keresztul igy:

iptables -t nat -A PREROUTING -p tcp -s x.x.x.10 -d 0.0.0.0/0 --dport 80 -j DNAT --to-destination x.x.x.2:3128
iptables -t nat -A POSTROUTING -p tcp -s x.x.x.10 -d x.x.x.2 --dport 3128 -j SNAT --to x.x.x.1

Ez igy kiraly lenne csak egy bibi van. Borul a statisztikam. A proxynal ugy latszik mintha a gw forgalmazna :(

A baj az az, hogy egy hálózatban van a gateway, a proxy, meg a kliens. Itt nem a fizikai hálózat a gond, hanem az ip cím tartomány. Ha a proxyt átrakod másik hálózatba (ip cím szerint), és proxy<-->kliens adatforgalom teljes egészében a gatewayen megy át, akkor megoldódik a problémád: nem kell snat.

Igen Panther ez teljes mertekben igy van.

Viszont aki kuszkodik ilyesmivel es ismeri a HUP-on a keresot az majd ratalal es itt a megoldas. Felteve ha nem kell neki stat. :)

Marad az a megoldas amit nagyjabol vazoltam az ip alias-szal.