Szia, már a linux listán is próbáltam válaszolni, de mivel nem vagyok tag, ezért az admin majd egyszer kiengedi On 05/31/2013 08:25 PM, tusi wrote:
Alabb megtalalhatoak a konfig file-ok, illetve a syslog, es a tcpdump eredmenye. Amit nagyon nem ertek (mert nem vagyok szakember), hogyan lehet, hogy a tcpdump-ban sorr megjelennek a csomagok, amit a dmz-beli gep kuld a client-nek, ugyanezen csomagok a csomagszuro logjaban nem jelennek meg.
Minden otletet, helyes iranyba terelest orommel veszek.
Gabor A konfigok első ránézésre jónak tűnnek, gyorsan összedobtam egy ilyet egy kéznél lévő 3.9.5-ös GPL zorp tesztgépre, igaz ez debian wheezy, de rendben megy.
A policy.py-ban gyakorlatilag ugyanaz van, mint Nálad: def zorp_ssh(): Service(name="inter_SSH_intra", proxy_class=PlugProxy, router=DirectedRouter(dest_addr=(SockAddrInet('<szerver címe>', 22),), forge_addr=TRUE)) Dispatcher(transparent=FALSE, bindto=DBIface(protocol=ZD_PROTO_TCP, port=2224, iface="eth0", family=2), rule_port="2224", service="inter_SSH_intra") A csomagszűrőben szimplán az INPUT-on engedélyeztem a TCP 2224-et. A routing-hoz és a socket match-es MARK-oláshoz pedig a Te scriptedet használtam, így: #!/bin/bash iptables="/sbin/iptables" ip="/sbin/ip" echo 1 > /proc/sys/net/ipv4/ip_forward ${ip} route add local 0.0.0.0/0 dev lo table 100 ${ip} rule add fwmark 1 lookup 100 ${ip} route flush cache ${iptables} -t mangle -N DIVERT ${iptables} -t mangle -A PREROUTING -p tcp -m socket -j DIVERT ${iptables} -t mangle -A DIVERT -j MARK --set-mark 1 ${iptables} -t mangle -A DIVERT -j ACCEPT Ezután nekem rendesen működött a kapcsolat: Jun 11 18:57:58 test zorp/zorp_ssh[14409]: core.session(3): (svc/inter_SSH_intra:5): Starting proxy instance; client_fd='14', client_address='AF_INET(<kliens IP>:33312)', client_zone='Zone(internet)', client_local='AF_INET(<tűzfal IP>:2224)', client_protocol='TCP' Jun 11 18:57:58 test zorp/zorp_ssh[14409]: core.session(3): (svc/inter_SSH_intra:5/plug): Server connection established; server_fd='16', server_address='AF_INET(<szerver IP>:22)', server_zone='Zone(site-local)', server_local='AF_INET(<kliens IP>:43735)', server_protocol='TCP' Jun 11 18:58:02 test zorp/zorp_ssh[14409]: core.session(4): (svc/inter_SSH_intra:5): Ending proxy instance; Jun 11 18:58:02 test zorp/zorp_ssh[14409]: core.accounting(4): (svc/inter_SSH_intra:5/plug/server): accounting info; type='ZStreamFD', duration='4', sent='2855', received='3129' Jun 11 18:58:02 test zorp/zorp_ssh[14409]: core.accounting(4): (svc/inter_SSH_intra:5/plug/client): accounting info; type='ZStreamFD', duration='4', sent='3129', received='2855' Olyan érzésem van, mintha a válaszcsomagok routingja körül lenne a probléma. Szerintem érdemes lenne tenni egy log targetet a DIVERT láncba a mark utánra, hogy látsszon, valóban rákerült-e a válaszcsomagra a MARK, illetve érdemes lenne bekapcsolni a martian és az invalid csomagok loggolását is (/proc/sys/net/netfilter/nf_conntrack_log_invalid, /proc/sys/net/ipv4/netfilter/ip_conntrack_log_invalid, /proc/sys/net/ipv4/conf/all/log_martians), hogy nem ezek fogják-e meg. Milyen kernel verziót használsz? Üdv, Balint