PPTP-VPN mit dem iPhone + Debian-Server

iPhoneBlog-Leser Philipp Wegner (E-Mail) hat uns das folgende PPTP-VPN Tutorial geschickt, um sich von Unterwegs in sein heimisches Netzwerk einzuwählen. Natürlich mit einem iPhone.

Ohne andauerndes Port-Forwarding werdet ihr so auch ‚auf Reisen‘ zum Teil eures eigenen LANs und tunnelt neben VoIP, IM euren ganzen wichtigen NAS-Dokumenten den Inhalt eures Webservers, der nicht ins Internet gestellt werden soll.

**

Eine kurze Anmerkung vorweg: Als meinen eigenen Debian-Homeserver betreibe ich die Slug, ein NAS-Gerät von Linksys, welches kaum mehr als zwei Watt Stromverbrauch verzeichnet, aber ein vollwertiges Debian für ARM bereithält.

iphone.jpg

Schritt 1: Aufsetzen des Servers

Ab Kernel 2.6.15 wird bei Debian MPPE unterstützt. Mit dem Befehl

apt-get install pptpd

installiert ihr den pptp-Dienst. Danach in der /etc/pptpd.conf-Konfigurationsdatei die Lokale- und die Remote-IP setzen. Die lokale IP wird auf die IP des pptp-Servers eingestellt, die Remote-IP ist die Range, die an Geräte vergeben wird, die sich per VPN verbinden.

localip 192.168.1.23
remoteip 192.168.0.220-230

Die Einträge sind beispielhaft auskommentiert. Einfach die Raute wegnehmen und die IPs anpassen. Dann in der /etc/ppp/pptpd-options einen DNS-Server eintragen:

ms-dns 192.168.1.1

Auch dieser Eintrag ist auskommentiert schon vorhanden, weshalb eine weitere einfache Anpassung genügt. Jetzt können die Geräte auch Namen auflösen.

Schritt 2: User hinzufügen

Danach in der /etc/ppp/chap-secrets einen Benutzer hinzufügen. Für einen iPhone-User beispielsweise:

iphone pptpd "passwort" *

Das Passwort muss tatsächlich in Anführungszeichen geschrieben werden. Passwörter ab 12 Stellen gelten als sicher. ‚iphone‘ ist hier ein beispielhafter Benutzername. Als Server kann man ‚pptpd‘ eintragen.

Schritt 3: Server-Neustart

Damit alle Settings aktiv werden gilt:

/etc/init.d/pptpd restart

Schritt 4: iPhone konfigurieren

Dieser Screenshot ist eine mögliche Konfiguration für den oben genannten User:

iphone2.jpg

Optional:

Ich weiß nicht ob man es braucht, aber ich habe noch IP-Forwarding aktiviert:

echo "1" > /proc/sys/net/ipv4/ip_forward

Der TCP-Port 1723 für pptp sollte vom Router auf den Server zeigen, womit der Leitweg dann auch korrekt funktionieren müsste.

dd-wrt1.jpg

Die Linux-Distibution DD-WRT für WiFi-Router unterstützt die PPTP-Einstellungen übrigens schon von Haus aus.