• Blog
  • Raspberry Pi
  • Über mich
  • Projekte
  • devowl.io

Raspberry Pi: PPTP VPN-Server installieren

19. Dezember 2013
Raspberry Pi
19 Kommentare

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

#localip 192.168.0.1

ersetzen durch

localip 192.168.178.28
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

ms-dns 8.8.8.8
noipx
mtu 1490
mru 1490
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

#net.ipv4.ip_forward=1

ersetzen durch

net.ipv4.ip_forward=1
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

@reboot sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
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

Benutzername[TAB]*[TAB]Kennwort[TAB]*

Beispiel

Jan     *       SuperGeheimesPasswort   *
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:

  • Windows XP
  • Windows 7
  • Windows 8
  • Mac OS X
  • Ubuntu
  • iOS (iPhone/iPad)
  • Android

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

19 Kommentare. Hinterlasse eine Antwort

  • Sherlock
    Dezember 20, 2013 10:07 am

    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
      Dezember 20, 2013 1:32 pm

      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
  • Peter Lehmann
    Dezember 25, 2013 7:24 pm

    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
    • Jan Karres
      Dezember 26, 2013 6:06 pm

      Den Vorschlag ich mal in die Todo-Liste aufgenommen 😉

      Antworten
  • Rico Weigand
    Januar 18, 2014 7:48 pm

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

    Antworten
    • Jan Karres
      Januar 19, 2014 12:13 am

      Solle mit einer Freigabe von Port 1723 getan sein.

      Antworten
  • Karsten Zühlke
    Februar 10, 2014 7:42 pm

    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
    • Jan Karres
      Februar 16, 2014 5:52 pm

      Steht schon auf der Todo-Liste, jedoch habe ich noch andere Themen, über die ich zuvor schreiben möchte.

      Antworten
  • Andreas Oswald
    März 2, 2014 1:54 pm

    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
      März 5, 2014 4:39 pm

      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
  • Mario
    März 25, 2014 5:14 pm

    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
      März 26, 2014 6:28 pm

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

      Antworten
      • Mario
        März 27, 2014 6:00 pm

        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
  • Samuel
    Oktober 15, 2014 6:55 pm

    Kann man den Server auch für IPv6 konfigurieren?

    Antworten
    • Jan Karres
      Oktober 18, 2014 3:09 pm

      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
  • Peter
    August 17, 2015 6:49 pm

    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
  • Jürgen
    Dezember 2, 2015 10:53 am

    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
    • Peter
      Juli 4, 2016 8:14 pm

      Du musst neustarten…. wahrscheinlich hast du es schon gemacht 🙂

      Antworten
  • Casabble
    März 7, 2022 10:31 am

    Hallo,
    ich weiß es ist schon alles etwas älter. Ich habe jetzt mehrere Jahre diesen weg für den VPN-Tunnel in Benutzung gehabt und auch keinerlei Probleme. Nun habe ich allerdings das Problem, dass ich keine öffentliche IPv4-Adresse mehr von meinem neuen Anbieter bekomme und es auch keine buchbare Option gibt. Ich habe schon, wie in „Step 5“ beschrieben den „ipv6 forward“ eingeschaltet. leider ohne Erfolg. gibt es eine Möglichkeit, den Tunnel über IPv6 zum Laufen zu bekommen?
    Gruß

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Jan Karres
Jan Karres
Wirtschaftsinformatiker
Facebook
Twitter
YouTube
LinkedIn
Xing
GitHub

Themen

  • Blogging
  • Debian (Linux)
  • Eine Geschichte aus dem Leben des Jan
  • Fotos
  • Gaming
  • Gedanken
  • Linksammlungen
  • Privates
  • Projekte
  • Raspberry Pi
    • Einplatinencomputer (außer Raspberry Pi)
  • Schule und Studium
  • Tipps und Tricks
  • Videos
  • Vorgestellt
  • WordPress

Projekte

Dieser Blog ist meine kleine Base im Internet, in der ich über Themen schreibe, die mich persönlich beschäftigen. Abseits davon habe ich weitere Projekte im Netz, die teils aus Spaß entstanden, jedoch zum Teil auch meinen Kühlschrank füllen.

Alle Projekte

JanKarres.de © 2007-2022

Neueste Beiträge

  • Raspberry Pi: WLAN Access Point mit NordVPN (VPN Router) einrichten Dezember 5, 2020
  • Real Cookie Banner: Wie das Opt-in Cookie Banner für WordPress entstand November 18, 2020
  • Blog Setup erneut: Aufräumen einer kleinen Historie Oktober 13, 2020
  • devowl.io: Auf geht’s in das WordPress Business! März 10, 2020
  • Kuschelpartys: Nähe und Geborgenheit einfach erleben September 30, 2018

devowl.io

Meine Brötchen verdiene ich im Internet. Dazu habe ich gemeinsam mit meinem Kollegen Matze die devowl.io GmbH gegründet. Gemeinsam entwickeln und vertreiben wir in unser Plugins und Entwickler-Tools im WordPress Umfeld.

Mehr erfahren
  • Datenschutzerklärung
  • Impressum