Eine VPN-Verbindung vom Handy zum Heimnetz aufzubauen macht für mich aus zwei Gründen ab und zu Sinn:
  • Per Kommandozeile schnell was am Mac nachschauen/erledigen oder mir Daten in die Dropbox kopieren
  • In einem offenen WLAN eine verschlüsselte Internetverbindung nutzen
  • Je nachdem als ein dritter möglicher Punkt, sofern man die Fritz!Box als VoIP-Server verwendet und auf dem Handy die dazugehörige Fritz!Fon-App: Ãœber die VPN-Verbindung telefonieren (mache ich aber nicht)

Für die VPN-Verbindung zwischen meinem Handy in der Hand und der FritzBox zu Hause verwende ich nicht die VPN-Funktion aus dem System, sondern das VPN Widget.

(Nachtrag: Ab Android 4.4 hatte ich mit dem VPN WIdget einige Probleme und bin zu VPNCilla gewechselt).

Dies hat zweierlei Gründe: Einerseits gab es die VPN-Funktion in Android noch nicht, als ich sie damals brauchte; das VPN-Widget war die beste Alternative und dabei bin ich dann hängen geblieben.
Außerdem verlangt Android von mir, dass ich mein Telefon mit einem PIN/Passwort sperre, wenn ich VPN einrichte...das geht mir etwas gegen den Strich.
Sicherheitsfanatiker werden nun mosern "Wie kann man nur eine VPN-Verbindung zu seinem Heimnetzwerk ungeschützt lassen?" aber mal ehrlich: Etwa 100 Mal am Tag nimmt man sein Handy in die Hand, um eine empfangene Nachricht zu lesen oder eine zu schreiben oder sonstetwas. Das bedeutet 100 Mal einen PIN (mit mindestens 4 Zeichen) einzugeben und diese 400 Tippereien will ich mir aus Gründen der Usability sparen.
Wenn mir jemand das Handy klaut (und da muss mir schon jemand mein 4 Jahre altes Nexus S mutmaßlich aus der Hostentasche rauben), sperre ich den VPN-Zugang oder lösche gleich das ganze Gerät von fern. Sicherheit ist gut, aber wenn sie zu Lasten der Bedienung geht, dann hört's irgendwo auf. Da hilft auch kein "Pattern-Unlock".

Zurück zum eigentlichen Thema: Das VPN-Widget ist schnell eingerichtet und einfach nutzbar (ohne erst irgendeine Äpp öffnen und dort rumklicken zu müssen).

Grundvoraussetzung

  • Ein Android-Handy
  • Das VPN-Widget
  • Eine FritzBox
  • Dyndns-Account eingerichtet. Zum Beispiel wie hier

Auf der FritzBox-Seite (neuere Firmware)

Irgendwann um die Firmware Version 10.6 herum hat endlich die Funktion Einzug gehalten, direkt auf der FritzBox-Administrations-Weboberfläche VPN-Zugänge verwalten zu können. Bis dahin konnte man VPN-Zugänge nur über ein separates Windows-Programm anlegen (siehe nächster Punkt).
Unter Internet > Freigaben > VPN eine Verbindung hinzufügen.
 
Fernzugang für einen anderen Benutzer
 
Entweder bei einem vorhandenen Benutzer auf den Editieren-Button klicken oder einen neuen Benutzer hinzufügen
 
Die Berechtigung VPN aktivieren.
Nach dem Speichern sollte hinter dieser Berechtigung ein Link zu den VPN-Konfigurationen erscheinen.
 
Hier der Auszug der wichtigen Angaben:
Server:          (im Screenshot verwischt. Die eigene dyndns-Adresse)
Account:         apfelz
Kennwort:        (mein vorher für den Benutzer vergebenes Kennwort)
Gruppenname:     apfelz
Shared Secret:   292ffOMB005egyAF
 

Auf der FritzBox-Seite (ältere Firmwares)

Zuerst brauchen wir das Programm "Fernzugang einrichten" von AVM, welches man sich hier herunterladen kann (Achtung: "Fernzugang einrichten" und nicht nur "Fernzugang"). Hier scheint AVM weiterhin noch der Meinung zu sein, dass es nur Windows-User gibt, aber das Windows-Programm läuft auch via Wine auf dem Mac.

Kleine Exkursion am Rande zu Wine: WineBottler oder Wineskin Winery herunterladen, neues Prefix/Wrapper erstellen, von AVM heruntergeladene .exe-Datei als Programm auswählen und installieren lassen. Es erscheint der Windows-Installations-Assistent, durch den man sich durchklicken muss, danach muss man in WineBottler und in der Winery noch das eigentliche Windows-Programm angeben, das ausgeführt werden soll. VPNAdmin.exe sollte es heißen. Resultat ist ein ausführbares Mac-Programm.
Grundvoraussetzung ist ein installiertes X11-System, welches notfalls über die System-DVD nachinstalliert werden kann.
Eine ausführlichere Erklärung am Beispiel Wineskin Winery und ElsterFormular des Finanzamtes wäre hier zu finden.

