VPN on Demand Logo

VPN on Demand – Heimnetz für Unterwegs

Veröffentlicht

Was ein VPN ist, habe ich bereits in einem früheren Beitrag erklärt. Es gibt die unterschiedlichsten Gründe für ein VPN. Für mich hat es gleich mehrere Vorteile, weswegen ich mich entschieden habe es um eine „On Demand“ Funktion zu erweitern. Warum ich nicht einfach eine dauerhafte Verbindung herstelle, erkläre ich dir im Abschnitt „iPhone verbinden“ weiter unten.

  1. Meine Heimsteuerung muss nicht frei im Internet zugänglich sein und ich kann trotzdem von überall darauf zugreifen.
  2. Ich kann den Werbe- und Tracker-Filter meins PiHoles auch unterwegs verwenden.

Vielleicht hast du auch den ein oder anderen Verwendungszweck dafür. Darum beschreibe ich dir heute mal, was dafür nötig ist. Im ersten Schritt muss der Router, in meinem Fall eine FRITZ! Box, aus dem Internet erreichbar gemacht werden. Zur Sicherheit jedoch natürlich nur über zwingend erforderliche Ports.

FRITZ! Box vorbereiten

Um sich mit seinem Heimnetzwerk verbinden zu können, muss zu erst einmal der Internet-Router extern erreichbar gemacht werden. Da bei mir daheim eine FRITZ! Box steht, beschreibe ich die Schritte dafür. Für andere Router sollte das Vorgehen aber ganz ähnlich sein.

Melde dich zuerst aus dem Heimnetz an deinem Router an. Mit einer FRITZ! Box gibst du dazu einfach „fritz.box“ in einen beliebigen Browser ein. Für den Fernzugriff auf meine FRITZ! Box verwende ich ein MyFritz-Konto. Der Tutonaut hat in einem Beitrag sehr gut beschrieben, wie das funktioniert. Du kannst jedoch auch jeden anderen DynDNS Anbieter verwenden.

Navigiere für die weitere Konfiguration nach „Internet -> Freigaben -> VPN“ und erstelle mit dem Button „VPN-Verbindung hinzufügen“ eine neue VPN Konfiguration. Im nächsten Schritt wähle ich „Fernzugang für einen Benutzer einrichten“. Falls vorhanden könnte auch eine Konfiguration importiert werden. Davon gehe ich aber in diesem Beispiel nicht aus.

Sobald die neue VPN Verbindung angelegt wurde, muss man unter „System -> Fritz!Box Benutzer“ noch einen User zuweisen. Das kann entweder ein vollkommen neuer oder ein bereits bestehender User sein. Du solltest ein besonders sicheres Passwort verwenden, denn mit diesen Zugangsdaten ist es möglich sich aus dem Internet dein Netzwerk zu verbinden. Vom BSI gibt es hier ein paar hilfreiche Tipps. Abschließend muss du den User noch auf aktiv setzen und ihm die VPN Berechtigung geben.

  • VPN on Demand - FRITZ! Box Konto
  • VPN on Demand - FIRTZ! Box Freigaben
  • VPN on Demand - FRITZ! Box Benutzer

Wenn alles korrekt funktioniert hat, dann kannst du nun über den Button „VPN-Einstellungen anzeigen“ die Informationen aufrufen, die für den Login in das VPN erforderlich sind. Dazu gehören:

  • Serveradresse / Server
  • Gruppenname
  • Shared Secret
  • Nutzername / Account

Außerdem findest du zumindest bei der FRITZ! Box hier noch eine Anleitung, wie iOS und Android Geräte mit dem neuen VPN verbunden werden.

0
Bis hier her verständlich? Lass es mich wissen.x


iPhone verbinden

Die zuvor erwähnte Beschreibung der FRITZ! Box ist schon ganz gut. Aber falls du keine FRITZ! Box hast, erkläre ich dir trotzdem hier nochmal, wie du dein iPhone nun mit deinem neuen VPN verbindest.

Gehe dazu in die „Einstellungen“ App und navigiere dort nach „Allgemein -> VPN“. Hier kannst du ein neues „VPN hinzufügen…“ antippen und gelangst auf eine Konfigurationsseite. Für mein Beispiel mit der FRITZ! Box wählst du als Typ „IPSec“ aus. Nun musst du nur noch die von der FRITZ! Box bereitgestellten Daten eintragen und fertig ist die Lauge. Ab sofort kannst du dein iPhone mit dem VPN verbinden und auch von unterwegs auf all deine Geräte im Heimnetzwerk zugreifen.

  • VPN on Demand - iPhone add VPN IPSec
  • VPN on Demand - iPhone add VPN
  • VPN on Demand - iPhone Status An

