Heimnetz OpenVPN-Verbindung für iOS VPN-Verbindung (L2TP/IPSec) nutzbar machen

J

_just_me

Gast
Hallo zusammen,

folgendes Problem: eine Verbindung ins Uni-Netzwerk wird bei uns über OpenVPN realisiert. Nur über die VPN-Verbindung ist es dann möglich, auf die zahlreichen biomedizinischen Fachartikel im Volltext zuzugreifen. Ohne eine IP der Uni sind 99% der Artikel nicht zugänglich und man landet sofort bei einer Paywall.

Für Android gibt es einen nervigen und komplizierten Umweg aber letztendlich kann man via Android eine OpenVPN Verbindung herstellen. Aus unterschiedlichen Gründen will ich aber jetzt kein Android mehr benutzen.

Ich würde jetzt gerne auch auf meinem iPhone von unterwegs aus auf die Fachartikel zugreifen können. Klar kann ich von zu Hause oder einem Uni-PC die PDFS auf mein iPhone laden aber oft ist man doch so unterwegs, hat einen Gedanken und möchte dann dazu recherchieren. Ärgerlich, wenn dann die gewünschten Artikel nicht zugänglich sind.

Die Situation hat sich jetzt auch noch ein wenig dadurch verschärft, dass die Hochschule ihre eigenen Hotspots, die direkt eine IP zum Zugriff auf die Artikel vergeben alle abgeschafft wurden. D.h. so richtig funktioniert der Zugriff nur über ein Laptop oder diese Hybridgeräte (z.B. Surface Pro 2/3 etc.) Die trägt man aber auch nicht immer mit sich herum und oft genug möchte man nur irgendeine kleine Sache recherchieren.

Meine Idee ist jetzt folgende: ich kann doch von zu Hause aus eine VPN-Verbindung ins Uninetz aufsetzen. Gleichzeitig kann ich zu Hause, entweder auf dem selben Rechner oder einem anderen Rechner, einen VPN-Server so konfigurieren, dass iOS damit klar kommt.

Wenn ich dann mit meinem iPhone eine Verbindung ins Heimnetz herstelle, sollte es dann nur noch für Verbindungen ins öffentliche Internet die OpenVPN-Verbindung nutzen und nicht diese OpenVPN-Verbindung irgendwie umgehen.

Ich bin mir relativ sicher, dass sich da eine Lösung findet. Mir ist nur nicht klar, welche Software ich am besten benutze. Am liebsten wäre mir etwas kostenloses, vorzugsweise für Windows aber notfalls würde ich auch mit Linux zurecht kommen. Mir ist vor allem nicht klar, wie ich sicherstellen kann, dass das iPhone nach erfolgreicher VPN-Verbindung ins Heimnetz für Adressen im öffentlichen Netz die OpenVPN Verbindnug benutzt.

Der erste Gedanke ist wohl einfach auf dem selber Rechner

1. die OpenVPN-Verbindung ins Uninetz zu aktivieren

und dann

2. auf dem selben Rechner einen VPN-Server einrichten und das iPhone mit diesem verbinden.

Irgendwie bin ich mir aber ziemlich sicher, dass das so auf anhieb erstmal nicht funktionieren wird. Es gibt ja mehrere Wege ins öffentliche Netz. Warum sollte das iPhone automatisch die OpenVPN-Verbindung benutzen?

Klar ist, dass ich am Kabelrouter entsprechend die Ports öffne, dass ein bestimmter Rechner im Heimnetzwerk über ein bestimmtes Protokoll von außen erreichbar ist.

Aber was dann?

Es wäre ziemlich großartig, wenn ich das Problem gelöst bekomme. Das kein Zugriff ins Uninetz über Tablets und Smartphones ins Uninetz ist unter den Studenten ein einziges Ärgernis. Den Admins an der Uni ist das Problem natürlich bekannt aber sie verweisen darauf, dass dann Apple oder Google ihre Software so modizieren, dass sie mit der Unikonfiguration klar kommt. Via Android funktioniert es auch nur dann, wenn man sein Gerät rootet. Die wenigsten machen das noch und ich möchte auch mein iPhone nicht jailbraken und irgendwelche Apps aus dem Cydiastore installieren, deren Funktionen und Risiken ich nicht einschätzen kann.

Ich denke ich habe klar beschrieben was ich machen möchte aber man kann es bestimmt auch klüger mit Fachvokabular ausdrücken. Vielleicht kann mir jemand sagen, was ich hier genau machen möchte.

Ich brauch auch keine Schritt für Schrittanleitung aber wenn man mir sagen würde, welche Software ich benutzen muss (außen OpenVPN für die Verbindung ins Uninetz) wäre das schon eine große Hilfe.

Das wäre dann jetzt der erste Schritt.

Wenn ich das gelöst habe möchte ich irgendwann auch noch folgendes versuchen:

