Kosa Attila
2011-05-11 10:55:41 UTC
Hello!
Van egy gep, amelyen 3.3.6-os gpl-es zorp van. Squeeze, gyari
kernellel. Megvoltak a kotelezo dolgok, amelyek a zorp
mukodesehez szuksegesek:
/sbin/ip route add local 0.0.0.0/0 dev lo table 100
/sbin/ip rule add fwmark 1 lookup 100
/sbin/ip route flush cache
A mangle tablaban a kovetkezo szabalyok:
-A PREROUTING -p tcp -m socket -j DIVERT
-A DIVERT -j MARK --set-mark 1
-A DIVERT -j ACCEPT
Az eth1-en vannak mukodo zorp proxy-k, tehat ott jol mukodik az
iptables, a zorp megkapja a csomagokat. Itt egy jol mukodo
szabaly a mangle tablabol (a 192.168.0.33 az eth1 IP cime):
-A PREROUTING -i eth1 -p tcp -s PROXYSERVER --sport 1024: --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 50080 --on-ip 192.168.0.33
A mangle tablaban a kovetkezo a problemas szabaly (a 10.10.0.1 a
tun0 IP cime):
-A PREROUTING -i tun0 -p tcp -s 192.168.2.0/24 -d 192.168.0.80 --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 60001 --on-ip 10.10.0.1
Ha eleteszem ezt a logolo szabalyt, akkor bekerul a logba a
csomag:
-A PREROUTING -i tun0 -p tcp -s 192.168.2.0/24 -d 192.168.0.80 --dport 80 -j LOG --log-prefix "akarmi: "
Az iptables -t mangle -L -n -v | grep 60001 kimeneteben
novekszenek a szamlalok, tehat ugy tunik, hogy a szabaly megkapja
a csomagokat. Probaltam a problemas szabaly utan is tenni logolo
sort, arra mar nem futott ra, tehat nem logolt.
Tcpdump-ban is latszanak a bejovo a csomagok.
Guy javaslatara kiprobaltam a conntrack csomag segitsegevel a
conntrack -F parancsot, de nem valtozott a helyzet.
Probaltam zorp helyett (a zorp leallitasa utan) a kovetkezot:
# netcat -l -v -p 60001 -n -s 10.10.0.1
# netstat -nat | grep 60001
tcp 0 0 10.10.0.1:60001 0.0.0.0:* LISTEN
De a netcat-ban sem jelenik meg semmi.
Ha localhost-rol telnet-tel bemegyek a 10.10.0.1 60001-es
portjara, akkor elindul a zorp:
May 11 12:27:09 fw zorp/zorp_vpn[3207]: core.error(1): (dsp/dispatch:1): Transparent listener connected directly, dropping connection; local='AF_INET(10.10.0.1:60001)', client_local='AF_INET(10.10.0.1:60001)'
Illetve latszik a netcat-ban is (ha nem fut a zorp), amit
bekuldok.
A vpn-en bejovo kliens ezt kapja meg:
ifconfig-push 10.10.2.1 10.10.2.2
push "route 192.168.0.80 255.255.255.255"
A routing tablajaban szepen meg is jelenik a bejegyzes, es
semilyen gond nincs a kommunikacioval. Ha tproxy helyett siman, a
forward lancon engedem at, akkor zokszo nelkul el is eri a
192.168.0.80-as gep 80-as portjat.
Hogyan lehetne kideriteni, hogy mi lesz a csomaggal, miert nem
kerul fel a megfelelo portra?
Van egy gep, amelyen 3.3.6-os gpl-es zorp van. Squeeze, gyari
kernellel. Megvoltak a kotelezo dolgok, amelyek a zorp
mukodesehez szuksegesek:
/sbin/ip route add local 0.0.0.0/0 dev lo table 100
/sbin/ip rule add fwmark 1 lookup 100
/sbin/ip route flush cache
A mangle tablaban a kovetkezo szabalyok:
-A PREROUTING -p tcp -m socket -j DIVERT
-A DIVERT -j MARK --set-mark 1
-A DIVERT -j ACCEPT
Az eth1-en vannak mukodo zorp proxy-k, tehat ott jol mukodik az
iptables, a zorp megkapja a csomagokat. Itt egy jol mukodo
szabaly a mangle tablabol (a 192.168.0.33 az eth1 IP cime):
-A PREROUTING -i eth1 -p tcp -s PROXYSERVER --sport 1024: --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 50080 --on-ip 192.168.0.33
A mangle tablaban a kovetkezo a problemas szabaly (a 10.10.0.1 a
tun0 IP cime):
-A PREROUTING -i tun0 -p tcp -s 192.168.2.0/24 -d 192.168.0.80 --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 60001 --on-ip 10.10.0.1
Ha eleteszem ezt a logolo szabalyt, akkor bekerul a logba a
csomag:
-A PREROUTING -i tun0 -p tcp -s 192.168.2.0/24 -d 192.168.0.80 --dport 80 -j LOG --log-prefix "akarmi: "
Az iptables -t mangle -L -n -v | grep 60001 kimeneteben
novekszenek a szamlalok, tehat ugy tunik, hogy a szabaly megkapja
a csomagokat. Probaltam a problemas szabaly utan is tenni logolo
sort, arra mar nem futott ra, tehat nem logolt.
Tcpdump-ban is latszanak a bejovo a csomagok.
Guy javaslatara kiprobaltam a conntrack csomag segitsegevel a
conntrack -F parancsot, de nem valtozott a helyzet.
Probaltam zorp helyett (a zorp leallitasa utan) a kovetkezot:
# netcat -l -v -p 60001 -n -s 10.10.0.1
# netstat -nat | grep 60001
tcp 0 0 10.10.0.1:60001 0.0.0.0:* LISTEN
De a netcat-ban sem jelenik meg semmi.
Ha localhost-rol telnet-tel bemegyek a 10.10.0.1 60001-es
portjara, akkor elindul a zorp:
May 11 12:27:09 fw zorp/zorp_vpn[3207]: core.error(1): (dsp/dispatch:1): Transparent listener connected directly, dropping connection; local='AF_INET(10.10.0.1:60001)', client_local='AF_INET(10.10.0.1:60001)'
Illetve latszik a netcat-ban is (ha nem fut a zorp), amit
bekuldok.
A vpn-en bejovo kliens ezt kapja meg:
ifconfig-push 10.10.2.1 10.10.2.2
push "route 192.168.0.80 255.255.255.255"
A routing tablajaban szepen meg is jelenik a bejegyzes, es
semilyen gond nincs a kommunikacioval. Ha tproxy helyett siman, a
forward lancon engedem at, akkor zokszo nelkul el is eri a
192.168.0.80-as gep 80-as portjat.
Hogyan lehetne kideriteni, hogy mi lesz a csomaggal, miert nem
kerul fel a megfelelo portra?
--
Udvozlettel
Zsiga
Udvozlettel
Zsiga