Wieso sollte man mit seinem iPhone einen VPN Tunnel zu seiner Fritz!Box herstellen wollen? Welche Vorteile bietet dieses? Wie aufwändig ist dieses? Kann man über den VPN Tunnel surfen (Routing ins Internetz)?
Grundsätzlich:
– Es gibt einige Programme, die man von seinem iPhone nutzen möchte, hier jedoch eine Beschränkung auf “im eigenen WLAN/ LAN” vorliegt.
– Man möchte über eine sichere Verbindung in sein Heimnetzwerk und auf (s)eine(n) Rechner kommen.
– Man möchte die NAS Funktion der Fritz!Box nutzen und auf Daten zugreifen.
– Man möchte über die Fritz!App ausgehend über seinen Heimanschluss telefonieren 
– Man möchte von seinem iPhone über VNC/ RDesktop usw. auf andere Rechner im LAN
– und sicher noch einiges mehr.
Welchen VPN Tunnel kann man nun einrichten, um von seinem iPhone auf seine Fritz!Box zuzugreifen?
Leider unterstützt das iPhone auch in iOS 4 noch immer kein OpenVPN. Das wäre endlich mal wieder eine gute Funktion, die hoffentlich irgendwann von Apple nachgepflegt wird. Also muss man sich mit den gegebenen VPNs behelfen. L2TP, PPTP und IPSec stehen zur Auswahl und werden vom iPhone unterstützt.
IPSec kann die Fritz!Box seit einigen Versionen der (Labor)Version auch. Also ist das das Tunnelprotokoll der Wahl.
Wie viel Aufwand bedeutet die Einrichtung?
Eigentlich ist nicht viel Aufwand zu betreiben. Es muss eine Konfigurationsdatei vorliegen, die in die Fritz!Box geladen wird. Danach sind ein paar Einträge im iPhone vorzunehmen, der Tunnel kann aufgebaut werden und man ist per VPN aus anderen (Mobil)Netzen an seiner Fritz!Box dran. In Zeit ausgedrückt: Wenige Minuten, wenn eine funktionsfähige Konfigurationsdatei vorliegt.
Kann von überall auf die Fritz!Box zugegriffen werden?
Prinzipiell kann man leider nur sagen, dass dieses abhängig davon ist, wo man sich befindet und ob und wie dort das Netz eingerichtet ist. Sollte man in einem WLAN Netz sein, welches kein VPNpassthrough erlaubt, wird es nicht funktionieren. Das kann u.U. in einigen Netzen (zum Teil in Hotels) mal so sein. Aber eher selten. Meist wird man keine Probleme haben und man einen VPN Tunnel aufbauen.
Was ist sonst noch als Voraussetzung zu erfüllen?
1. Man muss seine Fritz!Box über einen Dynamischen DNS Dienst (z.B. DynDNS.org) registriert haben, um die aktuelle IP Adresse zu bekommen.
2. Man muss eine Firmware installiert haben, die VPN Unterstützt. Aktuellste Version für 7270′er (v2): Firmware-Version 54.04.85-17671 vom 26. Juni 2010.
3. Man muss ein paar Grundkenntnisse über IP, Sicherheit und Routing haben.
Wie erhält man eine Konfigurationsdatei zum Einspielen in die Fritz!Box?
Entweder man erstellt eine über das von AVM zur Verfügung gestellte Programm “Fernzugang einrichten”. Nachdem die Vorgabe erstellt wurde müssen mit einem Textprogramm (vi, gedit, nedit, Notepad) ein paar Änderungen vorgenommen werden. (Die Einrichtung dieser Konfigurationsdatei ist von AVM auf den Supportseiten gut erklärt und wird hier nicht weiter erläutert.)
Oder
Man nimmt die nachfolgende Beispieldatei, passt die fett hervorgehobenen Punkte seinen eigenen Bedürfnissen an und lädt diese in die Fritz!Box:
/*
* Beispiel-Konfigdatei fuer remote Zugang von iPhone auf FritzBOX
* Alles vom Kop bis //EOF ist zu kopieren und u.U. anzupassen.
*/
vpncfg {
connections {
enabled = yes;
conn_type = conntype_user;
name = “VPN Name in FritzBox”;
always_renew = no;
reject_not_encrypted = no;
dont_filter_netbios = yes;
localip = 0.0.0.0;
local_virtualip = 0.0.0.0;
remoteip = 0.0.0.0;
remote_virtualip = 192.168.NETZ.HOSTIP;
remoteid {
key_id = “email@adresse.domainname”;
}
mode = phase1_mode_aggressive;
phase1ss = “all/all/all”;
keytype = connkeytype_pre_shared;
key = “StrEngGehEiMESPassW0Rt”;
cert_do_server_auth = no;
use_nat_t = yes;
use_xauth = yes;
use_cfgmode = no;
xauth {
valid = yes;
username = “meinBenutzerName”;
passwd = “StrEngGehEiMESPassW0Rt”;
}
phase2localid {
ipnet {
ipaddr = 0.0.0.0;
mask = 0.0.0.0;
}
}
phase2remoteid {
ipaddr = 192.168.NETZ.HOSTIP;
}
phase2ss = “esp-all-all/ah-none/comp-all/no-pfs”;
accesslist =
“permit ip any 192.168.NETZ.HOSTIP 255.255.255.255″;
}
ike_forward_rules = “udp 0.0.0.0:500 0.0.0.0:500″,
“udp 0.0.0.0:4500 0.0.0.0:4500″;
}
// ENDE der Datei
Diese Datei muss an folgenden Stellen angepasst werden:
– name = Hier kann ein Name f. den VPN Eintrag in der FritzBox hinterlegt werden. z.B. “iPhone 1″
- remote_virtualip = Dem iPhone wird eine feste IP im VPN Netz zugewiesen. Darf sich nicht mit anderen im LAN genutzten IPs überschneiden.
– key_id = Die eigene eMail Adresse als eindeutige ID
– key = Ein möglichst kryptisches Passwort!
– username = Der Benutzername, mit dem man sich anmelden möchte
– passwd = Ein möglichst kryptisches Passwort (muss am iPhone eingegeben werden!)
– ipaddr = Die IP Adresse, die dem iPhone zugewiesen wird
– accesslist = Hier wird entschieden, ob und wie das iPhone auf das Netz zugreifen kann.
Wichtig: Der Eintrag accesslist regelt, wie und was das iPhone aus dem VPN Netz machen darf. Hier unterscheidet sich der Eintrag von den von AVM vorgegebenen Werten. Wird der Wert auf das IP Netz im Heimnetz (wie von AVM vorgeschlagen) beschränkt, so kann das iPhone nur in das Heimnetzwerk, jedoch nicht über den VPN Tunnel, die Fritz!Box in die weite Welt. Es wird also das Routing aus dem VPN Netz über die Fritz!Box unterbunden.
Mit dem Eintrag permit ip any … wird dem iPhone der Zugang gestattet, somit ist zum Beispiel ein Zugriff vom iPhone per SSH auf ein externes System erlaubt.
Diese Konfigurationsdatei kann nun unter (Expertenansicht einstellen!) Internet -> Freigaben -> VPN reingeladen werden. Der erfolgreiche Import wird von der Fritz!Box bestätigt und es erscheint der Eintrag in der VPN Liste unten auf der Seite.
Einrichtung des iPhones
Im IPhone sind die VPN Einstellungen unter iOS4 unter Einstellungen -> Allgemein -> Netzwerk -> VPN zu finden.
Es wird über VPN hinzufügen -> IPSec ein neuer Eintrag vorgenommen:
Beschreibung: Irgendein Name, z.B. "iPhone nach Hause"
Server: meinname.dynamischer.dnsdienst
Account: meinBenutzerName
Kennwort: Wird abgefragt und sollte aus Sicherheitsgründen nicht gespeichert werden.
Gruppenname: Die eMailadresse aus dem Feld key_id (z.B. email@adresse.domainname)
Shared Secret: Der Eintrag aus dem Feld key (z.B. StrEngGehEiMESPassW0Rt)
Damit sind die zwei Geräte eingerichtet. Die Fritz!Box akzeptiert nun Verbindungen per IPsec. Ein Verbindungsaufbau über Einstellungen -> VPN vom iPhone sollte innerhalb weniger Sekunden mit der Abfrage des Benutzernamens (voreingetragen) und dem Passwort quittiert werden.
Ein erfolgreiches Anmelden per VPN und der korrekt aufgebaute Tunnel werden in der “Kopfleiste” im iPhone mit dem Zeichen VPN angezeigt.
Ein Zugriff z.B. per HTTP auf http://Ip_der_Fritzbox (z.B. 192.168.178.1) sollte nun wie gewünscht die Konfigurationsseite der Fritz!Box hervorbringen. Über Apps auf dem iPhone (z.B. Ping lite) können nun Netzwerktools wie ping dazu genutzt werden, die IP der Fritz!Box oder anderer Geräte im LAN oder auch außerhalb des LANs z pingen.
Auch die Fritz!NAS Funktion kann genutzt werden. Im Safari einfach http://Ip_der_Fritzbox/nas eingeben und man kann durch die Verzeichnisstruktur des NAS gehen und auf die dortigen Daten zugreifen.
Ein Highlight wird allerdings die Nutzung der Fritz!App zur Telefonie sein. Einfach den VPN Tunnel aufbauen, die App starten und über seinen Heim-Telefonanschluss telefonieren. Hat man dort eine (Festnetz)Flat, so fallen außer der Datenübertragungskosten keine weiteren an.
Welche Probleme liegen derzeit noch vor?
– Leider ist es mir trotz mehrmaligem Probieren mit den Accesslisten, verschiedener Konfigurationen und googlen noch immer nicht möglich, vom iPhone DNS Abfragen zu machen. Ein Surfen über die Fritz!Box ist somit noch nicht gegeben. Zwischendurch hatte es mal funktioniert…. Mir ist noch schleierhaft, wieso das nun nicht mehr geht. Ich habe dann noch mal versucht, in der Konfigurationsdatei (DNS) Werte (z.B. override_dns1, dns, usw.) mitzuliefern, die von der Fritz!Box beim Import der Konfiguration auch anstandslos geladen werden. Allerdings habe ich keinen Zugriff auf den DNS der Fritz!Box. Eine Supportanfrage an AVM habe ich gestellt, mal sehen, wie die antworten….
– Telefonie über den VPN Tunnel mit der Fritz!App: Die Sprachqualität unter iOS4 auf einem 3G(S) ist derzeit nicht nutzbar. Das ist allerdings ein Bug von AVM, die arbeiten an einer Lösung. Mit einem iPhone 4 sollte es klappen.
– Einige Provider verbieten in ihren AGBs vertraglich die Nutzung von VPN. Lösung: Kündigen und einen richtigen Provider suchen….
Sobald auch die DNS Auflösung möglich ist, werde ich das hier dokumentieren. Vll. findet ja vorher einer der Leser eine Lösung, die ich vor lauter VPN-Bäumen derzeit nicht mehr sehe……
// UPDATE 26.08.2010 //
Eine Möglichkeit, die DNS Probleme zumindest zum Surfen zu umgehen habe ich nun einmal erklärt. Einfach mal auf http://www.rotzoll.net/2010/08/dns-problem-bei-vpn-tunnel-von-iphone-an-fritzbox-umgehen/ nachlesen, wie es doch irgendwie geht…
// UPDATE Ende //
// UPDATE 17.11.2010 //
Auf Grund einiger Nachfragen hier noch eine Erklärung zu Problemen mit dem Aufruf von fritz.box oder fritz.nas.
Beides bitte durch die IP der FritzBox (im Auslieferungszustand ist das 192.168.178.1) im Heimnetz ersetzen! Dann geht es auch mit dem Aufruf der FritzBox Oberfläche, der Anmeldung von SIP Clients (sei es von AVM direkt oder anderen Softphones) und der NAS Geschichte. Auch, wenn der Client auf dem iPhone nicht wirklich laufen wird. JAVA sei Dank.
Ein ZUgriff auf den Online-Speicher (manche nennen es NAS) geht auch über Browser: http://IP_DER_FRITZBOX/nas
// UPDATE Ende //
Ein paar Hilfeseiten:
Beschreibung bei AVM zur Anbindung eines iPhones
Beschreibung bei AVM über VPN allgemein
Hinweis:
Die Anleitung bietet keine Gewähr auf Richtigkeit, Vollständigkeit oder Funktionsfähigkeit.
Jede Nutzung geschieht auf eigene Gefahr und eigenes Risiko hin!
Wieso sollte man mit seinem iPhone einen VPN Tunnel zu seiner Fritz!Box herstellen wollen? Welche Vorteile bietet dieses? Wie aufwändig ist dieses? Kann man über den VPN Tunnel surfen (Routing ins Internetz)?
Grundsätzlich:
- Es gibt einige Programme, die man von seinem iPhone nutzen möchte, hier jedoch eine Beschränkung auf "im eigenen WLAN/ LAN" vorliegt.
- Man möchte über eine sichere Verbindung in sein Heimnetzwerk und auf (s)eine(n) Rechner kommen.
- Man möchte die NAS Funktion der Fritz!Box nutzen und auf Daten zugreifen.
- Man möchte über die Fritz!App ausgehend über seinen Heimanschluss telefonieren ;-)
- Man möchte von seinem iPhone über VNC/ RDesktop usw. auf andere Rechner im LAN
- und sicher noch einiges mehr.
Welchen VPN Tunnel kann man nun einrichten, um von seinem iPhone auf seine Fritz!Box zuzugreifen?
Leider unterstützt das iPhone auch in iOS 4 noch immer kein OpenVPN. Das wäre endlich mal wieder eine gute Funktion, die hoffentlich irgendwann von Apple nachgepflegt wird. Also muss man sich mit den gegebenen VPNs behelfen. L2TP, PPTP und IPSec stehen zur Auswahl und werden vom iPhone unterstützt.
IPSec kann die Fritz!Box seit einigen Versionen der (Labor)Version auch. Also ist das das Tunnelprotokoll der Wahl.
Wie viel Aufwand bedeutet die Einrichtung?
Eigentlich ist nicht viel Aufwand zu betreiben. Es muss eine Konfigurationsdatei vorliegen, die in die Fritz!Box geladen wird. Danach sind ein paar Einträge im iPhone vorzunehmen, der Tunnel kann aufgebaut werden und man ist per VPN aus anderen (Mobil)Netzen an seiner Fritz!Box dran. In Zeit ausgedrückt: Wenige Minuten, wenn eine funktionsfähige Konfigurationsdatei vorliegt.
Kann von überall auf die Fritz!Box zugegriffen werden?
Prinzipiell kann man leider nur sagen, dass dieses abhängig davon ist, wo man sich befindet und ob und wie dort das Netz eingerichtet ist. Sollte man in einem WLAN Netz sein, welches kein VPNpassthrough erlaubt, wird es nicht funktionieren. Das kann u.U. in einigen Netzen (zum Teil in Hotels) mal so sein. Aber eher selten. Meist wird man keine Probleme haben und man einen VPN Tunnel aufbauen.
Was ist sonst noch als Voraussetzung zu erfüllen?
1. Man muss seine Fritz!Box über einen Dynamischen DNS Dienst (z.B. DynDNS.org) registriert haben, um die aktuelle IP Adresse zu bekommen.
2. Man muss eine Firmware installiert haben, die VPN Unterstützt. Aktuellste Version für 7270'er (v2): Firmware-Version 54.04.85-17671 vom 26. Juni 2010.
3. Man muss ein paar Grundkenntnisse über IP, Sicherheit und Routing haben.
Wie erhält man eine Konfigurationsdatei zum Einspielen in die Fritz!Box?
Entweder man erstellt eine über das von AVM zur Verfügung gestellte Programm "Fernzugang einrichten". Nachdem die Vorgabe erstellt wurde müssen mit einem Textprogramm (vi, gedit, nedit, Notepad) ein paar Änderungen vorgenommen werden. (Die Einrichtung dieser Konfigurationsdatei ist von AVM auf den Supportseiten gut erklärt und wird hier nicht weiter erläutert.)
Oder
Man nimmt die nachfolgende Beispieldatei, passt die fett hervorgehobenen Punkte seinen eigenen Bedürfnissen an und lädt diese in die Fritz!Box:
/*
* Beispiel-Konfigdatei fuer remote Zugang von iPhone auf FritzBOX
* Alles vom Kop bis //EOF ist zu kopieren und u.U. anzupassen.
*/
vpncfg {
connections {
enabled = yes;
conn_type = conntype_user;
name = "VPN Name in FritzBox";
always_renew = no;
reject_not_encrypted = no;
dont_filter_netbios = yes;
localip = 0.0.0.0;
local_virtualip = 0.0.0.0;
remoteip = 0.0.0.0;
remote_virtualip = 192.168.NETZ.HOSTIP;
remoteid {
key_id = "email@adresse.domainname";
}
mode = phase1_mode_aggressive;
phase1ss = "all/all/all";
keytype = connkeytype_pre_shared;
key = "StrEngGehEiMESPassW0Rt";
cert_do_server_auth = no;
use_nat_t = yes;
use_xauth = yes;
use_cfgmode = no;
xauth {
valid = yes;
username = "meinBenutzerName";
passwd = "StrEngGehEiMESPassW0Rt";
}
phase2localid {
ipnet {
ipaddr = 0.0.0.0;
mask = 0.0.0.0;
}
}
phase2remoteid {
ipaddr = 192.168.NETZ.HOSTIP;
}
phase2ss = "esp-all-all/ah-none/comp-all/no-pfs";
accesslist =
"permit ip any 192.168.NETZ.HOSTIP 255.255.255.255";
}
ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
"udp 0.0.0.0:4500 0.0.0.0:4500";
}
// ENDE der Datei
Diese Datei muss an folgenden Stellen angepasst werden:
- name = Hier kann ein Name f. den VPN Eintrag in der FritzBox hinterlegt werden. z.B. "iPhone 1"
- remote_virtualip = Dem iPhone wird eine feste IP im VPN Netz zugewiesen. Darf sich nicht mit anderen im LAN genutzten IPs überschneiden.
- key_id = Die eigene eMail Adresse als eindeutige ID
- key = Ein möglichst kryptisches Passwort!
- username = Der Benutzername, mit dem man sich anmelden möchte
- passwd = Ein möglichst kryptisches Passwort (muss am iPhone eingegeben werden!)
- ipaddr = Die IP Adresse, die dem iPhone zugewiesen wird
- accesslist = Hier wird entschieden, ob und wie das iPhone auf das Netz zugreifen kann.
Wichtig: Der Eintrag accesslist regelt, wie und was das iPhone aus dem VPN Netz machen darf. Hier unterscheidet sich der Eintrag von den von AVM vorgegebenen Werten. Wird der Wert auf das IP Netz im Heimnetz (wie von AVM vorgeschlagen) beschränkt, so kann das iPhone nur in das Heimnetzwerk, jedoch nicht über den VPN Tunnel, die Fritz!Box in die weite Welt. Es wird also das Routing aus dem VPN Netz über die Fritz!Box unterbunden.
Mit dem Eintrag permit ip any ... wird dem iPhone der Zugang gestattet, somit ist zum Beispiel ein Zugriff vom iPhone per SSH auf ein externes System erlaubt.
Diese Konfigurationsdatei kann nun unter (Expertenansicht einstellen!) Internet -> Freigaben -> VPN reingeladen werden. Der erfolgreiche Import wird von der Fritz!Box bestätigt und es erscheint der Eintrag in der VPN Liste unten auf der Seite.
Einrichtung des iPhones
Im IPhone sind die VPN Einstellungen unter iOS4 unter Einstellungen -> Allgemein -> Netzwerk -> VPN zu finden.
Es wird über VPN hinzufügen -> IPSec ein neuer Eintrag vorgenommen:
Beschreibung: Irgendein Name, z.B. "iPhone nach Hause"
Server: meinname.dynamischer.dnsdienst
Account: meinBenutzerName
Kennwort: Wird abgefragt und sollte aus Sicherheitsgründen nicht gespeichert werden.
Gruppenname: Die eMailadresse aus dem Feld key_id (z.B. email@adresse.domainname)
Shared Secret: Der Eintrag aus dem Feld key (z.B. StrEngGehEiMESPassW0Rt)
Damit sind die zwei Geräte eingerichtet. Die Fritz!Box akzeptiert nun Verbindungen per IPsec. Ein Verbindungsaufbau über Einstellungen -> VPN vom iPhone sollte innerhalb weniger Sekunden mit der Abfrage des Benutzernamens (voreingetragen) und dem Passwort quittiert werden.
Ein erfolgreiches Anmelden per VPN und der korrekt aufgebaute Tunnel werden in der "Kopfleiste" im iPhone mit dem Zeichen VPN angezeigt.
Ein Zugriff z.B. per HTTP auf http://Ip_der_Fritzbox (z.B. 192.168.178.1) sollte nun wie gewünscht die Konfigurationsseite der Fritz!Box hervorbringen. Über Apps auf dem iPhone (z.B. Ping lite) können nun Netzwerktools wie ping dazu genutzt werden, die IP der Fritz!Box oder anderer Geräte im LAN oder auch außerhalb des LANs z pingen.
Auch die Fritz!NAS Funktion kann genutzt werden. Im Safari einfach http://Ip_der_Fritzbox/nas eingeben und man kann durch die Verzeichnisstruktur des NAS gehen und auf die dortigen Daten zugreifen.
Ein Highlight wird allerdings die Nutzung der Fritz!App zur Telefonie sein. Einfach den VPN Tunnel aufbauen, die App starten und über seinen Heim-Telefonanschluss telefonieren. Hat man dort eine (Festnetz)Flat, so fallen außer der Datenübertragungskosten keine weiteren an.
Welche Probleme liegen derzeit noch vor?
- Leider ist es mir trotz mehrmaligem Probieren mit den Accesslisten, verschiedener Konfigurationen und googlen noch immer nicht möglich, vom iPhone DNS Abfragen zu machen. Ein Surfen über die Fritz!Box ist somit noch nicht gegeben. Zwischendurch hatte es mal funktioniert.... Mir ist noch schleierhaft, wieso das nun nicht mehr geht. Ich habe dann noch mal versucht, in der Konfigurationsdatei (DNS) Werte (z.B. override_dns1, dns, usw.) mitzuliefern, die von der Fritz!Box beim Import der Konfiguration auch anstandslos geladen werden. Allerdings habe ich keinen Zugriff auf den DNS der Fritz!Box. Eine Supportanfrage an AVM habe ich gestellt, mal sehen, wie die antworten....
- Telefonie über den VPN Tunnel mit der Fritz!App: Die Sprachqualität unter iOS4 auf einem 3G(S) ist derzeit nicht nutzbar. Das ist allerdings ein Bug von AVM, die arbeiten an einer Lösung. Mit einem iPhone 4 sollte es klappen.
- Einige Provider verbieten in ihren AGBs vertraglich die Nutzung von VPN. Lösung: Kündigen und einen richtigen Provider suchen....
Sobald auch die DNS Auflösung möglich ist, werde ich das hier dokumentieren. Vll. findet ja vorher einer der Leser eine Lösung, die ich vor lauter VPN-Bäumen derzeit nicht mehr sehe......
// UPDATE 26.08.2010 //
Eine Möglichkeit, die DNS Probleme zumindest zum Surfen zu umgehen habe ich nun einmal erklärt. Einfach mal auf http://www.rotzoll.net/2010/08/dns-problem-bei-vpn-tunnel-von-iphone-an-fritzbox-umgehen/ nachlesen, wie es doch irgendwie geht...
// UPDATE Ende //
// UPDATE 17.11.2010 //
Auf Grund einiger Nachfragen hier noch eine Erklärung zu Problemen mit dem Aufruf von fritz.box oder fritz.nas.
Beides bitte durch die IP der FritzBox (im Auslieferungszustand ist das 192.168.178.1) im Heimnetz ersetzen! Dann geht es auch mit dem Aufruf der FritzBox Oberfläche, der Anmeldung von SIP Clients (sei es von AVM direkt oder anderen Softphones) und der NAS Geschichte. Auch, wenn der Client auf dem iPhone nicht wirklich laufen wird. JAVA sei Dank.
Ein ZUgriff auf den Online-Speicher (manche nennen es NAS) geht auch über Browser: http://IP_DER_FRITZBOX/nas
// UPDATE Ende //
Ein paar Hilfeseiten:
Beschreibung bei AVM zur Anbindung eines iPhones
Beschreibung bei AVM über VPN allgemein
Hinweis:
Die Anleitung bietet keine Gewähr auf Richtigkeit, Vollständigkeit oder Funktionsfähigkeit.
Jede Nutzung geschieht auf eigene Gefahr und eigenes Risiko hin!