000
23.03.2009, 15:35
McScore
|
Ich habe hier gerade mal wieder ein kniffliges Problem - da frage ich am besten die Profis von thewall. Ich arbeite gerade an einem Web-Projekt - und zwar unter erschwerten Bedingungen. Das würde ich gerne ändern. Problem ist folgendes: - Damit ich per SFTP auf den Webserver zugreifen kann, muss ich mich per VPN in das Rechenzentrumsnetzwerk einwählen. Dies lasse ich meinen Debian-basierenden Router mittels vpnc tun. - So lange ich im VPN bin, lässt der Webserver keine Anfragen direkt auf Port 80 zu, da ich im VPN zwecks Caching deren Proxy verweden soll. - VPN und Proxy sind so konfiguriert, dass ich zwecks Traffic-Reduzierung nur auf VPN-Interne Server zugreifen kann. Konkret: Jedes mal, wenn ich ein Script geändert und lokal getestet habe, muss ich den VPN-Client anwerfen, SFTP-Verbindung aufbauen, hochladen, VPN-Verbindung beenden, dann Webseite aufrufen. Es muss doch mittels iptables usw. möglich sein, dem Router folgendes klarzumachen: Verbindungen an $IP für Port 22 bitte durch VPN-Device tunneln, alles andere für $IP direkt ans Default Gateway. Oder gibt es da eine ganz andere Lösung, die ich nur nicht sehe?
--
... und der große böse Wolf bootete und bootete und bootete ... Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts! http://www.mcscore.de.vu 13+3+7=23, 133/7+23=42
|
|
Profil || Suche
|
001
23.03.2009, 17:57
theDon
|
Das Stichwort ist policy routing, du willst mit fwmark die ssh-Verbindung markieren und dann fuer markierte Pakete eine alternative Routing-Tabelle verwenden.
--
\o tanz den naziprau! o/
And more than ever, I hope to never fall, Where enough is not the same it was before
|
|
Profil || Suche
|
002
23.03.2009, 21:27
default
|
such mal nach source based routing hier im forum, das lässt sich dadrauf anwenden
--
Du musst Deine Bandbreite verbreitern, damit du breiter wirst von der Bandbreite her und ein breiteres Publikum ansprechen kannst.
|
|
Profil || Suche
|
003
24.03.2009, 12:12
McScore
|
Schön, dass es auf thewall wie immer kompetente Leute zu finden gibt. Leider steig ich noch nicht ganz durch. Ich verfolge derzeit theDons Vorschlag und habe mir nach Lesen von http://lartc.org/howto/lartc.netfilter.html dies hier ausgedacht:
iptables -A PREROUTING -i eth0 -t mangle -p tcp --destination $IP --dport 17071 -j MARK --set-mark 1 echo 201 vpn.out >> /etc/iproute2/rt_tables ip rule add fwmark 1 table vpn.out ip route add $IP/32 dev vpn table vpn.out
Meinem Verständnis nach sollte jetzt jedes Paket, welches über eth0 in den Router kommt und nach $IP:17071 will, vor dem Routen mit "1" markiert werden. Alle Pakete, die mit "1" markiert sind, gehören zur Regeltabelle "vpn.out" und alle solche Pakete für das Netzwerk $IP/32 werden durch den Tunnel geschickt. Leider funktioniert das nicht: Pakete nach $IP:17071 gehen ungetunnelt an ppp0. Ich kann nicht erkennen, ob das Paket nicht markiert, nicht richtig geroutet oder was mit ihm nicht richtig gemacht wird. Habe ich "ip route add $IP/32 dev vpn table vpn.out" falsch verstanden? Oder muss ich die netfilter-Funktionen irgendwo erst noch aktivieren?
--
... und der große böse Wolf bootete und bootete und bootete ... Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts! http://www.mcscore.de.vu 13+3+7=23, 133/7+23=42
|
|
Profil || Suche
|
004
24.03.2009, 15:14
theDon
|
Reverse path filter aus? Ansonsten mal mit -j LOG gucken, ob du die richtigen Pakete markierst.
--
\o tanz den naziprau! o/
And more than ever, I hope to never fall, Where enough is not the same it was before
|
|
Profil || Suche
|
005
25.03.2009, 00:48
McScore
|
Der Reverse Path Filter wars, obwohl in o.g. Beschreibung stand, so lange man kein SNAT verwendet, ginge das schon klar. Mein Script sieht jetzt so aus:
#echo 201 vpn.out >> /etc/iproute2/rt_tables # muss nur einmal gesetzt werden vpnc /etc/vpnc/vpn.conf iptables -t nat -A POSTROUTING -o vpn -j MASQUERADE iptables -A PREROUTING -i eth0 -t mangle -p tcp --destination $IP --dport 17071 -j MARK --set-mark 1 sysctl -w net.ipv4.conf.vpn.rp_filter=0 ip rule add fwmark 1 table vpn.out ip route add $IP/32 dev vpn table vpn.out
--
... und der große böse Wolf bootete und bootete und bootete ... Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts! http://www.mcscore.de.vu 13+3+7=23, 133/7+23=42
Dieser Beitrag wurde am 25.03.2009 um 01:11 von McScore bearbeitet.
|
|
Profil || Suche
|
006
16.05.2009, 23:11
McScore
|
Achja... funktioniert! Danke.
--
... und der große böse Wolf bootete und bootete und bootete ... Optimiere deine Map, sieh dir alle Compile-Errors an, frage den Hersteller und beschwer dich über nichts! http://www.mcscore.de.vu 13+3+7=23, 133/7+23=42
|
|
Profil || Suche
|