WARNUNG: PPTP IST EIN SICHERES PROTOKOLL! Die Verschlüsselung wurde nicht nur verletzt, sondern sendet Ihre Authentifizierung auch im Klartext und kann leicht abgefangen werden. Es wurde geschätzt, dass der Zeitaufwand für das Brute-Force-Verfahren des Kennworts in etwa dem Zeitaufwand für das Brute-Force-Verfahren eines einzelnen DES-Schlüssels entspricht. Erwägen Sie die Verwendung von OpenVPN oder einer anderen VPN-Architektur anstelle von PPTP!
Ich habe diese Anleitung verwendet , um einen PPTP-VPN-Server auf meinem Ubuntu 12.04-Server einzurichten.
Um die wichtigsten Punkte des Links zusammenzufassen:
1: Installieren pptpd
und ufw
. iptables
kann anstelle von ufw verwendet werden, ist aber der Einfachheit halber ufw
besser, wenn Sie es nicht wissen iptables
.
sudo apt-get install pptpd ufw
2: Öffnen Sie die benötigten Ports. Das Handbuch schlägt 22 (SSH) und 1723 für das PPTP-VPN vor.
sudo ufw erlauben 22
sudo ufw erlauben 1723
sudo ufw aktivieren
3: Bearbeiten /etc/ppp/pptpd-options
. Öffnen Sie die Datei mit Ihrem Lieblingseditor (mines nano, daher lautet der Befehl für mich sudo nano /etc/ppp/pptpd-options
) und kommentieren Sie diese Zeilen aus, indem Sie ein #
vor sie setzen, wenn dies auf allen Betriebssystemen universell funktionieren soll:
Müll-pap
Müll-Kap
Müll-mschap
Sie können diese Zeile kommentieren, wenn Sie die Verschlüsselung deaktivieren möchten: require-mppe-128
4: Fügen Sie während der Bearbeitung /etc/ppp/pptpd-options
DNS-Server für das VPN hinzu. In diesem Beispiel werden OpenDNS-Server verwendet:
ms-dns 208.67.222.222
ms-dns 208.67.220.220
5: Bearbeiten /etc/pptpd.conf
. Öffnen Sie die Datei mit Ihrem Lieblingseditor (mine ist nano, der Befehl für mich ist also sudo nano /etc/pptpd.conf
). Sie müssen die lokalen VPN-IPs für das System hinzufügen. Fügen Sie also Folgendes hinzu:
localip 10.99.99.99
remoteip 10.99.99.100-199
Wenn Ihr System ein VPS ist, verwenden Sie die öffentliche IP für "localip". Wenn dies nicht der Fall ist und sich in einem lokalen Netzwerk befindet, verwenden Sie die Netzwerk-IP Ihres Computers. Verwenden Sie unterschiedliche IPs und Bereiche, wenn diese IPs in Ihrem Subnetz existieren! Wenn Sie Ihre öffentliche IP Ihres VPS nicht kennen, finden Sie sie, indem Sie ausführendig +short myip.opendns.com @resolver1.opendns.com
6: Bearbeiten /etc/ppp/chap-secrets
. Öffnen Sie die Datei mit Ihrem bevorzugten Editor (mines nano, daher lautet der Befehl für mich sudo nano /etc/ppp/chap-secrets
) und fügen Sie die Authentifizierungsdaten hinzu.
Das Format für /etc/ppp/chap-secrets
ist:
[Benutzername] [Dienst] [Passwort] [Zulässige IP-Adresse]
Ein Beispiel wäre: sampleuser pptpd samplepassword *
7: Starten Sie pptpd neu. Führen Sie diesen Befehl im Terminal aus:sudo /etc/init.d/pptpd restart
8: Bearbeiten /etc/sysctl.conf
. Öffnen Sie die Datei mit Ihrem Lieblingseditor (mine ist nano, der Befehl für mich ist also sudo nano /etc/sysctl.conf
). Deaktivieren Sie die folgende Zeile (indem Sie das #
am Anfang entfernen ) in /etc/sysctl.conf
: net.ipv4.ip_forward=1
Laden Sie die Konfiguration neu: sudo sysctl -p
9: In diesem Schritt wird davon ausgegangen, dass Sie ufw haben.
Bearbeiten /etc/default/ufw
und ändern Sie die Option DEFAULT_FORWARD_POLICY
von DROP
inACCEPT
10: In diesem Schritt wird davon ausgegangen, dass Sie ufw haben.
Bearbeiten /etc/ufw/before.rules
und fügen Sie Folgendes entweder zu Beginn /etc/ufw/before.rules
oder kurz vor den *filter
Regeln hinzu (empfohlen):
# NAT-Tabellenregeln
* nat
: POSTROUTING AKZEPTIEREN [0: 0]
# Weiterleiten von Datenverkehr an eth0 zulassen
-A POSTROUTING -s 10.99.99.0/24 -o eth0 -j MASQUERADE
# Verarbeiten Sie die NAT-Tabellenregeln
VERPFLICHTEN
Wenn Sie einen Kernel der Version 3.18 oder neuer haben (Sie können dies durch Ausführen überprüfen uname -r
), fügen Sie außerdem die folgenden Zeilen vor der # drop INVALID packets ...
Zeile hinzu:
-A ufw-before-input -p 47 -j ACCEPT
11: Starten Sie die Firewall neu, um die Regelsätze zu aktualisieren und die Regeln anzuwenden, die wir den /etc/ufw/*.rules
Dateien hinzugefügt haben : sudo ufw disable && sudo ufw enable
Warnung: Wenn andere Ports, die Sie benötigen, geöffnet sind, z. B. für HTTPS, wenn Ihr Server eine Website hostet, müssen Sie diese Ports einzeln zur Liste der zulässigen Ports mit hinzufügensudo ufw allow <PORT>