pptpd VPN

maxproxy

New Member
Hallo!

Ich versuche mich gerade daran ein pptpd VPN auf Debian 6 einzurichten.

Dabei ging ich folgendermaßen vor:
Code:
apt-get install pptpd

nano /etc/pptpd.conf  -> uncomment localip and remoteip
-
nano /etc/ppp/pptpd-options -> ms-dns 8.8.8.8
-
nano /etc/ppp/chap-secrets -> username<tab>*<tab>userpassword<tab>*
-
nano /etc/ppp/ip-up -> ifconfig $1 mtu 1400  
-
iptables -t nat -A POSTROUTING -j SNAT --to-source 11.22.33.44  <-- public/external IP
-
iptables-save
-	
/etc/init.d/pptpd restart
Dann verband ich mit meinem Desktop (Win7 Pro) und es funktionierte alles wunderbar, bis ich mich auch noch auf meinem Smartphone einloggte - mein Desktop konnte nicht mehr verbinden.
Nach einigen Recherchen fand ich heraus, dass es Probleme gibt wenn sich zwei Geräte hinter einem älteren Router zur gleichen Zeit einloggen. Mein Desktop konnte sich aber auch nicht mehr anmelden nachdem ich mit meinem (Android-)Smartphone die Verbindung abgebrochen hatte.

Nach einem reboot des Servers konnte sich immer noch nur mein Handy anmelden, jedoch konnte es keine Verbindung mehr zu einer Webseite aufbauen. -> iptables wurden nicht übernommen
Einmal
Code:
/etc/init.d/pptpd restart
.. und überhaupt nichts lief mehr.

Daraufhin setzte ich den vServer nochmal ganz neu auf, loggte mich wieder mit zwei Geräten gleichzeitig ein -> dasselbe Spiel

Also nochmal alles von vorne, bloß kann ich jetzt von Anfang an nicht mehr verbinden. :rolleyes:

Selbstverständlich habe ich schon Google gefragt, da finden sich aber hauptsächlich komplett sinnfreie Tutorials.

Habt ihr vielleicht ein komplettes Tutorial für die ganz dummen? Und vielleicht weiß hier auch jemand warum ich plötzlich nicht mehr verbinden kann, anfangs hatte es ja einwandfrei funktioniert, bloß jetzt auf einmal nicht mehr. Mittlerweile habe ich noch vier weitere Male alles neu aufgesetzt, weder Smartphone noch PC können verbinden.

Ich wäre für Hilfe sehr dankbar.

Viele Grüße
 

maxproxy

New Member
Hallo!

Danke für deine Antwort, TerraX.

Erfreuliche Zwischennachricht:
Ich habe das VPN "zum Laufen gebracht", indem ich in der "/etc/ppp/pptpd-options"-Datei folgende Zeilen hinzufügte:
Code:
nobsdcomp (stand eh schon drin)

noipx

mtu 1490

mru 1490
Dabei habe ich keine Ahnung was das bedeutet :rolleyes: , außerdem wird sich nach einem Reboot wohl wieder alles zerschießen, ein ausführliches Tutorial und/oder Ratschläge wird/werden daher immer noch gesucht.

  • ich muss vermutlich iptables bei einem Neustart laden, wie mache ich das? Reicht die einzige iptables-Zeile aus meinem ersten Post aus?
    Bei diesem Tutorial: http://docs.cslabs.clarkson.edu/wiki/Install_PPTP_on_CentOS_5 wird eine ganze Reihe von iptables-Befehlen ausgeführt (danach war das VPN aber nicht erreichbar). Vor allem den MASQUERADE-Befehl habe ich in mehreren Tutorials gesehen, mein Debian weiß damit aber nichts anzufangen (Fehlermeldung aka "iptables, Abschnitt existiert nicht" o.ä.).
    Ich vermute, dass pptpd bei einem Reboot automatisch neugestartet wird?
  • das Problem, dass mein PC sich nicht mehr verbinden kann, sobald ich mit meinem Handy im selben WLAN zum VPN verbinde, liegt wohl am (alten) Router? [Speedport W501v]
    ["hat irgendjemand in irgendeinem Forum, das ich über Google gefunden habe, gesagt"]
    Gibt es da einen workaround, bzw. was mache ich, wenn ich das doch einmal aus Versehen mache? Würde ungern immer alles neu installieren, damit der Desktop-PC wieder verbinden kann.
  • Da ich lediglich ein paar Tutorials folgte und verwertbare Abschnitte aus jedem Tutorial zusammengeworfen habe, weiß ich nun nicht ob ich etwas wichtiges nicht eingestellt habe (außer iptables bei Reboot laden). Gibt es da noch irgendetwas was man unbedingt einstellen muss?