Ich nutze Amazon Web Services für ein paar Kleinigkeiten. Dort kann ich ja eine EC2-Instance laufen lassen und diese via OpenVPN eine Verbindung ins Uninetz herstellen lassen. Ich bin ja manchmal länger nicht zu Hause, also in den Semesterferien und da schalte ich die Technik zu Hause natürlich aus.

Wenn ich dann mal schnell via iPhone auf Fachinhalte zugreifen möchte, so könnte ich schnell die EC2-Instance starten und mein iPhone mit dieser verbinden. So wäre ich von zu Hause unabhängig. Klar, ich bezahle für den Traffic und die Laufzeit der EC2-Instanz aber

a) mich reizt es dieses Problem zu lösen

und

b) die Traffickosten für das abrufen einiger PDFS werde ich mir ja wohl leisten können

Für jeden konstruktiven Hinweis und Tipp bin ich außerordentlich dankbar.
 
Grundsätzlich ist das möglich ja. In dem Moment wenn dein PC daheim eine VPN-Verbindung zur Uni herstellt und das Handy sich von außen per VPN mit dem PC verbindet, mutiert der PC zwangsläufig zum Router. Desktop-Windows ist standardmässig nicht dafür eingerichtet, Routingaufgaben zu übernehmen. Das heißt man muss Windows erstmal entsprechend erziehen. Das sind zB Einträge in der Registry (IP-Forwarding) und zum anderen NAT. Das ganze funktioniert nämlich nur dann, wenn der PC die Handy-IP NATtet.

Mit Linux wäre das meiner Meinung nach deutlich einfacher. Es gibt etliche Tutorials, die man der Reihe nach durchgeht und am Ende hat man einen Router mit 2 VPNs, NAT und allem was man sonst so braucht. Bei Windows (XP) hatte ich immer deutlich mehr Probleme und habe es auch meistens als Zweckentfremdung empfunden, bei Windows 7+ mag das besser gehen, meine Versuche sind schon ein paar Jährchen her :p

Es sähe aber mit beiden ungefähr so aus:

1) Handy - VPN-Client zu WAN-IP
2) Router - Portweiterleitung des VPN vom WAN ins LAN an den PC
3) PC - VPN-Server + IP-Forwarding + NAT + VPN-Client zu Uni-IP


Die Routing-Tabelle am PC muss natürlich entsprechend konfiguriert sein, aber das übernimmt OpenVPN in der Regel via config-Datei.

Am Handy habe ich selbst bisher noch keinen VPN-Client genutzt, aber grundsätzlich müsste auch dort die Konfiguration des Clients automatisch das Standard Gateway umbiegen und somit sämtlichen Internet-Traffic via VPN-Tunnel schicken. Notfalls ist das nur ein kleiner Haken in der App. Allerdings kann man den Client dann auch gleich Richtung Uni richten, richtige Konfiguration vorausgesetzt. OpenVPN müsste es auch für iOS geben?
 
Es funktioniert damit nicht. Wäre die Lösung so einfach, dann würde ich hier nicht posten.

Warum es genau nicht funktioniert verstehe ich nicht. Der Import von einer Certifikatedatei scheitert.

Auch für Android gibt es einen OpenVPN-Client. Hier funktioniert es nur dann, wenn das Gerät gerootet ist und ein zusätzliches Programm installiert wird. Bei Android funktioniert es immerhin soweit, dass die VPN-Verbindung hergestellt werden kann. Es sind aber keine Seiten im Internet erreichbar.
Ergänzung ()

Ich kann ja Linux in einer Virtuellen Maschine installieren und es gegenüber meinem Kabelrouter so aussehen lassen, als hätte ich einen zusätzlichen physikalischen PC, damit die virtuelle Linuxmaschine eine eigene IP im Heimnetzwerk bekommt. Eine OpenVPN-Verbindung zur Uni einrichten ist auch nicht das Problem.

Nur: welche Software benutze ich als Server?

Mit dem OpenVPN-Client für iOS ist keine funktionierende Verbindung ins Uninetz herstellbar. Die Verbindung steht zwar aber es sind keine Seiten erreichbar. Egal was man macht oder versucht, es funktioniert nicht. Unter Android funktioniert es, wenn man zusätzliche Software zum korrekten Routing installiert. Diese funktioniert aber nur korrekt, wenn das Gerät gerootet ist.
 
Mhhh diese Problematik kenne ich nicht ... iOS hab ich grad nicht zur Hand... aber Android => kein Problem ohne Zusatzsoftware

Also ich nutze schon lange Android ohne Zusatzsoftware zur OpenVPN-Verbindung zwichen meinem G2 und dem NAS zuhause und kann sowohl auf Internetseiten als auch auf alle Heimnetzgeräte zugreifen .... das Gerät ist auch nicht gerootet...

Mmmmh sorry das ich nicht helfen konnte...
 
Es funktioniert aufgrund der Serverkonfiguration an der Uniseite leider nicht mit der OpenVPN-App. Das schreibt die Uni auch klar und deutlich auf ihrer Support Seite.
 
