Mastodon katzenjens' Technik-Blog: Januar 2016 Mastodon

24.01.2016

PureVPN über Unitymedia oder Kabel Deutschland

PureVPN ist ein Anbieter von VPN-Zugängen, welche fast überall auf der Welt verteilt sind. Der Nutzen von VPN-Zugängen liegt zum einen in der anonymen Nutzung des Netzes. Andererseits um fragwürdige Seiten aufzurufen und Downloads zu machen. Aber der Hauptzweck liegt momentan darin, TV und Filme aus anderen Ländern zu sehen. Z.B. kann man in Deutschland nicht das BBC-Programm sehen oder die Mediathek dort nutzen. Über YouTube und GEMA brauchen wir gar nicht erst zu reden... Sehr unschön...

Wer einen IPv4 fähigen Internetanschluß hat, braucht sich den ganzen folgenden Kram nicht antun. Man installiert einfach die zugehörige App von PureVPN von deren Webseite und gut ist es.

Die folgende Anleitung ist für Windows10 Rechner, funktioniert aber auch für ältere Versionen.

Problematisch ist es nur für die Nutzer von IPv6 Adressen, welche über einen DS-Lite Stack an IPv4 angesaftet sind. Dazu gehören z.B. die beiden Kabel-Anbieter in Deutschland, Unitymedia und Vodafone/KabelDeutschland. Die Möglichkeiten, dort noch alte IPv4 fähige Internetanschlüsse zu bekommen, sind inzwischen Geschichte. Im Prinzip funktioniert ein IPv6 Anschluß mit DSLite auch für die meisten Anwendungsfälle. Nur bei VPN versagt er bisweilen, weil derDSLite-Stack oft fehlerhaft implementiert ist und der anzuwählende VPN nicht damit zurechtkommt.

Ich habe Wochen daran herumgedoktort, bis ich endlich eine funktonierende Lösung unter Windows hatte, welche auch guten Datendurchsatz bescherte. Z.B. habe ich über Unitymedia nun bis zu 150MBit nach London erreichen können. Andere europäische Städte sehen ähnlich aus.

Der Weg dahin ist allerdings mühsam. Man muss z.B. OpenVPN manuell installieren und im zweiten Schritt die Daten und Server von PureVPN dort importieren.

1. Installation von OpenVPN (dem Original)
Herunterladen von hier und installieren. Am besten eine Komplettinstallation inkl. aller Optionen. Weil so kann man OpenVPN später auch für andere Dinge gebrauchen.

2. Herunterladen der "Spezialversion" OpenVPN von PureVPN von hier. Haaaalt! Nicht installieren!!!! Jetzt wird es komisch. Die ZIP-Datei öffnen und die .exe Datei irgendwo hin kopieren. Nun diese EXE mit einem Entpackprogramm, z.B. 7Zip öffnen. Wir brauchen dort nur 2 Dateien, die ca.crt und die Wdc.key. Diese werden in den OpenVPN / Config Ordner der Originalinstallation von OpenVPN gepackt. Zusätzlich wird dort noch eine Datei erstellt mit dem Namen pw.txt. In diese Datei befindet sich der Nutzername und das Passwort, welche ihr von PureVPN bei der Anmeldung bekommen habt. Jeweils in einer Zeile untereinander. Das hat den Vorteil, dass man später nicht jedes Mal die Zugangsdaten eingeben muss.

Nun muss nur noch für jeden VPN-Zugang, welchen man nutzen will, eine Konfigurationsdatei angelegt werden. Ein Muster habe ich hier mal angegeben. Diese Datei ist für jeden Zugang identisch, von der Adresse des Zugangs abgesehen. Die Endung muss .ovpn sein. Den Namen sollte man sinnvoll wählen, da er später in der Auswahlliste angezeigt wird. Ach ja, Man kann in dem Config-Verzeichnis nur mit Adimrechten Dateien erstellen. Also den Editor entsprechend öffnen.
Hier die Musterdatei zum kopieren:

client
dev tun
remote ukm-ovpn-udp.pointtoserver.com 53
proto udp
nobind
persist-key
persist-tun
sndbuf 65536
rcvbuf 65536
tls-auth Wdc.key 1
ca ca.crt
cipher AES-256-CBC
comp-lzo
verb 5
mute 20
float
route-method exe
route-delay 2
auth-user-pass "C:\\Program Files\\OpenVPN\\config\\pw.txt"
auth-retry interact
explicit-exit-notify 2
ifconfig-nowarn
auth-nocach

Nun kommt der wichtigste Teil, die Anpassung der MTU an den VPN-Zugang. Ein DSLite Stack hat bei der Paketgröße einen unerlaubten Bereich, wo Pakete mit zu großen Längen schlicht im Nirvana landen. Dieses umgeht man, indem man die MTU in dem virtuellen Interface auf 1382 Bytes einstellt.

Hier eine Bilderreihe wie man den virtuellen Netzwerkanschluß einstellt:

Virtuellen Port öffnen

Konfigurieren klicken

Unter Erweitert / MTU den passenden Wert eingeben

Wenn nun mindestens eine VPN-Zugangsdatei im config-Verzeichnis ist sowie die Schlüssel und die Passwortdatei vorhanden sind, ist das schon mal gut. Und wenn auch die MTU korrekt eingestellt ist, können wir es wagen, OpenVPN zu starten. Es passiert nicht viel, unten in der Statusleiste taucht ein grauer Bildschirm mit Schloß auf. Dort mit der Maus auf Rechtsklick. Den Zugang anwählen und auf Verbinden klicken. Es öffnet sich ein Fenster, welches den Verbindungsvorgang zeigt. Nach einigen Sekunden sollte die Verbindung stehen und sich das Fenster schliessen. Eine erfolgreiche Verbindung erkennt man an dem grünen Bildschirm in der Statusleiste. Wenn nicht, im Fenster stehen oft schon die Fehler. Ansonsten in der Logdatei nachsehen.

Kleiner Tipp, um mehrere Konfigurationsdateien zu erstellen:
Mit Konfiguration anpassen öffnet man die Datei, automatisch mit Adminrechten. Dann kann man den Servernamen ändern und sie mit einem neuen Namen abspeichern. Normalerweise braucht man nur wenige unterschiedliche Zugänge. Alle Zugänge würden zum einen unübersichtlich werden, zum anderen ist es eh unsinnig.

Eine aktuelle Liste mit allen Servern gibt es bei PureVPN hier. Ich persönlich nutze gerne UDP-Verbindungen. Aber natürlich kann man auch TCP nehmen. Dann muss allerdings die Konfigurationsdatei angepasst werden.

Puh... Ganz schön kompliziert, oder? Falls noch Unklarheiten auffallen, bitte Bescheid geben. Übrigens funktioniert es unter Linux im Prinzip ähnlich. Nur muss man dort an anderen Stellen die MTU ändern und natürlich die Dateipfade anpassen. Dort kann man den Sende- und Empfangspuffer noch weiter erhöhen, um noch etwas mehr Durchsatz zu erreichen. Das geht unter Windows leider so nicht.