Tiszteletem! Eltartott egy ideig, jopar dologgal meg kellett kuzdeni (idohiannyal fokent), de orommel jelentem, hogy elerheto a Zorp GPL APT repository, benne a kovetkezok: - zorp 3.9.5 - libzorpll 3.9.1.3 - iptables 1.4.13 - linux 2.6.32, kzorpos dolgokkal patchelve! A zorp es libzorpll csomagok nagyjabol megegyeznek azzal, ami Debian unstable-ben van, apro valtoztatasokkal csak (changelogban korrektul dokumentalva). Az iptables szinten unstable alapu, kzorpos patchekkel fuszerezve. A kernel squeeze-bol jon, ottani config + kzorp & kapcsolodo opciokkal. Elerhetoseg: deb http://packages.madhouse-project.org/$DIST $RELEASE zorp deb http://packages.madhouse-project.org/zorp-kernel kernel 2.6 Ahol $DIST debian vagy ubuntu, a $RELEASE pedig squeeze, wheezy vagy unstable, illetve ubuntu eseten lucid, natty, oneiric, precise vagy quantal. Mindket distro eseten elerhetoek a csomagok i386 es amd64 architekturara is. A Release fileok gpg-vel ala vannak irva, a kulcs elerheto itt: http://packages.madhouse-project.org/debian/archive-key.txt A tervek szerint a csomagok kovetni fogjak a Debian unstable-beli parjukat, es minden egyes platformra elerhetove teszem oket, amig az adott platform supportalt. Ha pedig jon ki uj Debian/Ubuntu release, akkor az is bekerul majd a repoba. Igy mindenkihez eljut a friss es ropogos zorp! A kernel resze a dolognak egy kicsit kemenyebb dio, jelenleg csak 2.6.32-es kernelhez van mukodo patchem (de elobb-utobb lesz 3.x-hez is, remelem), igy csak ehhez van jelenleg repo. A kerneles repobol az alabbi kernel imagek erhetoek el: - amd64: linux-image-2.6.32-5+kzorp-amd64 - i386: linux-image-2.6.32-5+kzorp-amd64, linux-image-2.6.32-5+kzorp-486 (linux-headers, es egyeb csomagok is vannak meg ott, akit erdekel, biztosan meg tudja talalni) A csomagokat minimalis tesztelesnek vetettuk ala (aminek mamutreszet Balazs Tibor vegezte, ezer koszonet erte!), es mukodes latszatat keltettek, de konnyen lehet, hogy maradt meg bennuk aprobb-cseprobb bugocska. Az esetleges hibakat erre a listara kernem jelenteni, ha a csomagolasban van, akkor azt relative gyorsan meg tudom oldani. -- |8]
Sziasztok, 1) Annyira nem mukodik jol a kzorp ebben nekem. Sima userpsace proxy-s Service-ket nem indit, csak PFService-ket. A jelenseg az, hogy latszolag a kzorp elnyeli a csomagot logolas nelkul, zorp processt stracelve nem latom, hogy megkapna, netfilter mangle prerouting KZORP target utan nyoma vesz a SYN csomagoknak. Ez a setup amugy mukodik ha az NDimensionDispatchet PFServicet hivogat. Ez a helyet csak ipv4 eseteben van igy, ipv6-nal megamugy nem tortenik semmi (packet loss log nelkul, akar Service, akar PFService), bar lehet, hogy az ipv4-es directed router dest_addr miatt van ez (ipv6->ipv4 atjarhatosag? sima nontransparent listenerrel mukodik). 2) Meg erdekesseg, hogy directedrouter SockAddrInet6 tipusu dest_addr eseteben nem mukodik, 'kzorp -s' is dob egy szep tracet, mert valoszinoleg v4 cimet varna a kzorptol. 3) iptables-save is bugos, egybeirja a KZORP targetet annak parameterevel: "-A POSTROUTING -j KZORP--tproxy-mark 0x80000000/0x80000000" a tesztkonfigom eleg egyszeru: -------- from Zorp.Core import * from Zorp.Proxy import * from Zorp.Plug import * from Zorp.Dispatch import NDimensionDispatcher InetZone("internet", [ "0.0.0.0/0", "::/0", ], inbound_services=["*"], outbound_services=["*"] ) InetZone("internet.end.re", [ "88.151.99.232/32", "2a01:270:91e8:fd:195f:db38:31c9:c9ec/32" ], admin_parent="internet", inbound_services=["*"], outbound_services=["*"] ) InetZone("inside", [ "44.128.156.0/24", "2a01:368:e001:0::/64" ], inbound_services=["*"], outbound_services=["*"] ) def MAIL(): Service( name="inside_IMAP_internet.end.re", router=DirectedRouter(dest_addr=(SockAddrInet('44.128.156.1', 143)), forge_addr=FALSE), proxy_class=PlugProxy, ) PFService( name="PF_inside_IMAP_internet.end.re", router=DirectedRouter(dest_addr=(SockAddrInet('44.128.156.1', 143)), forge_addr=FALSE), ) NDimensionDispatcher( bindto=DBSockAddr( SockAddrInet6( '::1', 50143 ), ZD_PROTO_TCP ), transparent=TRUE, rules=( { 'dst_port' : 143, 'src_zone': ('inside',), #'iface': ('eth0'), #'dst_zone': ('internet.end.re',), 'service': 'PF_inside_IMAP_internet.end.re' } ) ) -------- kzorp bucijaban latszolag rendben vannak a dolgok (felteve ha nem sockaddrinet6 a DR dest_addr-ja): # kzorp -d Dispatcher name='SA(proto=1,addr=AF_INET6(::1:50143))' flags='transparent' proxy_port='50143', num_rules='1' rule_id='1', service='PF_inside_IMAP_internet.end.re' dst_port=[(143, 143)] src_zone=['inside'] # kzorp -s Service name='inside_IMAP_internet.end.re', flags='', type='Service', session_cnt='0' Service name='PF_inside_IMAP_internet.end.re', flags='', type='PFService', session_cnt='1' router_dst='44.128.156.1:143' # kzorp -z Zone unique_name='internet.end.re-#2', visible_name='internet.end.re', admin_parent='internet.end.re', flags '', range '2a01:270::/ffff:ffff::' Zone unique_name='internet.end.re-#1', visible_name='internet.end.re', admin_parent='internet.end.re', flags '', range '88.151.99.232/255.255.255.255' Zone unique_name='internet.end.re', visible_name='internet.end.re', admin_parent='internet', flags '' Inbound service: : '*' Outbound service: : '*' Zone unique_name='internet-#2', visible_name='internet', admin_parent='internet', flags '', range '::/::' Zone unique_name='internet-#1', visible_name='internet', admin_parent='internet', flags '', range '0.0.0.0/0.0.0.0' Zone unique_name='internet', visible_name='internet', admin_parent='None', flags '' Inbound service: : '*' Outbound service: : '*' Zone unique_name='inside-#2', visible_name='inside', admin_parent='inside', flags '', range '2a01:368:e001::/ffff:ffff:ffff:ffff::' Zone unique_name='inside-#1', visible_name='inside', admin_parent='inside', flags '', range '44.128.156.0/255.255.255.0' Zone unique_name='inside', visible_name='inside', admin_parent='None', flags '' Inbound service: : '*' Outbound service: : '*' # dpkg -l | grep -E '(mhp|zorp)' ii firmware-linux-free 2.6.32-45+kzorp1 ii iptables 1.4.13-1.1+mhp1~squeeze ii libzorp3.9 3.9.5-4+mhp3~squeeze ii libzorpll3.9-1 3.9.1.3-1+mhp1~squeeze ii linux-base 2.6.32-45+kzorp1 ii linux-image-2.6.32-5+kzorp-amd64 2.6.32-45+kzorp1 ii python-kzorp 3.9.5-4+mhp3~squeeze ii zorp 3.9.5-4+mhp3~squeeze ii zorp-modules 3.9.5-4+mhp3~squeeze udv, Endre 2012/6/8 Gergely Nagy <algernon@balabit.hu>:
Tiszteletem!
Eltartott egy ideig, jopar dologgal meg kellett kuzdeni (idohiannyal fokent), de orommel jelentem, hogy elerheto a Zorp GPL APT repository, benne a kovetkezok:
- zorp 3.9.5 - libzorpll 3.9.1.3 - iptables 1.4.13
- linux 2.6.32, kzorpos dolgokkal patchelve!
A zorp es libzorpll csomagok nagyjabol megegyeznek azzal, ami Debian unstable-ben van, apro valtoztatasokkal csak (changelogban korrektul dokumentalva). Az iptables szinten unstable alapu, kzorpos patchekkel fuszerezve. A kernel squeeze-bol jon, ottani config + kzorp & kapcsolodo opciokkal.
Elerhetoseg:
deb http://packages.madhouse-project.org/$DIST $RELEASE zorp deb http://packages.madhouse-project.org/zorp-kernel kernel 2.6
Ahol $DIST debian vagy ubuntu, a $RELEASE pedig squeeze, wheezy vagy unstable, illetve ubuntu eseten lucid, natty, oneiric, precise vagy quantal. Mindket distro eseten elerhetoek a csomagok i386 es amd64 architekturara is.
A Release fileok gpg-vel ala vannak irva, a kulcs elerheto itt: http://packages.madhouse-project.org/debian/archive-key.txt
A tervek szerint a csomagok kovetni fogjak a Debian unstable-beli parjukat, es minden egyes platformra elerhetove teszem oket, amig az adott platform supportalt. Ha pedig jon ki uj Debian/Ubuntu release, akkor az is bekerul majd a repoba. Igy mindenkihez eljut a friss es ropogos zorp!
A kernel resze a dolognak egy kicsit kemenyebb dio, jelenleg csak 2.6.32-es kernelhez van mukodo patchem (de elobb-utobb lesz 3.x-hez is, remelem), igy csak ehhez van jelenleg repo. A kerneles repobol az alabbi kernel imagek erhetoek el:
- amd64: linux-image-2.6.32-5+kzorp-amd64 - i386: linux-image-2.6.32-5+kzorp-amd64, linux-image-2.6.32-5+kzorp-486
(linux-headers, es egyeb csomagok is vannak meg ott, akit erdekel, biztosan meg tudja talalni)
A csomagokat minimalis tesztelesnek vetettuk ala (aminek mamutreszet Balazs Tibor vegezte, ezer koszonet erte!), es mukodes latszatat keltettek, de konnyen lehet, hogy maradt meg bennuk aprobb-cseprobb bugocska.
Az esetleges hibakat erre a listara kernem jelenteni, ha a csomagolasban van, akkor azt relative gyorsan meg tudom oldani.
-- |8]
_______________________________________________ zorp-hu mailing list zorp-hu@lists.balabit.hu https://lists.balabit.hu/mailman/listinfo/zorp-hu
Meg annyi, hogy a zone lookup ipv6 eseten nem tunik jonak: # kzorp -e tcp 2a01:368:e001:0:12c5:86ff:feba:84a8 6666 2a01:270:91e8:fd:195f:db38:31c9:c9ec 143 eth0 evaluating 2a01:368:e001:0:12c5:86ff:feba:84a8:6666 -> 2a01:270:91e8:fd:195f:db38:31c9:c9ec:143 on eth0 Client zone: internet Server zone: internet Service: not found Dispatcher: not found ipv4 (ez igy mukodik is kiprobalva telnettel): # kzorp -e tcp 44.128.156.173 6666 88.151.99.232 143 eth0 evaluating 44.128.156.173:6666 -> 88.151.99.232:143 on eth0 Client zone: inside Server zone: internet.end.re Service: PF_inside_IMAP_internet.end.re Dispatcher: SA(proto=1,addr=AF_INET6(::1:50143)) udv, Endre -- 2012/6/9 Endre Szabo <zorp-hu@end.re>:
Sziasztok,
1) Annyira nem mukodik jol a kzorp ebben nekem. Sima userpsace proxy-s Service-ket nem indit, csak PFService-ket. A jelenseg az, hogy latszolag a kzorp elnyeli a csomagot logolas nelkul, zorp processt stracelve nem latom, hogy megkapna, netfilter mangle prerouting KZORP target utan nyoma vesz a SYN csomagoknak. Ez a setup amugy mukodik ha az NDimensionDispatchet PFServicet hivogat. Ez a helyet csak ipv4 eseteben van igy, ipv6-nal megamugy nem tortenik semmi (packet loss log nelkul, akar Service, akar PFService), bar lehet, hogy az ipv4-es directed router dest_addr miatt van ez (ipv6->ipv4 atjarhatosag? sima nontransparent listenerrel mukodik).
2) Meg erdekesseg, hogy directedrouter SockAddrInet6 tipusu dest_addr eseteben nem mukodik, 'kzorp -s' is dob egy szep tracet, mert valoszinoleg v4 cimet varna a kzorptol.
3) iptables-save is bugos, egybeirja a KZORP targetet annak parameterevel:
"-A POSTROUTING -j KZORP--tproxy-mark 0x80000000/0x80000000" ...
Hello! 2012-06-09 08:44 keltezéssel, Endre Szabo írta:
Meg annyi, hogy a zone lookup ipv6 eseten nem tunik jonak:
IPv6-hoz milyen netfilter szabályaid vannak? Megpróbálom még ma vagy holnap tesztelni az IPv6-os működést. Arra szeretném felhívni a figyelmedet, hogy a policy.py valahogy így kellene, hogy kinézzen: ************************************************************************** from Zorp.Core import * from Zorp.Plug import * from Zorp.Http import * from Zorp.Proxy import * Zone(name = "internet", addrs = [ "0.0.0.0/0", "::/0", ], inbound_services=["*"], outbound_services=["*"] ) def zorp_instance(): Service(name="http", router=DirectedRouter(dest_addr=(SockAddrInet('192.168.5.254', 80)), forge_addr=FALSE), proxy_class=HttpProxy, ) Rule(service = 'http', dst_port = 80, src_zone = ('internet',), ) ************************************************************************** c
Hi, Koszonom, ez a Rule class onmagaban mukodik, proxy indul. Bar igy nem tudom, hogy hogy lehet majd nem-transparent 'dispatcher'-t hasznalni, meg, hogy az NDimensional konfig miert hibadzik egyaltalan. IPv6 is megjavult kozben, az gond annyi volt, hogy az RPDB ruleok nem volt ipv6-hoz felhuzva. Ilyen szep log keletkezik a v6->v4 szabalyrol: zorp/MAIL core.session(3): (svc/inside_IMAP_internet.end.re:3): Starting proxy instance; client_fd='9', client_address='AF_INET6(2a01:368:e001:0:12c5:86ff:feba:84a8:49630)', client_zone='Zone(inside)', client_local='AF_INET6(2a01:270:91e8:fd:195f:db38:31c9:c9ec:143)', client_protocol='TCP' zorp/MAIL core.session(3): (svc/inside_IMAP_internet.end.re:3/plug): Server connection established; server_fd='12', server_address='AF_INET(44.128.156.1:143)', server_zone='Zone(inside)', server_local='AF_INET(44.128.156.252:41230)', server_protocol='TCP' Itt ugye eleg zavaro lehet, hogy az AF_INET6 utolso szama a : utan a port, es nem az utolso IPv6-cim mezo. :) Koszonom a segitseget, udv, Endre 2012/6/9 Balázs Tibor <covek@covek.hu>:
Hello!
2012-06-09 08:44 keltezéssel, Endre Szabo írta:
Meg annyi, hogy a zone lookup ipv6 eseten nem tunik jonak:
IPv6-hoz milyen netfilter szabályaid vannak?
Megpróbálom még ma vagy holnap tesztelni az IPv6-os működést.
Arra szeretném felhívni a figyelmedet, hogy a policy.py valahogy így kellene, hogy kinézzen:
************************************************************************** from Zorp.Core import * from Zorp.Plug import * from Zorp.Http import * from Zorp.Proxy import *
Zone(name = "internet", addrs = [ "0.0.0.0/0", "::/0", ], inbound_services=["*"], outbound_services=["*"] )
def zorp_instance(): Service(name="http", router=DirectedRouter(dest_addr=(SockAddrInet('192.168.5.254', 80)), forge_addr=FALSE), proxy_class=HttpProxy, ) Rule(service = 'http', dst_port = 80, src_zone = ('internet',), )
**************************************************************************
c _______________________________________________ zorp-hu mailing list zorp-hu@lists.balabit.hu https://lists.balabit.hu/mailman/listinfo/zorp-hu
2012-06-09 18:19 keltezéssel, Endre Szabo írta: Hi,
Koszonom, ez a Rule class onmagaban mukodik, proxy indul. Bar igy nem tudom, hogy hogy lehet majd nem-transparent 'dispatcher'-t hasznalni,
Roppant egyszerű: nem kell a nem tarsparent-el sokat foglalkoznod. Megadod, hogy mi a dst port definiálsz saját osztályt, valahogy így: ************************************************************************** class FtpProxyNonTransparent(FtpProxy): def config(self): FtpProxy.config(self) self.transparent_mode=FALSE def zorp_instance(): Service(name="service_ftp_nontransparent_inband", proxy_class=FtpProxyNonTransparent, router=InbandRouter(forge_port=TRUE) ) Rule(service='service_ftp_nontransparent_inband', dst_port=50021, dst_subnet=('172.16.10.254', ), src_zone=('clients', ) ) **************************************************************************
meg, hogy az NDimensional konfig miert hibadzik egyaltalan.
Ezt passzokom inkább.
IPv6 is megjavult kozben, az gond annyi volt, hogy az RPDB ruleok nem volt ipv6-hoz felhuzva.
No ügye. :)
Ilyen szep log keletkezik a v6->v4 szabalyrol:
zorp/MAIL core.session(3): (svc/inside_IMAP_internet.end.re:3): Starting proxy instance; client_fd='9', client_address='AF_INET6(2a01:368:e001:0:12c5:86ff:feba:84a8:49630)', client_zone='Zone(inside)', client_local='AF_INET6(2a01:270:91e8:fd:195f:db38:31c9:c9ec:143)', client_protocol='TCP' zorp/MAIL core.session(3): (svc/inside_IMAP_internet.end.re:3/plug): Server connection established; server_fd='12', server_address='AF_INET(44.128.156.1:143)', server_zone='Zone(inside)', server_local='AF_INET(44.128.156.252:41230)', server_protocol='TCP'
:)
Itt ugye eleg zavaro lehet, hogy az AF_INET6 utolso szama a : utan a port, es nem az utolso IPv6-cim mezo. :)
Hát a portot jelenleg : választja el a címtől, még ha IPv6-ról is van szó!
Koszonom a segitseget,
Igazán nincs mit. Örülök, hogy sikerült rendberakni!
2012/6/9 Balázs Tibor <covek@covek.hu>:
Hello!
2012-06-09 08:44 keltezéssel, Endre Szabo írta:
Meg annyi, hogy a zone lookup ipv6 eseten nem tunik jonak:
IPv6-hoz milyen netfilter szabályaid vannak?
Megpróbálom még ma vagy holnap tesztelni az IPv6-os működést.
Arra szeretném felhívni a figyelmedet, hogy a policy.py valahogy így kellene, hogy kinézzen:
************************************************************************** from Zorp.Core import * from Zorp.Plug import * from Zorp.Http import * from Zorp.Proxy import *
Zone(name = "internet", addrs = [ "0.0.0.0/0", "::/0", ], inbound_services=["*"], outbound_services=["*"] )
def zorp_instance(): Service(name="http", router=DirectedRouter(dest_addr=(SockAddrInet('192.168.5.254', 80)), forge_addr=FALSE), proxy_class=HttpProxy, ) Rule(service = 'http', dst_port = 80, src_zone = ('internet',), )
**************************************************************************
c
Endre Szabo <zorp-hu@end.re> writes:
Sziasztok,
1) Annyira nem mukodik jol a kzorp ebben nekem. Sima userpsace proxy-s Service-ket nem indit, csak PFService-ket. A jelenseg az, hogy latszolag a kzorp elnyeli a csomagot logolas nelkul, zorp processt stracelve nem latom, hogy megkapna, netfilter mangle prerouting KZORP target utan nyoma vesz a SYN csomagoknak. Ez a setup amugy mukodik ha az NDimensionDispatchet PFServicet hivogat. Ez a helyet csak ipv4 eseteben van igy, ipv6-nal megamugy nem tortenik semmi (packet loss log nelkul, akar Service, akar PFService), bar lehet, hogy az ipv4-es directed router dest_addr miatt van ez (ipv6->ipv4 atjarhatosag? sima nontransparent listenerrel mukodik).
Erre a kettore hirtelen nincs otletem, bar lehet, hogy az iptables patchem rontotta el ezt is, legalabbis egy reszet. Megprobalok utanajarni!
2) Meg erdekesseg, hogy directedrouter SockAddrInet6 tipusu dest_addr eseteben nem mukodik, 'kzorp -s' is dob egy szep tracet, mert valoszinoleg v4 cimet varna a kzorptol.
Na, ez legalabb biztos nem az en portolasom hibaja! De sajnos otletem sincs, miert nem jo, szoval utanajaras jon ezesetben is.
3) iptables-save is bugos, egybeirja a KZORP targetet annak parameterevel:
"-A POSTROUTING -j KZORP--tproxy-mark 0x80000000/0x80000000"
Ezt relative egyszeruen tudom javitani, azt hiszem, legalabbis sejtem, hogy melyik patch portolasanal rontottam el. Koszonom, hamarosan javitom! -- |8]
2012/6/9 Gergely Nagy <algernon@balabit.hu>:
Erre a kettore hirtelen nincs otletem, bar lehet, hogy az iptables patchem rontotta el ezt is, legalabbis egy reszet. Megprobalok utanajarni!
Hat en koszonom a faradozast. :) Szolj ha tudok segiteni valamiben. udv, Endre
Gergely Nagy <algernon@balabit.hu> writes:
3) iptables-save is bugos, egybeirja a KZORP targetet annak parameterevel:
"-A POSTROUTING -j KZORP--tproxy-mark 0x80000000/0x80000000"
Ezt relative egyszeruen tudom javitani, azt hiszem, legalabbis sejtem, hogy melyik patch portolasanal rontottam el. Koszonom, hamarosan javitom!
Javitas (elvileg) megvan, most buildelodik. ~1 ora mulva a repoban lesz az update, iptables 1.4.14-2+mhp1 verzioval. Gyors teszt alapjan jo lett a javitas, de inkabb nem kiabalnam el magam. A gond az volt, hogy az eredeti iptables patch amit kaptam, az squeeze-ideji iptableshoz keszult, azt portoltam 1.4.13-ra, es idokozben upstream megvaltoztatta, hogyan mukodik a save, es erre a portolasnal nem figyeltem, igy sikerult egybeirnia a vegen a savenek. Ezt most egy kisse barbar modon javitottam, --tproxy-mark ele (es meg par egyeb dolog ele, amit behoz a patch) betesz egy szokozt. Alkalmasint majd az egesz patchet korrektul portolni kene az uj iptables-os megoldasokra, hogy ne csak mukodjon, de szep is legyen. De ezt az oromet meghagyom a fejlesztoknek azt hiszem ;) (Egyebkent ha valakit erdekel, deb-src mukodik, iptables csomagban debian/patches/kzorp.diff a kerdeses, szepitendo patch) -- |8]
Kiváló, köszönjük! -- endre 2012/6/15 Gergely Nagy <algernon@balabit.hu>:
Gergely Nagy <algernon@balabit.hu> writes:
3) iptables-save is bugos, egybeirja a KZORP targetet annak parameterevel:
"-A POSTROUTING -j KZORP--tproxy-mark 0x80000000/0x80000000"
Ezt relative egyszeruen tudom javitani, azt hiszem, legalabbis sejtem, hogy melyik patch portolasanal rontottam el. Koszonom, hamarosan javitom!
Javitas (elvileg) megvan, most buildelodik. ~1 ora mulva a repoban lesz az update, iptables 1.4.14-2+mhp1 verzioval. Gyors teszt alapjan jo lett a javitas, de inkabb nem kiabalnam el magam.
participants (3)
-
Balázs Tibor
-
Endre Szabo
-
Gergely Nagy