Raspberry Pi: PPTP VPN-Server installieren

19 Dez
19. Dezember 2013

Ab und zu ist man in öffentlichen W-LAN Netzwerken, wie in einem Café oder an der Uni. Verwendet man dort das Internet einfach, so können meist alle Personen, die zur selben Zeit in dem W-LAN eingewählt sind, den Datenverkehr mitschneiden – ganz abgesehen vom Betreiber des Netzwerkes. Damit können auch Zugangsdaten und persönliche Informationen mitgeschnitten werden. Um dies zu verhindern, kann man den Internetverkehr durch eine verschlüsselte Verbindung leiten, einen sogenannten VPN-Tunnel. Dabei wird der Datenverkehr verschlüsselt an einen Server (in unserem Fall der Raspberry Pi zu Hause) geleitet, der wiederum die eigentlich gewünschten Abfragen ausführt und die Antworten wieder verschlüsselt zurück zu dir in das öffentliche Netzwerk sendet. Ein beliebter VPN Server, da er mit vielen Geräten von Haus aus kompatibel ist, ist PPTP. Daneben gibt es noch OpenVPN, der ebenfalls beliebt ist und zu dem ich bereits eine Installationsanleitung veröffentlicht habe. Auf die Vor- und Nachteile beider VPN-Server möchte ich an dieser Stelle jedoch nicht eingehen. Stattdessen erkläre ich im Folgenden wie man einen PPTP VPN-Server auf den Raspberry Pi installiert.

Voraussetzung: Raspbian oder vergleichbare Distribution installiert

Wichtige Info: Sherlock hat in den Kommentaren angemerkt, das die Authentifizierung PPTP seit August 2012 als unsicher gilt. Dies wurde damals durch Heise Security getestet. Mir war diese Umstand zum Zeitpunkt als das Tutorial verfasst wurde nicht bekannt. Ich kann euch an dieser Stelle nur dazu raten OpenVPN anstatt PPTP zu installieren.

Step 1

Zunächst aktualisieren wir die bereits installierten Pakete des Betriebssystem, um sicherzugehen, dass diese aktuell sind.

sudo apt-get update && sudo apt-get upgrade

Step 2

Nun installieren wir mittels des Paketmanagers APT den VPN-Server PPTP.

sudo apt-get install pptpd

Step 3

Wir müssen nun in der Datei /etc/pptp.conf die lokale IP-Adresse des Raspberry Pis eintragen. Falls dir diese nicht bekannt sein sollte, kannst du diese im Router meist unter Netzwerk, Verbundene Geräte o.ä. herausfinden. In meinem Fall lautet die IP-Adresse 192.168.178.28 (muss im Folgenden durch die eigene IP-Adresse ersetzt werden). In dem Editor nano kann man mittels STRG + X, Y und Enter speichern.

sudo nano /etc/pptpd.conf

ersetzen durch

Step 4

Jetzt müssen wir am Ende der Datei /etc/ppp/pptpd-options folgende Zeilen einfügen. Der Parameter ms-dns definiert den DNS-Server, über den Domains aufgelöst werden. Hierbei kann natürlich auch ein anderer Server, z.B. aus der folgenden Liste, verwendet werden.

Öffentliche DNS-Server:

  • OpenDNS: 208.67.222.222
  • Chaos Computer Club Berlin: 213.73.91.35
  • Google: 8.8.8.8

sudo nano /etc/ppp/pptpd-options

Step 5

Wir müssen nun noch eine Weiterleitung des Internetzugangs einrichten, sodass man über den Raspberry Pi auf das heimische Internet zugreifen kann.

sudo nano /etc/sysctl.conf

ersetzen durch

Step 6

Der Firewall auf dem Raspberry Pi müssen wir nun auch noch sagen, dass sie den Datenverkehr weiterleiten soll.

sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Step 6

Da die Firewall diese Anweisung nach jedem Neustart des Rapberry Pis löscht, müssen wir diese als Crontab eintragen, sodass sie bei jedem Start wieder definiert wird. Hierzu tragen wir einfach folgende Zeile am Ende der Crontab Datei ein.

sudo crontab -e

Step 7

Nun ist es an der Zeit, Benutzer anzulegen, die sich später mit dem PPTP VPN-Server verbinden können. Deren Zugangsdaten müssen wir nach folgendem Schema in die /etc/ppp/chap-secrets Datei eintragen. Pro Zeile darf ein Benutzer eingetragen werden.

sudo nano /etc/ppp/chap-secrets

Schema

Beispiel

Step 8

Damit alle Änderungen übernommen werden, starten wir mittels folgenden Kommandos den PPTP VPN-Server neu.

sudo service pptpd restart

Fertig! Auf dem Raspberry Pi befindet sich nun ein einsatzbereiter PPTP VPN-Server. Wie man sich mit diesem unter verschiedenen Betriebssystemen verbindet, wird euch in den folgenden Anleitungen von anderen Bloggern/Webseiten erklärt. Was ich noch beim schreiben dieses Artikels bemerkt habe, ist, dass es manchmal bis zu einer Minute nach dem erfolgreichen Anmelden an den VPN-Server dauert, bis man über diesen auf das Internet zugreifen kann.

Anleitungen nach Betriebssystemen:

Zugriff außerhalb des eigenen Netzwerks
Portfreigabe im Router

Soll der soeben installierte Dienst auch außerhalb des eigenen Netzwerkes verfügbar sein, so müssen folgende Ports im Router freigegeben werden. Wie man freigibt, beschrieb ich in dem Artikel Portforwarding bei Fritz!Box und Speedport.

