[zorp-hu] SNAT

Balazs Scheidler bazsi@balabit.hu
Wed, 20 Nov 2002 08:57:25 +0100


On Tue, Nov 19, 2002 at 11:33:14PM +0100, Ifj. Darvas Istvan wrote:
> sziasztok,
> 
> A tproxy patch-el megpatcheltem a 2.4.19-es kernelemet, leforditottam majd
> betoltottem a tproxy modulbol.
> 
> majd feltettem a 1.4.8-as zorpot a deb csomagbol, ami fent van a lapon...
> 
> elkovettem a kov konfigot:
> 
> ....
> from Zorp.NAT import *
> .....
> class Inter_SSH_Intra(PlugProxy):
>         pass
> ....
> def Test():
>         Service("inter_SSH_intra",
>                 Inter_SSH_Intra,
>                 router=DirectedRouter(SockAddrInet ("192.168.0.100",22)),
>                 snat=ForgeClientSourceNAT())
>         Listener(SockAddrInet(IP_OUT,30000), "inter_SSH_intra")
> 
> 
> es azt vartam volna hogy bevisz SSH-n a belso gepre ugy, hogy latom a belso
> gepen a konnektalo gep IP-jet...
> 
> valamit elcseszhettem, mert azt irja a zorp a logba, hogy nem tudja bindelni
> a cimet....pedig tproxy-val megpactheltem a kernelt ;-(

talaltunk egy hibat a kintlevo tproxy patchben, valoszinuleg patch
generalasa kozben nyomtam egy sortorlest, a patch ennek ellenere fordul, de
nem jol mukodik.

az iptable_tproxy.c-ben az ip_tproxy_getsockopt() fuggvenyben van egy
IP_TPROXY_FLAGS eset a switch-ben, ez valahogy igy nez ki:

case IP_TPROXY_FLAGS: {
	u32 flags;

		return -EINVAL;

	...

a return elol hianyzik ez a sor:

if (*len != sizeof(flags))

tehat helyesen:

case IP_TPROXY_FLAGS: {
	u32 flags;

	if (*len != sizeof(flags))
		return -EINVAL;

modul ujraforditas utan mennie kell (rmmod/insmod)

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