Eine der Merkwürdigkeiten ist auch folgendes: die OpenVPN-Verbindung ins Uninetz funktioniert auch nur dann, wenn die App unter Windows als Administrator ausgeführt wird. Ich weiß nicht genau welche Rechte es sich nimmt aber hier liegt wohl genau der Knackpunkt, warum es bei einem nicht gerooten Androidgerät oder eben iOS nicht funktioniert.
 
Naja, welchen VPN-Server du daheim nutzt kommt dann aber ganz klar darauf an was bei iOS möglich ist. Ich setze bei mir OpenVPN ein und das läuft einwandfrei. Aber wie gesagt nutze ich es nicht vom Handy aus. OpenVPN-Clients brauchten bis vor kurzem definitiv root, aber soweit ich weiß gibt es nu auch Clients, die ohne root auskommen. Zumindest habe ich das gelesen, also ohne Gewähr.

Bei iOS habe ich keine Ahnung. Wenn du daheim OpenVPN aufsetzt, kann es gut sein, dass du am iPhone dasselbe Problem bekommst wie bei dem Uni-VPN. Hast du evtl. ne Fritzbox? Dann wäre FritzVPN evtl. eine Alternative, gibt es wohl auch für Äpfel.

Einen eigenen IPsec-Server habe ich bisher noch nicht aufgesetzt, deswegen kann ich dazu nix sagen, weder auf Server- noch auf Client-Seite
 
Ja, ich hab eine FritzBox, 6360 Cable. Ich verstehe nur nicht wie mich das der Lösung meines Problems weiter bringt.

Die FritzBox kann sich ja nicht mit dem UniNetz verbinden und was nützt mir eine Verbindung vom iPhone zur FritzBox, wenn doch der PC die OpenVPN Verbindung zum Uninetz hat?

Unter Windows lässt sich ganz einfach ein PPTP-Server einrichten.

Dieser ist aber nicht mehr erreichbar, wenn ich lokal eine OpenVPN-Verbindung ins UniNetz habe. Erst wenn ich die OpenVPN-Verbindung wieder trenne kann ich wieder via PPTP über das iPhone meinen Heimrechner erreichen.

Die Uni zwingt einen dazu einen Proxy zu benutzen, eben den Uniproxy. Mit iOS bekomme ich mit dem OpenVPN Client zwar eine Verbindung ins UniNetz aber der Proxy wird nicht benutzt. Das selbe unter Android. Erst durch rooten wird der Proxy benutzt und dann laut Aussage der Uninetzwerkadmins auch nur fehlerhaft. Immerhin kann man damit aber auch die teuren Fachzeitschriften usw. zugreifen.

Klar kann man in iOS dann den Proxy eintragen aber es funktioniert trotzdem nicht. Warum auch immer.
 
eine weitere alternative wäre natürlich, einfach die uni zu wechseln ;) :D
 
Ich habe es jetzt doch mit der neuen OpenVPN-App versucht um zu sehen was sich getan hat. Die Fehlermeldung lautet: "iOS doesn't support TAP-based tunnels" ....

Gut, zu Hause kann ich ja einen OpenVPN Server aufsetzen, der auf eine für iOS verträgliche Weise erreichbar ist. Nur: wie kann ich dann sicherstellen, dass dann auch die ausgehende OpenVPN-Verbindung zur Uni genutzt wird und nicht die normale Verbindung?
 
Der OpenVPN-Server muss dann offensichtlich tun verwenden (config-> dev tun statt dev tap)

Das ist eine Frage des Routings. Wenn IP-Forwarding aktiv ist, der PC also generell erstmal IP-Pakete weiterleiten kann, dann muss er eine Route haben, die Pakete mit der Ziel-Adresse "uni" über das VPN-Gateway der Uni schickt. Die Route sollte eigentlich eh schon da sein.

Interessanter wird es beim NAT. Ohne NAT würde der PC einfach nur die Anfrage vom Handy durchreichen. Das Handy ist hat aber keine IP im Uni-Subnetz und auch nicht im potentiell unterschiedlichen UNI-VPN-Subnetz. Demnach kann der Server im Uni-LAN nicht antworten, weil er nicht wüsste wohin mit der Antwort. Daher muss der VPN-PC daheim NATten. Bezüglich Windows und NAT kannst du googeln.

zB das hier: klick!
oder das hier: klick!
 
Vielen Dank für deinen Input. Ich habe mich mittlerweile dafür entschieden Linux (Ubuntuu) in einer virtuellen Maschine als Router zu konfigurieren. Mir geht es erstmal nur um Proof of Concept.

Unter http://www.karlrupp.net/de/computer/nat_tutorial fand ich eine ganz verständliche Einführung in die Thematik und was sich damit alles anstellen lässt. Ich bin jetzt ganz optimistisch, dass sich mein Problem lösen lässt.

Danke erstmal.
 
Zurück
Oben