Allerdings hält das iPhone diese Verbindung nicht dauerhaft aufrecht. Sobald der Bildschirm deaktiviert wird, geht auch die VPN Verbindung wieder verloren. Aus diesem Grund zeige ich dir nun noch, wie man sein iPhone so konfigurieren kann, dass es sich automatisch mit dem VPN verbindet, wenn erforderlich. Eben ein VPN on Demand.

Mobile Config XML

Um das VPN on Demand zu konfigurieren, verwende ich die Mac App Apple Configurator 2 um eine Mobile Config zu erstellen. Das Mobile Config File ist im Grunde nur ein XML File, das auch ohne die App erstellt werden kann. Sie macht es einem jedoch etwas einfacher, da man das Grundgerüst schon vorgefertigt erhält.

Für ein VPN on Demand reicht es lediglich über „Ablage -> Neues Profil“ ein neues Profil anzulegen und es abzuspeichern. Wenn du möchtest kannst du zuvor noch einen sprechenden Namen vergeben, musst es aber nicht. Zur Bearbeitung der XML Profil Datei empfehle ich dir ein Tool wie Text Mate, da du hier standardmäßig schon ein sehr solides Syntax Highlighting bekommst. Du kannst aber auch jeden anderen Text Editor verwenden.

Falls du vielleicht schon ein paar andere Konfigurationen in „Apple Configurator 2“ vorgenommen hast, dann wirst du im XML File einen Block ähnlich dem folgenden Beispiel finden. Füge einfach einen neuen „<dict>-Block mit deinen VPN Einstellungen ein. Hier im Beispiel habe ich die Stelle mit dem Kommentar „Add VPN Block here“ markiert.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ConsentText</key>
	<dict>
		<key>default</key>
		<string>Bitte stimme zu, dass das Profil JorDom_Config von Dominic Jordan installiert werden darf.</string>
	</dict>
	<key>PayloadContent</key>
	<array>
		<dict>
			<key>PayloadDescription</key>
			<string>Konfiguriert Einschränkungen</string>
			<key>PayloadDisplayName</key>
			<string>Einschränkungen</string>
			<!-->[...]-->
		</dict>
		<dict>
			<!--> Add your VPN Block here -->
		</dict>
		<!--[...]--->

	</array>
	<key>PayloadDescription</key>
	<string>Dieses Profil wird von Dominic Jordan verwaltet, um Konfigurationen auf Apple Geräte zu übertragen. Aktuell enthalten ist eine On-Demand VPN Verbindung im mobilen Netz und nicht heimischen Netzwerken.</string>
	<key>PayloadDisplayName</key>
	<string>JorDom_Config</string>
	<key>PayloadIdentifier</key>
	<string>My-MacBook-Air.xxx.yyy.zzz</string>
	<key>PayloadOrganization</key>
	<string>JorDom Private</string>
	<key>PayloadRemovalDisallowed</key>
	<false/>
	<key>PayloadType</key>
	<string>Configuration</string>
	<key>PayloadUUID</key>
	<string>aaa-bbb-ccc</string>
	<key>PayloadVersion</key>
	<integer>1</integer>
</dict>
</plist>


VPN on Demand Config

Auch in dem Profil XML musst du zuerst deine VPN Informationen eintragen. Das sind dieselben Informationen, die du bereits im vorherigen Abschnitt in den iPhone Einstellungen eingetragen hast.

<!-- [...] -->
<!-- Beginning VPN Config -->
<dict>
	 <key>IPSec</key>
	 <dict>
		 <key>AuthenticationMethod</key>
		 <string>SharedSecret</string>
		 <key>LocalIdentifier</key>
		 <string>MyVPNUser</string>
		 <key>LocalIdentifierType</key>
		 <string>KeyID</string>
		 <key>RemoteAddress</key>
		 <string>MyVPNAdressURL</string>
		 <key>SharedSecret</key>
		 <data>
		 MySharedSecret
		 </data>
		 <key>XAuthEnabled</key>
		 <integer>1</integer>
		 <key>XAuthName</key>
		 <string>MyVPNUser</string>
		 <key>XAuthPassword</key>
		 <string>MyVPNPassword</string>
         <!-- [...] -->
    </dict>
</dict>
<!-- Ending VPN Config -->
<!-- [...] -->