Ich bin mir nicht sicher wo ich genau logfiles von pptpd finde, kann es sein, dass man das logging erst aktivieren muss? :D
Da ich meinen Server ständig neu installierte sind natürlich jetzt nicht so viele/keine Informationen/logfiles vorhanden.

Weitere Hinweise, vor allem zu den drei oben genannten Punkten, sind ausdrücklich erwünscht um einen dauerhaften Betrieb zu ermöglichen.


Vielen Dank und viele Grüße :)
 

TerraX

Active Member
Puh, da haben wir so einiges an Baustellen ...

Zwei Dinge vorweg:

a) Mangelndes Know-how ist keine gute Voraussetzung zum Betreiben eines VPN-Gateways. Dieses ständige "sinnbefreite" Neu-Installieren des Servers bringt null Punkte und zeugt nur von mangelnden Verständnis für eine geordnete Fehlersuche und zielgerichtete Problemlösung. Die Frage wo sich welche Protokolle befinden sind ebenfalls eindeutige Anzeichen von elementaren Defiziten.

b) PPTP ist ein Dino - eigentlich ausgestorben aber die "scheinbar" einfache Einrichtung verleitet viele Anfänger, es dennoch zu benutzen. Ein weiteres Argument ist sicherlich die build-in-Unterstützung von Windoof. Kurz gesagt es gibt eine deutlich bessere Alternative: OpenVPN - stabiler, sicherer und performanter sowie routerfreundlicher. Und ja es gibt Router die haben mit PPTP ein Problem.

Mein Fazit eigentlich daraus: lass die Finger davon und nutze einen kommerziellen VPN-Anbieter, ist stressfreier und ggf. auch preiswerter als einen eigenen VServer zu betreiben.

Wenn Du es dennoch unbedingt versuchen willst, gehen wir mal langsam die Baustellen ab:

Um den Dienst neu zu starten genügt ein /etc/init.d/pptpd restart o.s.ä. genauso wie die Parameter start und stop adäquates tun.

Du wirst vermutlich pptpd über apt-get installiert haben. Mach ein apt-get purge pptpd um die aktuelle Installation möglichst rückstandsfrei zu entfernen und installiere es dann mit apt-get install pptpd neu. Eigentlich läuft pptpd unter Debian fast out-of-the box. Eine verständlich kommentierte conf findest Du z.B. hier (http://www.plogmann.net/w/2/21/). Also die Einstellungen Deinen Bedürfnissen entsprechend anpassen.

Zum Thema Nutzung als Internet-Gateway: die snat-iptable-Rule wie von dir verwendet kommt eigentlich eher bei OpenVPN zum Einsatz. Weiterhin brauchen wir in jedem Falle IP-Forwarding, was bei dir noch völlig fehlt.

Die Basiseinrichtung inkl. Verankerung beim Booten würde unter Debian in etwa so aussehen
Code:
mc  -e   /etc/rc.local
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Also entsprechend umsetzen und dann intensiv mit dem Desktop die Verbindung testen auch mit mehrmaligen Aufbau/Abbau der VPN-Verbindung.

Last but not least könnte es sein, dass auf Deinem Server noch das eine oder andere Kernel-Modul fehlt, wenn daher irgendwo Fehler auftreten, ist als Feedback die Angabe der genauen Aktion und präzise Wiedergabe der Fehlermeldung erforderlich, kein "Fehlermeldung aka ...".
 
Last edited by a moderator:

maxproxy

New Member
Hallo!

Vielen Dank für diese sehr ausführliche Antwort, TerraX. Nachdem pptpd lief habe ich es nicht mehr angerührt und heute funktionierte es nicht mehr, den Dienst neuzustarten hat aber geholfen.

Puh, da haben wir so einiges an Baustellen ...

Zwei Dinge vorweg:

a) Mangelndes Know-how ist keine gute Voraussetzung zum Betreiben eines VPN-Gateways. Dieses ständige "sinnbefreite" Neu-Installieren des Servers bringt null Punkte und zeugt nur von mangelnden Verständnis für eine geordnete Fehlersuche und zielgerichtete Problemlösung. Die Frage wo sich welche Protokolle befinden sind ebenfalls eindeutige Anzeichen von elementaren Defiziten.
Gut, ich habe mich vielleicht ein wenig dumm angestellt. Dass Logs in /var/log liegen weiß ich schon, bloß stand da eben nichts/kaum etwas drin -> jetzt habe ich den debug modus eingeschaltet, das war eigentlich auch meine Frage.
Zum häufigen Neuinstallieren siehe weiter unten. Es ist natürlich ein wenig hinderlich wenn sich ein PC einfach so nicht mehr anmelden kann und wenn pptpd spontan über Nacht aufhört zu funktionieren.

