Dein "Denkfehler" ist IMHO daß du vpn-Netzdevices und den Traffic als "richtige" Devices
ansiehst. Und das sind sie ja nicht. Also keine richtige pppX oder ethY Verbindung,
sondern eben nur Tunnel. In diesem Tunnel findet jetzt eine Ver-/Entschlüsselung statt,
aber der Transport selbst findet nach wie vor "auf der Straße oben" statt. Bestimmte
Pakete müssen lediglich am Client auf dieser Straße einmal in den Tunnel abzweigen,
dort geschehen ein paar "magische" Dinge, am Ende der Straße(Gateway) kommen
diese aus dem Tunnel wieder raus. Trotzdem ist alles auf bzw. "unter" der Straße
transportiert worden.
Vrob schrieb
Zuhause:
Laptop -> WLAN (WPA)/Ethernet -> PPTP-VPN -> Institutsinterne Seiten
Hier fehlt im Prinzip die "Straße", nämlich das Internet (oder im Uni-Beispiel das
unverschlüsselte WLAN). Da drüber werden ja die einzelnen Pakete schlußendlich
transportiert: sichere(verschlüsselte) Daten über eine unsichere(öffentliche) Verbindung.
Vrob schrieb
Nach dem Setzen der Route auf das Webserver-Subnetz:
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
160.45.113.247 0.0.0.0 255.255.255.255 UH 0 0 0 ppp11
192.168.6.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
160.45.0.0 160.45.113.247 255.255.0.0 UG 0 0 0 ppp11
0.0.0.0 192.168.6.1 0.0.0.0 UG 0 0 0 eth0
Die Lösung bzw. das Problem ist: du brauchst lediglich eine Netz-Route, damit ein- und
ausgehender Verkehr noch durch die Verschlüsselung laufen.
Dadurch, daß du eine Gateway-Route setzt mauerst du quasi den Tunnel-Eingang auf
deiner Seite zu. Nimm ein Paket an Rechner 160.45.113.1:
- Die erste Zeile der Routing-Tabelle trifft nicht zu: das Paket ist nicht direkt (Host) an 160.45.113.247 gerichtet.
- Der zweite Eintrag greift auch nicht
- Der dritte Eintrag greift: Dieses Paket soll direkt an 160.45.113.247 zur Weiterleitung geschickt werden, und zwar durch das ppp11-Device. Das sieht ja erstmal gut aus.
Jetzt ist die nächste Frage: wie erreiche ich denn 160.45.113.247? Ah, durch die erste
Zeile in der Tabelle auf dem Device ppp11. Und hier hast du den Tunnel quasi
"zugemauert", da dieser Host eben nicht dein Gateway für den Transport ist sondern
"lediglich" der "Verarbeiter" am Ende des Tunnels. Das eigentliche Gateway wäre weiter-
hin dein Default-Gw, also dein Router. Dieser muß (die jetzt verschlüsselten) Pakete
über das Internet an 160.45.113.247 transportieren (160.45.113.247 ist ja eine
öffentlich erreichbare IP).
Dein "Fehler" ist also das Setzen einer Gateway-Route. Du brauchst aber lediglich eine
Netz-Route. Und diese halt auch nur damit bestimmte Pakete über den Tunnel laufen
während des Transports auf der Straße.
Deswegen reicht ein:
route add -net 160.45.0.0/16 dev ppp11
(Wenn die Netzmaske so korrekt ist)
Und diese nur, weil du ja sagst: Pakete in dieses Netz bitte vorher verschlüsseln (was
ppp11 macht) bevor du sie über das öffentliche(DefaultGw) verschickst, also 192.168.6.1
Analog dein Uni-Zugang, mit dem Unterschied daß das öffentlich erreichbare VPN-Gateway auch dein Default-Gw "für alles außer dem lokalen Rechner" ist.
Zwei Links noch:
http://wiki.archlinux.org/index.php/Microsoft_VPN_client_setup_with_pptpclient
http://pptpclient.sourceforge.net/routing.phtml
Mit dem pptp-client habe ich auch nicht die Erfahrung.
Bei Problemen wäre halt wichtig: was kannst du anpingen bzw. eine traceroute/tracepath
Ausgabe des Weges.