[zorp-hu] virtualis ip cimak hasznalata ?

nagy_l@vaxst2.tii.matav.hu nagy_l@vaxst2.tii.matav.hu
Wed, 21 Aug 2002 13:38:43 +0200


>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.

Ok, ezt ertem. Az SNAT-nal nincs jelentosege a forrasportnak nem ?
Vagyis az 12345 helyett a 0 is jo ha jol gondolom.

>> 
>> 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?

Azert mert elofordulhat, hogy egy port tartomanyt akarok atengedni (a 2100-tol
a 3100-as portig egy csomo portot hasznal az alkalmazas es nem akarom mindet
felsorolni, hanem csak megadom, hogy mettol meddig menjenek at a csomagok)
Ebben az esetben kellene valahogy az eredeti port es azt tudnam betenni a
DNAT-hoz vagy a DirectedRouterhez. pl port(orig(akarmi)) visszaadna azt a
portot amire eredetileg ment a csomag.

Ha egy port van , akkor ez nem problema, de ha tobb portot fel akarok solorlni,
vagy egy port tartomanyt adok meg, akkor elore nem irhatom be, hogy melyik
portra kell menni (arra kell menni, amire eredetileg ment a csomag)
Ha egy konkret portra kell mindent atiranyitani azt persze meg tudom csinalni,
de most nem ez a feladat.

>> 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.

Ok, de meg mindig nem vilagos, hogy ha egy proxyval akaok lekezelni tobb
virtualis cimet, akkor azt hogy oldjam meg.(es nm mappingrol van szo)
Valami if - else szeruseget kell betenni a myDNAT-ba, de nem tudom ennek mi a
pontos szintaktikaja. (Persze meg is tanulhatnek pythonul, de gondoltam hatha
megmondjatok, hogy ezt hogy kell betenni ide...)

Ezt a feladatot pl Alf-ban eleg jol es egyszeruen le lehet kezelni. Gondolom
itt sincs ez maskepp. Csak a szintaktikat nem tudom. (hova kell az if-eket
irni...)

Ezek az esetek nem agyafurt modon megkrealt szituacios gyakorlatok, hanem igy
mukodik nehany rendszer. Arpi irt erre egy sajat 'Zorp'-pt,de en szeretnem a
standard eljarasok segitsegevel megoldani a problemat, hogy ne kelljen minden
tuzfalra raszabni a Zorpot, hanem egyfelekeppen le tudjunk kezelni minden
lehetoseget.

Igazabol mar odaig eljutottam, hogy a OneToOneMultiNAT alkalmazasara egy
reszletes pelda is eleg lenne a virtualis cimek kezelesehez.

Udv!

Lajos

-- 
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1

_______________________________________________
zorp-hu mailing list
zorp-hu@lists.balabit.hu
https://lists.balabit.hu/mailman/listinfo/zorp-hu