Von iptables habe ich wirklich überhaupt keine Ahnung, bloß wie/mit welcher Anwendung könnte ich da am besten einsteigen?

b) PPTP ist ein Dino - eigentlich ausgestorben aber die "scheinbar" einfache Einrichtung verleitet viele Anfänger, es dennoch zu benutzen. Ein weiteres Argument ist sicherlich die build-in-Unterstützung von Windoof. Kurz gesagt es gibt eine deutlich bessere Alternative: OpenVPN - stabiler, sicherer und performanter sowie routerfreundlicher. Und ja es gibt Router die haben mit PPTP ein Problem.
Ja, ich wurde verleitet. :rolleyes:

Mein Fazit eigentlich daraus: lass die Finger davon und nutze einen kommerziellen VPN-Anbieter, ist stressfreier und ggf. auch preiswerter als einen eigenen VServer zu betreiben.
Der vServer (mit 500GB Traffic/Monat) kostet mich $15 im Jahr. Ich würde wirklich gerne ein eigenes VPN aufsetzen, auch um mehrere PCs über das Internet zu verbinden. Natürlich auch um etwas zu lernen. ;)

Wenn Du es dennoch unbedingt versuchen willst, gehen wir mal langsam die Baustellen ab:

Um den Dienst neu zu starten genügt ein /etc/init.d/pptpd restart o.s.ä. genauso wie die Parameter start und stop adäquates tun.

Du wirst vermutlich pptpd über apt-get installiert haben. Mach ein apt-get purge pptpd um die aktuelle Installation möglichst rückstandsfrei zu entfernen und installiere es dann mit apt-get install pptpd neu.
Ja, es ist über apt-get installiert. Das Entfernen war eher weniger das Problem, bloß nachdem mein Desktop nicht mehr verbinden wollte hat eine Neuinstallation von pptpd nichts gebracht, deswegen habe ich auch so oft Debian neuinstalliert (dauert nur 30 Sekunden).

Eigentlich läuft pptpd unter Debian fast out-of-the box. Eine verständlich kommentierte conf findest Du z.B. hier (http://www.plogmann.net/w/2/21/). Also die Einstellungen Deinen Bedürfnissen entsprechend anpassen.
Scheint so als wäre die Datei /etc/pptpd.conf nun in noch eine weitere Datei aufgespaltet, nämlich /etc/ppp/pptpd-options .
Ein Problem für mich sind auch die vielen verschiedenen (und veralteten) Anleitungen. In der Konfigurationsdatei dieser Anleitung steht noch "noipx". Ich habe das, was ich im zweiten Post hinzufügte, noch einmal überprüft und es lag an "noipx", ohne das funktioniert das VPN nicht. In meiner Konfigurationsdatei scheinen einfach bestimmte Werte und deren Beschreibungen zu fehlen, da kann ich natürlich lange nach einem Fehler suchen.

Zum Thema Nutzung als Internet-Gateway: die snat-iptable-Rule wie von dir verwendet kommt eigentlich eher bei OpenVPN zum Einsatz. Weiterhin brauchen wir in jedem Falle IP-Forwarding, was bei dir noch völlig fehlt.
Naja, der Internetzugriff funktionierte auch ohne IP-Forwarding, da habe ich es weggelassen. :rolleyes:

Die Basiseinrichtung inkl. Verankerung beim Booten würde unter Debian in etwa so aussehen
Code:
mc  -e   /etc/rc.local
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Code:
root@vol12:~# mc  -e   /etc/rc.local
-bash: mc: command not found

root@vol12:~# sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1

root@vol12:~# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables: No chain/target/match by that name.
:(

Also entsprechend umsetzen und dann intensiv mit dem Desktop die Verbindung testen auch mit mehrmaligen Aufbau/Abbau der VPN-Verbindung.
Es funktioniert im Moment einwandfrei, bloß blöd dass es über Nacht ohne (offensichtlichen) Grund den Geist aufgegeben hat. Einwandfrei ist natürlich eine relative Definition, wenn es nicht mal rebootsicher ist. :D


Last but not least könnte es sein, dass auf Deinem Server noch das eine oder andere Kernel-Modul fehlt, wenn daher irgendwo Fehler auftreten, ist als Feedback die Angabe der genauen Aktion und präzise Wiedergabe der Fehlermeldung erforderlich, kein "Fehlermeldung aka ...".
Ich habe jetzt den debugmodus aktiviert, damit schön alles im Syslog gespeichert wird. :)

Hier mal das Syslog bis jetzt:
http://pastebin.com/X8KsAHNg
(Zeitzone ist GMT -7)

Vielen Dank und viele Grüße :)
 
