
Andreas Koenecke schrieb:
Hallo.
* Donnerstag, 14. Dezember 2006 um 16:04 (+0100) schrieb Boris Höffgen:
Er makiert offensichtlich, oder? Aber ip nimmt das falsche Device.
Markierte Pakete:IN=eth0 OUT=eth2 SRC=135.195.20.10 DST=132.95.92.72 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=28491 DF PROTO=TCP SPT=60085 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0
Mein Skript: ip rule add from 135.195.20.10 table SourceRouting ip route add default via 192.168.178.1 dev eth2 table SourceRouting iptables -t mangle -A FORWARD -p tcp -i eth0 --dport 22 -j MARK --set-mark 0x1234 ip rule add fwmark 0x1234 lookup ssh ip route add default via 135.195.79.254 dev eth1 table ssh
/etc/iproute2/rt_tables: # # reserved values # 255 local 254 main 253 default 0 unspec # # local # #1 inr.ruhep 200 ssh 201 ftp 202 SourceRouting
Wo liegt der Fehler?
Ich sehe 2, evtl. 3 mögliche Probleme:
1. Das Markieren der Pakete mit 'iptables' kommt vielleicht in der FORWARD-Chain zu spät, mach es besser in der PREROUTING-Chain.
Habe ich abgeändert. Jetzt passiert folgendes: Markierte Pakete:IN=eth0 OUT=eth1 SRC=135.195.20.10 DST=132.195.92.72 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=12683 DF PROTO=TCP SPT=34899 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0 Das sieht vom Log gut aus. Nachteil, er verbindet nicht mehr...ssh hängt.
2. Die SourceRouting-Regel hat vielleicht Vorrang vor der ssh-Regel, was gibt 'ip rule list' aus?
0: from all lookup local 32764: from all fwmark 0x1234 lookup ssh 32765: from 81.92.8.28 lookup SourceRouting 32766: from all lookup main 32767: from all lookup default
(3. 'ip route flush cache' durchgeführt?)
Jepp. Gruß Boris -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo. * Donnerstag, 14. Dezember 2006 um 17:14 (+0100) schrieb Boris Höffgen:
Andreas Koenecke schrieb:
1. Das Markieren der Pakete mit 'iptables' kommt vielleicht in der FORWARD-Chain zu spät, mach es besser in der PREROUTING-Chain.
Habe ich abgeändert. Jetzt passiert folgendes: Markierte Pakete:IN=eth0 OUT=eth1 SRC=135.195.20.10 DST=132.195.92.72 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=12683 DF PROTO=TCP SPT=34899 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0
Das sieht vom Log gut aus. Nachteil, er verbindet nicht mehr...ssh hängt.
Hm, das Problem könnte daran liegen, worüber die (Antwort-)Pakete wieder zurückkommen, vermutlich nicht über eth1... Versuche es mal zusätzlich mit dem Masquerading der Pakete: 'iptables -t nat -A POSTROUTING -o eth1 -m mark --mark 0x1234 -j MASQUERADE'. Gruß Andreas -- XMMS spielt gerade nichts... PGP-ID/Fingerprint: BD7C2E59/3E 11 E5 29 0C A8 2F 49 40 6C 2D 5F 12 9D E1 E3 PGP-Key on request or on public keyservers -- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Andreas Koenecke schrieb:
Hallo.
* Donnerstag, 14. Dezember 2006 um 17:14 (+0100) schrieb Boris Höffgen:
Andreas Koenecke schrieb:
1. Das Markieren der Pakete mit 'iptables' kommt vielleicht in der FORWARD-Chain zu spät, mach es besser in der PREROUTING-Chain. Habe ich abgeändert. Jetzt passiert folgendes: Markierte Pakete:IN=eth0 OUT=eth1 SRC=135.195.20.10 DST=132.195.92.72 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=12683 DF PROTO=TCP SPT=34899 DPT=22 WINDOW=5840 RES=0x00 SYN URGP=0
Das sieht vom Log gut aus. Nachteil, er verbindet nicht mehr...ssh hängt.
Hm, das Problem könnte daran liegen, worüber die (Antwort-)Pakete wieder zurückkommen, vermutlich nicht über eth1...
Versuche es mal zusätzlich mit dem Masquerading der Pakete: 'iptables -t nat -A POSTROUTING -o eth1 -m mark --mark 0x1234 -j MASQUERADE'.
das hat leider nichts gebracht. Ein strace der ssh liefert dies: stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=1265, ...}) = 0 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("135.195.20.10")}, 28) = 0 sendto(3, "\351\234\1\0\0\1\0\0\0\0\0\0\6wmwr16\4math\runi-wup"..., 46, 0, NULL, 0) = 46 gettimeofday({1166115732, 982996}, NULL) = 0 poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1 ioctl(3, FIONREAD, [216]) = 0 recvfrom(3, "\351\234\201\200\0\1\0\1\0\4\0\4\6wmwr16\4math\runi-wu"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("135.195.20.10")}, [16]) = 216 close(3) = 0 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3 connect(3, {sa_family=AF_INET, sin_port=htons(22), sin_addr=inet_addr("132.195.92.72")}, 16 Er bleibt also beim Connect hängen. Die dachte, vielleicht liegt es an den High-Ports...das war es aber nicht. Gruß Boris -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org

Hallo. * Donnerstag, 14. Dezember 2006 um 18:04 (+0100) schrieb Boris Höffgen:
Andreas Koenecke schrieb:
Versuche es mal zusätzlich mit dem Masquerading der Pakete: 'iptables -t nat -A POSTROUTING -o eth1 -m mark --mark 0x1234 -j MASQUERADE'.
das hat leider nichts gebracht. Ein strace der ssh liefert dies:
stat("/etc/resolv.conf", {st_mode=S_IFREG|0644, st_size=1265, ...}) = 0 socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3 connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("135.195.20.10")}, 28) = 0 sendto(3, "\351\234\1\0\0\1\0\0\0\0\0\0\6wmwr16\4math\runi-wup"..., 46, 0, NULL, 0) = 46 gettimeofday({1166115732, 982996}, NULL) = 0 poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1 ioctl(3, FIONREAD, [216]) = 0 recvfrom(3, "\351\234\201\200\0\1\0\1\0\4\0\4\6wmwr16\4math\runi-wu"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("135.195.20.10")}, [16]) = 216 close(3) = 0 socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 3 connect(3, {sa_family=AF_INET, sin_port=htons(22), sin_addr=inet_addr("132.195.92.72")}, 16
Er bleibt also beim Connect hängen. Die dachte, vielleicht liegt es an den High-Ports...das war es aber nicht.
Hm, das strace-Ergebnis sagt mir wenig. Hast du 'hping2'? Wenn ja, dann probiere doch mal 'hping2 -p 22 -S 132.195.92.72'. Gruß Andreas -- XMMS spielt gerade nichts... PGP-ID/Fingerprint: BD7C2E59/3E 11 E5 29 0C A8 2F 49 40 6C 2D 5F 12 9D E1 E3 PGP-Key on request or on public keyservers -- -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (2)
-
Andreas Koenecke
-
Boris Höffgen