1723
Dir hat der Artikel gefallen?
Teile ihn mit deinen Freunden!
18 Antworten
  1. Sherlock says:

    Auch wenn man nicht groß auf die Unterschiede zwischen PPTP und OpenVPN eingehen will sollte man doch zumindest erwähnen, daß PPTP geknackt ist und Microsoft selber vom Einsatz abrät: http://www.heise.de/security/meldung/Microsoft-warnt-vor-PPTP-und-MS-CHAP-1671706.html

    Antworten
    • Jan Karres says:

      Danke für den Hinweis. Mir fahren Sicherheitsprobleme von vor 2012 bekannt, welche gefixt wurden. Jedoch ging dieses endgültige Ende von PPTP an mir vorüber. Habe es natürlich im Beitrag ergänzt!

      Antworten
  2. Peter Lehmann says:

    Gute Anleitung (wie bisher alles, was ich hier als Anleitungen hier lesen konnte). Und es ist auch sehr wichtig, dass du so schnell auf den Hinweis von SHERLOCK eingegangen bist. Für die Nutzung von PPTP gibt es kaum noch einen Grund (außer vielleicht bei einem Client, der nix anderes kann).

    Wenn du jetzt noch eine der in Netz vorhandenen Anleitungen für ein IPsec-Gateway „aufbereiten“ könntest (StrongSWAN), dann hättest du hier mit allen drei gängigen Varianten ein Rundum-Paket für alle Ansprüche geliefert.

    MfG Peter

    Antworten
  3. Rico Weigand says:

    Hallo Jan. Welche Ports muss ich denn freigeben? Lokal funktioniert alles. Extern geht aber überhaupt nichts

    Antworten
  4. Karsten Zühlke says:

    Deine Anleitung(en) sind Spitze und für mich immer nachvollziehbar und funktionstüchtig.
    Da PPTP ja nun geknackt ist und nicht mehr verwendet werden sollte, habe ich nach einer funktionierenden Installation für einen VPN-Server mit L2TP/IPSec auf dem Raspberry gesucht. Keine hat beim Zugriff von außen funktioniert.
    Dieser soll den Zugriff auf mein zuhauseNAS mit Notebook und AndroidMobile absichern.
    Das wär doch vielleicht für dich einfach und für viele „Schutzbedürftigen“ ein lohnendes Thema.
    Mfg Karsten

    Antworten
  5. Andreas Oswald says:

    Super Anleitung. Verbindung konnte ich erfolgreich herstellen. Aber ich kann keine Verbindung zu anderen Netzwerkgeräten im LAN herstellen? Was muss dafür noch konfiguriert werden?

    Antworten
    • Jan Karres says:

      Kann ich dir auf die Schnelle nicht beantworten, da meine Stärke nicht gerade im Thema Netzwerktechnik liegt. Aber mit etwas Googeln sollte man das schon rausbekommen können 😉

      Antworten
  6. Mario says:

    Hallo Jan
    Erst einmal vielen Dank für die vielen Infos und Anleitungen zu dem Raspberry Pi.
    Da ich mit OpenVPN noch grössere Probleme habe, möchte ich vorerst den PPTP einrichten.
    Die Anleitung habe ich befolgt und ich konnte auch eine Verbindung aufbauen, aber sobald ich die SSH Verbindung mit Putty trenne, dann kann ich keine Verbindung mehr aufbauen. Erst wenn ich micht wieder mit SSH anmelde und die Zeile sudo service pptpd restart ausführe, dann kann ich auch wieder eine PPTP-Verbindung aufbauen, aber nur solange ich mit SSH angemeldet bin.
    Woran kann das liegen und was kann ich dagegen machen?

    Antworten
    • Jan Karres says:

      Das kann ich mir eigentlich nicht wirklich vorstellen. Bist du dir sicher, dass es einen Zusammenhang zum offenen Terminal gibt…?

      Antworten
      • Mario says:

        Das machten nach 3x prüfen genau den anschein, aber irgendwie musste das mehr ein Zufall gewesen sein. Jetzt läuft die PPTP-Verbindung teilweise, aber wirklich nur teilweise. Ich werde das in den nächsten Tagen noch weiter prüfen.
        Danke Dir.

        Antworten
  7. Samuel says:

    Kann man den Server auch für IPv6 konfigurieren?

    Antworten
    • Jan Karres says:

      Ich kann dir auf Grund der Sicherheitslage, wie im Artikel beschrieben, von der Nutzung von PPTP nur abraten, weshalb ich hier keinen Support mehr gebe.

      Antworten
  8. Peter says:

    Dein Tutorial ist leider immer noch nützlich,….wenn man ein Windows Phone hat. Dies kann zwar L2TP/IPSec. Lieder geht es aber nicht mit der allseits beliebten Lösung Softether als Server.

    Antworten
  9. Jürgen says:

    Hallo,

    danke für die gute Anleitung. Bei Step 6 bekomme ich folgende Fehlermedung

    pi@raspberrypi ~ $ sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

    libkmod: ERROR ../libkmod/libkmod.c:554 kmod_search_moddep: could not open moddep file ‚/lib/modules/3.18.11+/modules.dep.bin‘
    iptables v1.4.14: can’t initialize iptables table `nat‘: Table does not exist (do you need to insmod?)
    Perhaps iptables or your kernel needs to be upgraded.

    Was mache ich falsch?

    Antworten

Antworten

Kommentar verfassen

JanKarres.de © 2007-2018