Wie „On-Demand“ schon sagt, soll die VPN Verbindung nur bei Bedarf aufgebaut werden. Es gibt unterschiedliche Regeln nach denen du deinem iPhone sagen kannst, wann eine VPN Verbindung aufgebaut werden soll. Die erste, die ich hier beschreibe ist zu schauen, ob auf eine Adresse in deinem heimischen Netzwerk zugegriffen wird. Also beispielsweise, wenn du von unterwegs auf deine FRITZ! Box zugreifen möchtest. Im Beispiel unten sollen etwa für alle Adressen, die auf „.local“ enden, „fritz.box“ enthalten oder mit „192.168“ beginnen eine VPN Verbindung aufgebaut werden.

<!--[...]-->
<!--Connect VPN for selected adresses-->
<dict>
     <key>Action</key>
	 <string>EvaluateConnection</string>
	 <key>ActionParameters</key>
	 <array>
		 <dict>
			  <key>DomainAction</key>
			 <string>ConnectIfNeeded</string>
			 <key>Domains</key>
			 <array>
				 <string>*.local</string>
				 <string>*fritz.box*</string>
				 <string>192.168.*</string>
			 </array>
			 <key>DomainAction</key>
			 <string>ConnectIfNeeded</string>
		 </dict>
	   </array>
</dict>
<!--[...]-->

Du kannst aber auch bestimmen, ob nur in bestimmten WLANs keine VPN Verbindung aufgebaut werden soll und sonst schon. Im Beispiel hier soll eigentlich immer eine VPN Verbindung aufgebaut werden, wenn sich das iPhone in eine WLAN oder im Cellular Modus befindet. Ausgenommen sein sollen die beiden WLANs „MyHomeWLAN“ und „AnotherWLAN“.

<!--[...]-->
<!-- Disconnect VPN for selected WLAN -->
<dict>
	 <key>InterfaceTypeMatch</key>
	 <string>WiFi</string>
	 <key>SSIDMatch</key>
	 <array>
		 <string>MyHomeWLAN</string>
		 <string>AnotherWLAN</string>
	 </array>
	 <key>Action</key>
	 <string>Disconnect</string>
 </dict>
 <!-- Connect VPN for all other WLAN -->
 <dict>
	 <key>InterfaceTypeMatch</key>
	 <string>WiFi</string>
	 <key>Action</key>
	 <string>Connect</string>
 </dict>
 <!-- Connect VPN for Cellular -->
 <dict>
	 <key>InterfaceTypeMatch</key>
	 <string>Cellular</string>
	 <key>Action</key>
	 <string>Connect</string>
 </dict>
 <!-- VPN Default Setting -->
 <dict>
	 <key>Action</key>
	 <string>Connect</string>
 </dict>
<!--[...]-->

Und das ist eigentlich auch schon alles. Nun kannst du diese XML Blöcke in deine Mobileconfig Datei eintragen und an deine Bedürfnisse anpassen.

0
Bitte lass es mich wissen, ob die XML Blöcke gut verständlich sind. Wenn du eine Frage hast, kannst du sie auch gerne hier stellen.x


Täglicher Gebrauch

Ich verwende VPN on Demand mittlerweile seit fast einem Jahr und bin meistens sehr zufrieden damit. Dank meins PiHole wird auch unterwegs Werbung gefiltert, wodurch ich einiges an Datenvolumen einspare. Außerdem muss seit dem meine Heimsteuerung nicht mehr im Internet verfügbar sein. Meine beiden Punkte vom Anfang konnte ich damit also abdecken.

Es gibt jedoch auch Schattenseiten. Wie weiter oben geschrieben, hält das iPhone die VPN Verbindung nicht dauerhaft aufrecht. Wenn du sie also länger nicht verwendet hast, muss dein iPhone sich neu verbinden. Das kann teilweise zu spürbaren Verzögerungen beim ersten Internetaufruf führen. Ebenso hatte ich vor wenigen Wochen den Fall, dass bei mir daheim das Internet ausgefallen ist. Dadurch hat auch unterwegs auf meinem iPhone das Internet nicht mehr funktioniert. Natürlich kann man das VPN on Demand deaktivieren. Wenn man das jedoch nicht gleich bemerkt, ist man eine Zeit lang offline.

Wenn du allerdings auch unterwegs wert auf deine Privatsphäre legst und daheim schon die Grundsteine dafür gesetzt hast, dann ist ein VPN on Demand eine ziemlich gute Möglichkeit auch unterwegs davon zu profitieren.

Zum Schluss, lass mich deine Ideen hören. Wofür möchtest du ein VPN on Demand verwenden. Schreibe es mir gerne unten in die Kommentare.

Bis zum nächsten Mal,
dein Dominic

Subscribe
Benachrichtigen, wenn
guest
1 Kommentar
älteste
neueste meist bewertet
Inline Feedbacks
Alle Kommentare ansehen