[zorp-hu] Re: [tproxy] tproxy 2.6.10+
Balazs Scheidler
bazsi at balabit.hu
Thu Jun 23 21:04:31 CEST 2005
On Thu, 2005-06-23 at 20:17 +0200, ago at lsc.hu wrote:
> szia,
>
> > Pontositok, mert asszem eleg nagy butasagot kerdeztem... :(
> nem kérdeztél butaságot. Amit leírsz egy élő dolog.
>
> > Szoval adott 1 fw ahol a Zorp csucsul, mogotte
> > n darab webszerver. A szerverek mas-mas domaineket szolgalnak ki.
> A megoldás nem az amit leírsz, hanem az, hogy vagy a tűzfal /etc/hosts
> fileban legyen benne az a belső címe a www.domain1.hu stb. gépeknek és
> akkor a zorp a névfeloldás alapján tudja majd, hogy merre irányítsa a
> csomagot. Sima HTTP-val működik, mindenfajta különösebb varázslat nélkül
> (bár egy ideje már csak copyzom az ilyen beállításokat, egyszer kell vele
> "megszenvedni"). "Gond" ott lesz, ha HTTPS-t is akarsz, azt is meg lehet
> oldani, de akkor egymás mellék kell stackelni a proxykat, a
> SideStackChainer-rel. A listaarchívumban volt már bőven hivatkozás rá.
>
> > hanem DNS alapjan visszaadott IP-t hasznalja?
> na most ,ez alapján van DNS. Akkor viszont nem privát címeken vannak a
> webszerverek? Teszem azt a .129-es gép a tűzfal, ami routerként funciónál
> a .130,.131 astb. végű gépek előtt? Vagy egy belső DNS-ed van? Mert akkor
> a resolv.conf-ban kellene elsődleges névkiszolgálónak azt beállítanod.
> Vagy a fentebb említett /etc/hosts fájl is megoldás, ha kevés szerver van.
> 100%-ig korrekt persze a DNS.
3.0.5-ben mar van un. Resolver interface, bar meg csak experimental jelleggel,
valoszinuleg 3.1-ben egy csoppet valtozni fog. Annak az a lenyege, hogy egy
fuggetlen objektum oldja fel a celcimet, ami alapbol DNS, de akar sajat modszerrel
is megoldhatja a nev->IP lekepezest. Pl:
mostanival kompatibilis mukodes:
Service("http", HttpProxy,
router=InbandRouter(),
resolver=DNSResolver())
kicsit erdekesebb:
class HashResolver(AbstractResolver):
def __init__(self, host_map):
AbstractResolver.__init__(self)
self.host_map = host_map
def resolve(self, host, port):
if self.host_map.has_key(host):
return SockAddrInet(self.host_map[host], port)
return None
Ezek utan:
Service("http", HttpProxy,
router=InbandRouter(),
resolver=HashResolver({'www.alma.hu': '1.2.3.4',
'www.korte.hu': '4.5.6.7'}))
Ami varhato 3.1-ben az az, hogy a Resolver-bol is "policy" lesz, mint a
NATPolicy vagy az AuthPolicy, azaz nevvel letrehozott objektum lesz,
amire a Service-nel mar csak hivatkozni kell, azaz kb igy:
ResolverPolicy('web', HashResolver({'www.alma.hu': '1.2.3.4',
'www.korte.hu': '4.5.6.7'})
Service("http", HttpProxy,
router=InbandRouter(),
resolver_policy='web')
Igy tobb service-bol lehet majd egyszeruen ugyanarra hivatkozni.
--
Bazsi
More information about the zorp-hu
mailing list