Last edited by a moderator:

TerraX

Active Member
Ömpff ...

mc ist ein Editor, die Datei /etc/rc.local sollte angepasst werden ... bitte Mitdenken und Nachschauen sowie Verstehen, was Du da eigentlich für Befehle ausführst. Was hättest Du gemacht, wenn ich Dir "versehentlich" noch ein shutdown -h now dazugeschrieben hätte?

Zu iptables: einen Kurzeinstieg gibt's hier: http://www.netfilter.org/documentation/HOWTO/de/packet-filtering-HOWTO.html danach bitte selbstständig weitersuchen

Kleiner Tipp: eth0 in der angegebenen iptables-Regel bezeichnet das Netzwerk-Interface. Bei einem VServer wird das vermutlich anders heißen, maybe veth0 oder so "ifconfig" hilft weiter, den korrekten Namen herauszufinden.

Die Ausgabe von iptables -L wäre evtl. noch hilfreich.

P.S.: apt-get purge entfernt im Gegensatz zu apt-get remove meist auch die vermurksten config-Dateien.
 
Last edited by a moderator:

TerraX

Active Member
ach ja, ein Tipp noch aus eigener Erfahrung: die Zeit, die du in die Fehlersuche bei diesem pptp-Mist investierst, ist ein Bruchteil dessen, was du für die Installation von OpenVPN benötigst. Ich hatte ähnliche Probleme, mal lief der Scheiß eine ganze Weile lang mal nicht - weiß der Geier warum, Mondscheinphase, Sonnensturm, keine Ahnung. Seit ich mich mit OpenVPN auseinandergesetzt habe - läuft der Kram und läuft und läuft und läuft ...

http://wiki.openvpn.eu/index.php/Konfiguration_eines_Internetgateways

Noch ein Tipp zur Installation des OpenVPN-Clients unter Windows 7: starte das Setup des Clients unbedingt mit Admin-Rechten, sonst gibt es Probs beim setzen des Routings. (http://www.jpuddy.net/2009/05/06/using-openvpn-in-windows-7-64-bit/)
 

maxproxy

New Member
Hallo!

Ömpff ...
mc ist ein Editor, die Datei /etc/rc.local sollte angepasst werden ... bitte Mitdenken und Nachschauen sowie Verstehen, was Du da eigentlich für Befehle ausführst. Was hättest Du gemacht, wenn ich Dir "versehentlich" noch ein shutdown -h now dazugeschrieben hätte?
Verzeih mir, ich hab selbstverständlich die Fehlermeldung bei Google eingegeben, das lieferte aber unbrauchbare/unverständliche Ergebnisse.

Zu iptables: einen Kurzeinstieg gibt's hier: http://www.netfilter.org/documentation/HOWTO/de/packet-filtering-HOWTO.html danach bitte selbstständig weitersuchen
Danke :)

Kleiner Tipp: eth0 in der angegebenen iptables-Regel bezeichnet das Netzwerk-Interface. Bei einem VServer wird das vermutlich anders heißen, maybe veth0 oder so "ifconfig" hilft weiter, den korrekten Namen herauszufinden.
Ich habe herausgefunden, dass MASQUERADE entweder nicht mit meinem vps-Anbieter oder generell nicht mit OVZ laufen soll. Natürlich erst nachdem ich stundenlang versuchte "venet0" in den Befehl unterzubringen. :rolleyes:

