[zorp-hu] virtualis ip cimak hasznalata ?
Balazs Scheidler
bazsi@balabit.hu
Wed, 21 Aug 2002 13:19:25 +0200
On Wed, Aug 14, 2002 at 07:56:08AM +0200, nagy_l@vaxst2.tii.matav.hu wrote:
> Ok, felteszem a kerdest mashogy :
>
> eddig erre jutottam :
> (valami ilyesmit kell berakni...nem tudom a sortorest kell-e kulon jelezni ?)
>
> Service("zonac_1223_zonas", PlugProxy ,
> router=DirectedRouter(SockAddrInet('192.168.253.11', )) ,
> snat=StaticNAT(SockAddrInet('192.168.254.111', 0)))
>
> Listener(SockAddrInet("192.168.254.1", 10501), "zonac_1223_zonas")
>
> ha a forras cimet akarom allitani, akkor az vagy :
> - semmi, mert a tuzfal lesz a forras
> vagy a kliens eredeti cime lesz a forras :
> - snat=FakeClientSourceNAT())
> vagy (ha egy cimrol van szo) virtualis cim hasznalatanal :
> - snat=StaticNAT(SockAddrInet('192.168.254.111', 0)))
> vagy (ha tobb cimrol van szo) virtualis cim hasznalatanal :
> - snat=mysnat()
>
> (a 192.168.254.111 a virtualis cim)
>
> Erdekelne , hogy konkretan attol fuggoen, hogy a gepnek mi az eredeti cime,
> hogy tudnam lekepezni a forras cimeket. a fuggvenyben legyen if, vagy valami
> hasonlo, ahol vizsgalom az egyes cimeket es a szerint helyettesitem be. (erre
> nagyon jo lenne valami pelda, mert a leirasok alapjan nem tudtam gyorsan
> kitalalni, hogy mi lenne a helyes szintaktika...)
SNAT osztalyt valahogy igy kell letrehoznod:
class MySNAT(AbstractNAT):
def performTranslation(self, session, addr, nat_type = NAT_SNAT):
return SockAddrInet('xxx.xxx.xxx.xxx', 12345)
a fuggveny testeben lehet barmi, ami pythonban engedelyezett. Tovabbi
peldakent a standard NAT osztalyokat megtalalod a NAT.py allomanyban.
>
> ha a cel cimet hamisitom, akkor :
> - router=TransparentRouter() (itt nem csinalok semmit, kerdes, hogy ha be
> kell irni a celportot, akkor azt hogy kell megcsinalni ?)
> vagy, ha virtualis cimra jott (egy gepeseten) :
> - router=DirectedRouter(SockAddrInet('192.168.253.11', ? ))
> (ide mit kell irni a celporthoz, ha ugyanaz mint amire jott ? ha nem ugyanaz,
> akkor termeszetesen beirom, hogy hova kell kuldeni...)
A portot jelenleg kotelezo kiirni, bar egy kb ket soros patch segitsegevel
megvalosithato, hogy 0-s port eseten az eredeti port a default.
Miert van erre szukseg?
> vagy, ha virtualis cimre jott (tobb gen eseten)
> - router=myDirectedRouter()
>
> (A 192.168.253.111 a virtualis cim)
> Itt is erdekelne, hogy ez a myDirectedRouter hogy nezzen ki. Attol fuggoean,
> hogy milyen cimre jott a csomag hova kell tovabbitani. Ezt valahogy le kellene
> vizsgalni es e szerint cselekedni. Az is kerdes, hogy a portot (ha ugyanaz, ill
> ha valtozik) hogy tudom betenni ?
A forras- ill. celnat-ot ugyanaz az osztaly vegzi, a nat_type argumentumban
megkapja, hogy konkretan mirol is van szo.
--
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1