Hallo, ist es möglich von einem Host (Suse 11.1, also Kernel 2.6.27.7-9-default) eine TCP Verbindung zu einem bestimmten Port auf einer bestimmten IP Adresse über einen Router/Interface und den Rest zu dieser IP Adresse über einen anderen Router/Interface zu leiten? Ich denke es sollte mit iproute2 und 2 Routing-Tabellen gehen. Irgendwie tut es aber nicht. Tipps? Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- 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 Torsten, nur mal ein Schnellschuss, über iptables auf der default-route eine Weiterleitung an eine andere route? Grüsse Max
-----Ursprüngliche Nachricht----- Von: Torsten Foertsch [mailto:torsten.foertsch@gmx.net] Gesendet: Dienstag, 3. Februar 2009 10:33 An: opensuse-de@opensuse.org Betreff: Routing Frage
Hallo,
ist es möglich von einem Host (Suse 11.1, also Kernel 2.6.27.7-9-default) eine TCP Verbindung zu einem bestimmten Port auf einer bestimmten IP Adresse über einen Router/Interface und den Rest zu dieser IP Adresse über einen anderen Router/Interface zu leiten?
Ich denke es sollte mit iproute2 und 2 Routing-Tabellen gehen. Irgendwie tut es aber nicht.
Tipps?
Torsten
-- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- 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
-- 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
* Dienstag, 03. Februar 2009 um 10:33 (+0100) schrieb Torsten Foertsch:
ist es möglich von einem Host (Suse 11.1, also Kernel 2.6.27.7-9-default) eine TCP Verbindung zu einem bestimmten Port auf einer bestimmten IP Adresse über einen Router/Interface und den Rest zu dieser IP Adresse über einen anderen Router/Interface zu leiten?
Ich denke es sollte mit iproute2 und 2 Routing-Tabellen gehen. Irgendwie tut es aber nicht.
Sollte es aber ;-)
Tipps?
Sieh dir mal Kapitel 11 des LARTC http://lartc.org an. Gruß Andreas -- Amarok spielt gerade Nazareth - Razamanaz... GPG-ID/Fingerprint: 6F28CF96/0B3B C287 30CE 21DF F37A AF63 A46C D899 6F28 CF96 GPG-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
On Tue 03 Feb 2009, Andreas Koenecke wrote:
ist es möglich von einem Host (Suse 11.1, also Kernel 2.6.27.7-9-default) eine TCP Verbindung zu einem bestimmten Port auf einer bestimmten IP Adresse über einen Router/Interface und den Rest zu dieser IP Adresse über einen anderen Router/Interface zu leiten?
Ich denke es sollte mit iproute2 und 2 Routing-Tabellen gehen. Irgendwie tut es aber nicht.
Sollte es aber ;-)
Tipps?
Sieh dir mal Kapitel 11 des LARTC http://lartc.org an.
So ziemlich hatte ich es auch gemacht. Nur, wenn man in iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 25 \ -j MARK --set-mark 1 PREROUTING, was ja nur für Pakete gilt, die den Rechner als Router passieren, gegen OUTPUT, für auf dem Host erzeugte Pakete, ersetzt, tut es nicht. Oder habe ich da einen Denkfehler? Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- 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
* Dienstag, 03. Februar 2009 um 13:45 (+0100) schrieb Torsten Foertsch:
On Tue 03 Feb 2009, Andreas Koenecke wrote:
ist es möglich von einem Host (Suse 11.1, also Kernel 2.6.27.7-9-default) eine TCP Verbindung zu einem bestimmten Port auf einer bestimmten IP Adresse über einen Router/Interface und den Rest zu dieser IP Adresse über einen anderen Router/Interface zu leiten?
Sieh dir mal Kapitel 11 des LARTC http://lartc.org an.
So ziemlich hatte ich es auch gemacht. Nur, wenn man in
iptables -A PREROUTING -i eth0 -t mangle -p tcp --dport 25 \ -j MARK --set-mark 1
PREROUTING, was ja nur für Pakete gilt, die den Rechner als Router passieren, gegen OUTPUT, für auf dem Host erzeugte Pakete, ersetzt, tut es nicht.
Oder habe ich da einen Denkfehler?
Nein, es sollte so funktionieren. (Es muss natürlich das "-i eth0" weggelassen werden...) Ich kann das hier mangels zweitem Router nicht vollständig ausprobieren, aber ich habe hier eben bestimmte Pakete von lokalen Prozessen markieren und auf ein anderes Netzwerkinterface routen können. Gruß Andreas -- Amarok spielt gerade Nazareth - Expect No Mercy... GPG-ID/Fingerprint: 6F28CF96/0B3B C287 30CE 21DF F37A AF63 A46C D899 6F28 CF96 GPG-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
On Tue 03 Feb 2009, Andreas Koenecke wrote:
Ich kann das hier mangels zweitem Router nicht vollständig ausprobieren, aber ich habe hier eben bestimmte Pakete von lokalen Prozessen markieren und auf ein anderes Netzwerkinterface routen können.
Mit dem Kernel (2.6.27.7-9-default 64bit) der Suse 11.1? Ich habe schon bei anderen OUTPUT Regeln (local DNAT) festgestellt, daß sie seit 11.1 nicht mehr tun. Welchen Kernel benutzt Du? Im Moment habe ich mein System schon wieder verkonfiguriert, kann also nicht so einfach testen. Werde es aber heute abend oder morgen nochmal versuchen. Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- 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
* Dienstag, 03. Februar 2009 um 15:11 (+0100) schrieb Torsten Foertsch:
Mit dem Kernel (2.6.27.7-9-default 64bit) der Suse 11.1? Ich habe schon bei anderen OUTPUT Regeln (local DNAT) festgestellt, daß sie seit 11.1 nicht mehr tun.
Hm, seltsam...
Welchen Kernel benutzt Du?
2.6.28.3 natürlich ;-)
Im Moment habe ich mein System schon wieder verkonfiguriert, kann also nicht so einfach testen. Werde es aber heute abend oder morgen nochmal versuchen.
Und ich fahre mal meinen Laptop mit 11.1 hoch und sehe mal, ob ich das Fehlverhalten reproduzieren kann. Gruß Andreas -- Amarok spielt gerade nichts... GPG-ID/Fingerprint: 6F28CF96/0B3B C287 30CE 21DF F37A AF63 A46C D899 6F28 CF96 GPG-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
* Dienstag, 03. Februar 2009 um 15:41 (+0100) schrieb Andreas Koenecke:
* Dienstag, 03. Februar 2009 um 15:11 (+0100) schrieb Torsten Foertsch:
Mit dem Kernel (2.6.27.7-9-default 64bit) der Suse 11.1? Ich habe schon bei anderen OUTPUT Regeln (local DNAT) festgestellt, daß sie seit 11.1 nicht mehr tun.
Und ich fahre mal meinen Laptop mit 11.1 hoch und sehe mal, ob ich das Fehlverhalten reproduzieren kann.
Ich kann es auf dem Laptop nicht reproduzieren. Unter der 11.1 (64 bit) mit Kernel 2.6.27.7-9-default funktioniert hier das policy-routing auch. Gruß Andreas -- Amarok spielt gerade nichts... GPG-ID/Fingerprint: 6F28CF96/0B3B C287 30CE 21DF F37A AF63 A46C D899 6F28 CF96 GPG-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
On Tue 03 Feb 2009, Andreas Koenecke wrote:
Ich kann es auf dem Laptop nicht reproduzieren. Unter der 11.1 (64 bit) mit Kernel 2.6.27.7-9-default funktioniert hier das policy-routing auch.
Danke für Deinen Aufwand. Der Fehler sitzt offensichtlich hinter der Tastatur. Gut zu wissen, daß es an mir liegt. Dann bin ich guter Dinge, daß es auch laufen wird. Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- 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
On Tue 03 Feb 2009, Andreas Koenecke wrote:
Tipps?
Sieh dir mal Kapitel 11 des LARTC http://lartc.org an.
Vielleicht schildere ich mal mein Problem. Also ich habe eine bestehende Verbindung lokal: 192.168.0.4:46625 <==> remote: 192.168.0.3:22 Darüber läuft ein SSH-VPN. Lokal und remote wird tun2 benutzt. Das lokale tun2 hat die Adresse 192.168.237.251, remote 192.168.237.252. Ich möchte allen Traffic auf 192.168.0.3 über den Tunnel leiten. Nur die bestehende Verbindung soll natürlich den normalen Weg gehen. Dazu markiere ich Pakete der SSH-Verbindung mit folgender Regel: iptables -t mangle -A OUTPUT -p tcp \ -s 192.168.0.4 --sport 46625 -d 192.168.0.3 --dport 22 \ -j MARK --set-mark 42 Die -L Option zeigt mir von da an auch schön hochzählende Paket- und Bytezähler bei der Regel, wenn ich einen "ping 192.168.237.252" mitlaufen lasse, wenn ich also durch den Tunnel das remote tun2 adressiere. In /etc/iproute2/rt_tables sind folgende Tabellen definiert: 255 local 254 main 253 default 0 unspec 100 tunnel Die "tunnel"-Tabelle habe ich hinzugefügt. Nun sage ich, daß Pakete mit der Markierung 42 die "tunnel"-Tabelle benutzen sollen: ip rule add fwmark 42 table tunnel "ip rule ls" bestätigt das: # ip rule ls 0: from all lookup local 32765: from all fwmark 0x2a lookup tunnel 32766: from all lookup main 32767: from all lookup default Jetzt kommt eine Host-Route in die tunnel-Tabelle ip route add 192.168.0.3/32 dev wlan0 table tunnel Von nun an sollte der Traffic der bestehenden Verbindung doch über diese Route laufen, oder? Kann man das irgendwie prüfen, so wie mit den Zählern bei iptables? Offensichtlich ist es aber nicht so, denn folgendes Kommando führt zum Zusammenbruch des Tunnels: ip route add 192.168.0.3/32 via 192.168.237.252 dev tun2 "ip route show" zeigt jetzt: 192.168.237.252 dev tun2 proto kernel scope link src 192.168.237.251 192.168.0.3 via 192.168.237.252 dev tun2 192.168.0.0/24 dev wlan0 proto kernel scope link src 192.168.0.4 metric 2 127.0.0.0/8 dev lo scope link default via 192.168.0.253 dev wlan0 proto static und "ip route show table tunnel": 192.168.0.3 dev wlan0 scope link Würde er die Tunnel-Tabelle benutzen, sollte er doch über wlan0 gehen, oder? Torsten -- Need professional mod_perl support? Just hire me: torsten.foertsch@gmx.net -- 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 (3)
-
Andreas Koenecke
-
Maximilian Steinbauer
-
Torsten Foertsch