Wenn's dann mal läuft...

Eine neue Verbindung anlegen
 
Fernzugang für einen Benutzer anlegen
 
Das Programm gibt's nur für Windows, spricht aber nur von iPhones. Der durchschnittliche Nutzer arbeitet/spielt also einen PC und hat nen iPhone. Aha.
Also jedenfalls "iPhone / iPod Touch / iPad" auswählen – was für so viele i-Geräte gut ist, ist auch für ein Android-Gerät gut
 
Irgendeine E-Mail-Adresse. Sie muss nicht mal existieren. Wir geben diese E-Mail-Adresse später wieder beim Handy an. Sie ist sozusagen der Benutzername
 
Die dyndns-Adresse der FritzBox. Ich empfehle hierfür spdns.
 
Wenn man nicht an den IP-Adressen des Netzwerkes geschraubt hat, kann man die obere Option "Werkseinstellungen" nutzen. Ansonsten den geänderten Netzwerkbereich eintragen.
Während Adressen eines FritzBox-Netzwerkes normalerweise immer mit 192.168.178.* beginnen, habe ich den Bereich bei mir geändert. So beginnen bei mir alle Adressen mit 192.168.1.*
Aus der 178 muss bei rechts abgebildetem Screenshot zweimal eine 1 gemacht werden.

Durch den Haken "Alle Daten über den VPN-Tunnel senden" habe ich zwei Möglichkeiten:

  • Ist der Haken nicht gesetzt, wird die VPN-Verbindung nur für Anfragen genutzt, die in das Netzwerk hinter der Fritz!Box gehen. Will ich mich zum Beispiel mit meinem Server mit der IP 192.168.1.2 verbinden, geht das über den Tunnel, rufe ich im Browser eine Seite auf, geht das wird die Verbindung direkt vom Handy zur Website aufgebaut
  • Ist der Haken gesetzt, gehen alle Verbindungen durch den Tunnel. Also erst vom Handy zur heimischen FritzBox und von dort wieder raus in's Internet zum Server. Vorteil? Eine sichere Verbindung. Befinde ich ich in einem freien WLAN und möchte mal schnell bei der Bank nach meinem Kontostand schauen, ist es etwas beruhigender, die Verbindung über eine verschlüsselte Verbindung von zu Hause aus zu tätigen. Das selbe gilt auch für den Datenverkehr von WhatsApp und dem E-Mail-Programm. Nachteil? Die Geschwindigkeit. Statt der Direktverbindung
    Handy <--> Server
    geht der gesamte Datenverkehr noch über die heimische Internetleitung
    Handy <--> FritzBox@heimischer ADSL-Anschluss <--> Server

 
Ein Schlüssel wird hier bereits vorgegeben, kann allerdings auch geändert werden. Aber bitte nicht durch ein "1234" ersetzen. Das wäre nachher eine nicht gerade sehr effektive Verschlüsselung ;-)
Das Kennwort wird später zum Login benötigt, kann im VPN Widget aber gespeichert werden, so dass es nicht jedes Mal erneut eingegeben werden muss (=> eventuelles Sicherheitsrisiko).
 
Fertig.

Resultat sind die zwei Text-Dateien fritzbox_mein_dyndns_org.cfg, die man über das Fritz!Box-Webinterface hochladen kann, um den VPN-Zugang zu aktivieren und iphone_meinhandy_meinedomain_net.txt, die alle Informationen enthält, die man für die Einrichtung im VPN Widget benötigt.

 

Hier ein Auszug der wichtigsten Angaben in der Datei iphone_meinhandy_meinedomain_net.txt:

Server:          mein.dyndns.org
Account:         meinhandy@meinedomain.net
Kennwort:        meinGanzSicheresKennwort
Gruppenname:     meinhandy@meinedomain.net
Shared Secret:   daZcbNWe1+b5a61a8c7ef9-?a515e1c7e5

Und auf dem Handy

Das VPN Widget installieren, falls noch nicht geschehen.

Mit "Check Prerequisites" prüfen, ob das VPN überhaupt auf dem Gerät funktionieren wird. Danach "Set Preferences" antippen.
 
IP Sec Gateway => dyndns-Adresse (z.B. mein.dyndns.org)

IPSecId => Account (z.B. meinhandy@meinedomain.net)

IPSecSecret => Shared Secret (z.B. daZcbNWe1+b5a61a8c7ef9-?a515e1c7e5}})

XAuthUsername => Acccount (z.B. meinhandy@meinedomain.net)

XAuth Passwort => Kennwort (optional; kann auch leer gelassen werden und muss dann bei jeder Verbindung angegeben werden)

Optional vpnc Flags und Debug Output mussten von mir nicht geändert werden.

 

Nun kann man die Einstellungen verlassen und fügt auf dem Startbildschirm ein neues Widget hinzu – das VPNC-Widget.

Nach Antippen des Widgets wird die VPN-Verbindung hergestellt (oder getrennt).