Die Ausgabe von iptables -L wäre evtl. noch hilfreich.
Code:
Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
P.S.: apt-get purge entfernt im Gegensatz zu apt-get remove meist auch die vermurksten config-Dateien.
ach ja, ein Tipp noch aus eigener Erfahrung: die Zeit, die du in die Fehlersuche bei diesem pptp-Mist investierst, ist ein Bruchteil dessen, was du für die Installation von OpenVPN benötigst. Ich hatte ähnliche Probleme, mal lief der Scheiß eine ganze Weile lang mal nicht - weiß der Geier warum, Mondscheinphase, Sonnensturm, keine Ahnung. Seit ich mich mit OpenVPN auseinandergesetzt habe - läuft der Kram und läuft und läuft und läuft ...
Ja, genau so geht es mir :mad: heute hat es wieder über Nacht einfach den Geist aufgegeben. Ich hab mir jetzt über die SolusVM-API einen reboot-Knopf geschmiedet, den ich so lange ansurfe bis es wieder funktioniert. :D

Ich habe nun einfach den routing-Befehl aus meinem ersten Post in /etc/rc.local eingetragen, außerdem noch das ipv4-Routing und "/etc/init.d/pptpd restart". Wenn pptpd einfach so den Geist aufgibt hilft ein Reboot dann meistens.

Das ist aber eher suboptimal, also wäre es wahrscheinlich tatsächlich lohnenswert einfach einen Blick auf OpenVPN zu werfen. Das habe ich schon mal ausprobiert (vor einiger Zeit).

Gibt es da nicht irgendwie eine Version mit grafischem Interface, die aber eine Limitierung von 2 Benutzern gleichzeitig hat? (es sei denn man kauft mehr)
Und man braucht da einen extra Client, heißt das ich kann mit meinem Android-Handy nicht zu OpenVPN verbinden?

Gruß und wie immer vielen Dank für die ausührliche(n) Antwort(en), TerraX. :)
 
Last edited by a moderator:

maxproxy

New Member
Hallo!

OpenVZ != OpenVPN, aufpassen!
Da musst du googlen? Und verstehst die Antworten von google nicht? Echt? Hossa!
Heh, danke. Der Unterschied ist mir bewusst aber ich bringe das beim Schreiben täglich durcheinander. :rolleyes:

Ich gab "-bash: mc: command not found" bei Google ein, um herauszufinden um was es sich handelt. Ein Programm, ein mir bis dato unbekannter Dienst,..
Leider gab mir Google dafür kein passendes Ergebnis, da die Buchstabenkombination "mc" ja auch bei vielen nicht relevanten Webseiten vorkommt. ;)

Wenn du möchtest darfst du mir gern meine Fragen bzgl. OpenVPN beantworten.

Viele Grüße
 

TerraX

Active Member
Keine weiteren Fragen, Euer Ehren!
YMMD! :D

Gibt es da nicht irgendwie eine Version mit grafischem Interface, die aber eine Limitierung von 2 Benutzern gleichzeitig hat? (es sei denn man kauft mehr)
Und man braucht da einen extra Client, heißt das ich kann mit meinem Android-Handy nicht zu OpenVPN verbinden?
Hä? Freie OpenVPN-Clients mit bequemen GUI gibt es wie Sand am Meer zum Bleistift http://openvpn.se/download.html andere Alternativen bitte selber suchen.

Der OpenVPN-Server selbst ist Open-Source, da kannst mit so vielen Clients connecten wie du lustig bist.

Zu Android: Selbstverständlich kann auch Android zu OpenVPN connecten - bitte die Suchmaschine deines Vertrauens bemühen.
 

maxproxy

New Member
Hallo!

Keine weiteren Fragen, Euer Ehren!
^ Dann brauchst du ja nicht mehr zu antworten. Versteh ich schon, dass ihr es jeden Tag mit Kacknoobs zu tun habt, aber wenn schon Kritik dann bitte auch konstruktiv, so wie TerraX es machte.

^ Vielen Dank.

Hä? Freie OpenVPN-Clients mit bequemen GUI gibt es wie Sand am Meer zum Bleistift http://openvpn.se/download.html andere Alternativen bitte selber suchen.
Der OpenVPN-Server selbst ist Open-Source, da kannst mit so vielen Clients connecten wie du lustig bist.
https://openvpn.net/index.php/access-server/pricing.html
$5 License Fee Per Client Connection Per Year. **Support & Updates included. 10 Client minimum purchase.
All OpenVPN Access Server downloads come with 2 free client connections for testing purposes.
^ Deswegen frage ich. Das scheint sich aber nur auf das mit Webinterface zu beziehen?

Zu Android: Selbstverständlich kann auch Android zu OpenVPN connecten - bitte die Suchmaschine deines Vertrauens bemühen.
^ vielen Dank.

Gruß
 

Top