Vor kurzem habe ich einen VPN-Server aufgesetzt und habe mich dabei für das PPTP entschieden. Auf die grundlegende Installation unter Debian möchte ich hier nicht eingehen denn dafür gibt es bereits genügen Anleitungen im Netz. (z.B. hier)
Allerdings waren (zumindest bei mir) nach der Installation noch einige kleine Kniffe notwendig bis der Tunnel vernünftig lief. An dieser Stelle noch kurz der Hinweis, dass als Clients Windows 7 bzw. Windows XP Rechner zum Einsatz kommen.
Problem 1: Clients können sich einwandfrei verbinden, es können jedoch keine Daten empfangen werden.
Lösung: Damit der Server empfangene Daten zu den Clients “weiterrouten” kann ist eine IPTables Regel notwendig. Bei mir brachte folgendes die Lösung:
iptables --table nat --append POSTROUTING --out-interface eth0 --jump MASQUERADE
Problem 2: Der Tunnel funktioniert grundlegend, die Verbindung “friert jedoch bei gößeren Datenmenegen ein”.
Lösung: Auch hier hilft ein Regeln in den IPTables weiter:
iptables --append FORWARD --protocol tcp --tcp-flags SYN,RST SYN --jump TCPMSS --clamp-mss-to-pmtu
Desweiteren habe ich zur Lösung dieses Problems die MTU und MRU angepasst und auf einen Wert von 1400 eingestellt.
Diese Werte können in der Datei /etc/ppp/pptpd-options angepasst werden.
Problem 3: Clients werden immer wieder vom VPN-Server getrennt.
Lösung: In meinem Fall brachten mich diese Zeilen in den Logfiles auf die Lösung:
No response to 4 echo-requests Serial link appears to be disconnected.
Offensichtlich antworteten einige Clients nicht (oder nicht zuverlässig) auf die vom Server verschickten LCP-Echo-Requests. Nachdem auch die Erhöhung der maximal nicht beantworteten Requests keine Abhilfe brachte habe ich die Echo-Anfragen schließlich komplett deaktiviert. Dies kann man in der Datei /etc/ppp/options erledigen indem man folgende zwei Werte auf 0 setzt:
lcp-echo-interval 0 lcp-echo-failure 0
Ich hoffe dieser Beitrag kann helfen falls jemand auf die gleichen Probleme stößt, z.B. ich wenn ich in ein paar Monaten mal wieder einen pptpd aufsetze
6 Responses to PPTP VPN Tunnel – Ein paar Tipps
Oliver November 18, 2011
Rät nicht selbst Mickeysoft von PPTP ab?
Lemmingz Shadow November 18, 2011
Quellen? Gründe?
Oliver November 18, 2011
http://en.wikipedia.org/wiki/Point-to-Point_Tunneling_Protocol#Security_of_the_PPTP_protocol
Ausserdem werden wohl DNS Anfragen nicht getunnelt, was auch extremst suboptimal ist.
Lemmingz Shadow November 21, 2011
Stimmt schon, Sicherheitstechnisch optimal sieht anders aus. Allerdings kann man Dictionary-Attacken mit vernünftigen Passwörtern vorbeugen.
Fehlendes DNS-Tunneling ist in der Tat suboptimal. Als kleiner Trost bleibt zu sagen, dass man den DNS-Server der per DHCP vergeben wird festlegen kann. So kann man immerhin einen “vertrauenswürdigen” Server nutzen.
Ob man nun PPTP oder eine Alternative nutzt muss letztendlich jeder selbst entscheiden. Enormer Vorteil ist allerdings: PPTP läuft plattformübergreifend ohne einen extra Client.
Oliver November 30, 2011
Damit kann man sich fies in die Nesseln setzen, denn einevertrauenswürdiger Server nutzt Dir nichts, wenn das Netzwerk, in dem Du bist kompromitiert ist, denn Deine DNS Abfragen kann ich mitsniffen und per MITM auch verändern. Dein Vorteil liegt dann nur darin, dass Du gesichert auf die Phishingseite kommst.
Ich halte das für gefährlich und so schwer ist openvpn auch nicht zu installieren.
Lemmingz Shadow January 7, 2012
Zur Info: Ein schönes Tutorial zum Einrichten eins OpenVPN-Servers unter Debian gibt es hier: http://library.linode.com/networking/openvpn/debian-6-squeeze
Unterscheidet sich im Aufwand der Einrichtung nicht wesentlich von PPTP.