[zorp-hu] SNAT

Hegedus Ferenc dark@dark.chaos.hu
Fri, 22 Nov 2002 00:14:38 +0100


On 2002 Nov 21 at 17:11, Balazs Scheidler wrote:
> On Thu, Nov 21, 2002 at 12:11:28PM +0100, Hegedus Ferenc wrote:
> > 
> > Valakinek javult meg ezzel?
> > Nekem tovabbra is bind() failed; error='Cannot assign requested address'
> > van es nem tudom, hogy en rontottam e el valamit.
> 
> hamu a fejemre.. most mar tenyleg irok a tproxy patchrol egy szosszenetet.
> 
> ifconfig dummy0 1.2.3.4
> 
> - 1.2.3.4 az mindegy mi, ne legyen lokalis, es ne legyen routeolhato)
> - az ip cimnek meg kell egyeznie a --autobind-ip parameterrel megadott
>   cimmel (zorp parameter, instances.conf-bol)
> 
> -- 
> Bazsi
> PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1

A --autobind-ip opciot csak 2.0pre21-ben lattam, az 1.4.8-asban nem.
Pedig ujraforditottam 1.4.8-ast is egy --enable-netfilter-tproxy opcioval,
az mire jo akkor? :)

De akkor felraktam egy 2.0pre21-et is:

A policy.py-t megirtam, SNAT nelkul mukodik is, a kovetkezokepp
nez ki: az xx.xx.xx.xx 80-as porton uldogel egy HttpProxy, 
DirectedRouter-er atkuldi a 127.0.0.1 80-as portra.

Ezutan megcsinaltam az ifconfig dummy0 10.0.0.1-t.
Az instances.conf-ban ott van a --autobind-ip 10.0.0.1
A policy.py-ben a NAT-ot beallitottam:
Service("ServiceHttpd", ClassHttpd, router=DirectedRouter(SockAddrInet("127.0.0.1",80)),snat=ForgeClientSourceNAT())

El is indul a proxy hibauzenet nelkul, de ha yy.yy.yy.yy 
iprol megnezem egy bongeszovel xx.xx.xx.xx-et,
akkor a zorp eljut addig, hogy:

Initiating connection; from='AF_INET(yy.yy.yy.yy:0)', to='AF_INET(127.0.0.1:80)'

ezutan a kovetkezo sorok ismetlodnek a kern.log-ban:

setup_nat, bidir lesz, proto=6, ctinfo=2 
IP_TPROXY: ip_tproxy_setup_nat(): already inited! adding nat entry hooknum=4 0100000a:1a90 -> yyyyyyyy:1b90

Ezt 30 masodpercig probalja, majd a zorp ezt mondja:
Connection to remote end failed; remote='AF_INET(127.0.0.1:80)', error='Connection timed out'
majd ad egy:
The target system was down and is not servicing requests
tipusu hibaoldalt

Csomagszuron nem akad meg elvileg, ip_forward is be van kapcsolva,
iptable_nat, ip_conntrack modulok bent vannak, az eredeti es a 
javitott iptable_tproxy modulnal is ezt csinalja.
Mit csinalok rosszul? 
Koszi

d