PPTP Server auf der Fritzbox funktioniert

- Die IP-Adresse ist für die Verbindung notwendig. Servername ist vermutlich der Name des Zielsystems und ist wichtig für die Auswahl des passenden Paßworts.
- Man kann eine route haben, die zu mehreren Zielnetzen führt. Außerdem kann man auch mehrere pptp Verbindungen habe, ob die Oberfläche das unterstützt oder nicht.
- Der pptpd kann nicht erkennen, welches das Client-Netz ist, deswegen muß es angegeben werden. Der pptpd kann allenfalls eine IP-Adresse vergeben (genau genommen der pppd, der vom pptpd gestartet wird). Das kann ausreichen, wenn nur ein Client sich verbinden will, der kein Netzwerk dahinter hat. Wenn der Client eine FritzBox ist, will man normalerweise die Verbindung nicht nur von der Box, sondern auch von den angeschlossenen Rechnern aus nutzen.
 
Danke für die Aufklärung!
-hätt ich auch selbst kommen können :)
-selten, aber macht Sinn
-versteh ich noch nicht so ganz. Angenommen es gib 2 Clients. Einer mit 192.168.0/24 und einer mit 192.168.1/24, wie wird dann die richtige Route gesetzt? Das kann ja nciht beliebig zugeordnet werden
 
Zum dritten Punkt:
Ich weiß nicht, was genau das Web-Interface unterstützt. Aber man kann auf dem Server festlegen, daß er einem bestimmten Client (Benutzer+Paßwort) eine bestimmte IP-Adresse zuweist. Weiter kann man festlegen, daß ein bestimmtes Zielnetz über diese IP-Adresse geroutet wird.

Das sieht dann in /etc/ppp/{pap,chap}-secrets so aus:
Code:
#client		hostname	password	IP
client0		*		pass0		192.168.100.0
client1		*		pass1		192.168.100.1
Wenn sich client0 anmeldet, bekommt er die IP 192.168.100.0 zugewiesen. außerdem sorgt man dafür, daß das Netz 192.168.0/24 über 192.168.100.0 erreichbar ist. Entsprechend 192.168.1/24 über 192.168.100.1.
 
@wonderdoc: hab Deine Änderungen eingecheckt (mit ein paar kleineren Schönheitsänderungen, z.B. war das "echo "#Routing ..."" noch die alte Version).
 
@RalfFriedl: Ah ja, sehr schön. Scheint ja alles durchdacht zu sein.
Da fallen mir aber noch 2 Fragen ein. Kann ich Problemlos den VPN Client und Server gleichzeitig betreiben (also auch gleichzeitige Verbindungen)? Und was passiert, wenn die Verbindung FB-FB unterbrochen wird. Geschieht der Reconnect automatisch und falls ja in welchen Zyklen und wie lange?
Sorry für die vielen Fragen..
 
Gleichzeitiger Betrib von Client und Server sollte möglich sein.
Wenn die Verbindung unterbrochen wird, muß man dafür sorgen, daß sie wieder neu aufgebaut wird (von Hand oder automatisch).
 
Hi,
Client und Server kann parallel benutz werden.
Ein autom. Reconnect des Clients passiert (noch) nicht.
Dieses muß noch implementiert werden.
Dazu müssen wir die ip-down des pppd nutzen.
Der Reconnect kann ja nur vom Client aus passieren.
Ich werde mich da mal dran machen und das pptp-Webif um den Reiter erweitern.

mfg
Wonderdoc
 
Das hört sich gut an. Vielleicht noch ein paar Anregungen dazu: Skript durch ip-down aufgerufen, das zuerst 5 mal im Abstand pro Minte versuche zu vrbinden, dann bis zum beenden des Dienstes alle 5 Minuten. Evtl dann extra noch Variation des dyndns-Names (001.name.dyndns.org, 002.name.dyndns.org, 003.name.dyndns.org) um zu langes DNS-Caching zu vermeiden

Wollte es mal auf meiner Testbox (FB 3020, Rev #1945 mit dropbear, ftp, samba) ausprobieren, beim booten kommt dies im Log
Code:
Starting pptp .../etc/init.d/rc.pptp: line 117: /etc/default.pppd/pppd_ip-up: not found
/etc/init.d/rc.pptp: line 117: /etc/default.pppd/pppd_ip-down: not found
done.
 
Hast du freetz neu ausgecheckt oder ein svn update gemacht?
Nach einem Update mußt du die bestehenden Packages vor dem make erst löschen, damit sie dann neu gebaut werden.
make pppd-dirclean
make pptp-dirclean
make pptpd-dirclean

mfg
Wonderdoc
 
Ah danke, dann klappts!
 
Hi,

ich habe den autom. Restart des pptp nun soweit implementiert.
Ich habe aber ein kleinen Problem dabei.
Ablauf:
start pptp über rc.pptp > Keine Verbindung > Start Restart-Script > Start pptp über rc.pptp nach zeit
Führe ich den Erststart der rc.pptp über Telnet aus, dann versucht sich der pptp auch sauber im Intervall zum Server zu verbinden.
Starte ich den pptp über das WebIf, dann wird das Restart-Script auch sauber gestartet.
Halte ich die WebIf-Seite(starting pptp ...failed) offen, dann wird bei jedem Restart-Versuch die Echoausgabe(starting pptp ... failed) auf der Seite ausgegeben.
Wechsele ich aber wieder zu der Dienste WebIf Seite, dann wird die rc.pptp über das restart-Script zwar gestartet, bricht aber bei der zeile echo -n 'starting pptp ...' ab.
Es kommt keine Fehlermeldung.
Leite ich die Ausgabe von echo -n 'starting pptp ...' nach 1>&2 um, dann wird der restart sauber durchgeführt.
Allerdings fehlt die Ausgabe dann aber in WebIf.
Hat jemand eine Lösung dafür?

EDIT:
Problem konnte nun gelöst werden.
Ich rufe nun in dem restart-script den pptp über "/var/mod/etc/init.d/rc.pptp start 1>&2" auf.
So passt die Ausgabe der echo-Zeilen im WebIf und über Telnet.

mfg
Wonderdoc
 

Anhänge

  • Fehler_pptp_restart.JPG
    Fehler_pptp_restart.JPG
    25.1 KB · Aufrufe: 37
Zuletzt bearbeitet:
PPTP mit keepalive

Hi,

anbei mein erweitertes pptp-Packages.
Ich habe das WebIf um den Reiter "extra Einstellungen: keepalive" erweitert.
Damit sollte sich der pptp automatisch wieder mit den pptpd verbinden,
wenn die Verbindung mal unterbrochen werden sollte.

Bitte mal testen und wenn ok, dann einchecken.

mfg
Wonderdoc
 

Anhänge

  • pppd_pptp_pptpd.tar.gz
    100.4 KB · Aufrufe: 28
  • pptp_restart.JPG
    pptp_restart.JPG
    74.5 KB · Aufrufe: 40
Hallo wonderdoc, ich hätte da noch einen kleinen Feature-Request.
Könntest du noch einbauen, dass vor Verbindungsaufbau Befehle ausgeführt werden? Anwendugen könnte dies zB in einer eMail Benachrichtinung oder einem knock Aufruf finden. Ich sag schonmal danke :-]
 
Es gibt unter etc/default.pppd/ die Datei pppd_ip-up.
Beim Dienstestart des pptp u. pptpd wird diese ausgeführt und so der Inhalt nach etc/ppp/ip-up kopiert.
Das Script pppd_ip-up kannst du nach /tmp/flash/ppp/pppd_ip-up kopieren und editieren.

Baut der pptp nun eine Verbindung auf oder bekommt der pptpd eine eingehende Verbindung,
dann wird nachdem die Verbindung steht das Script ip-up ausgeführt.

Ich habe nun den pptp+pptpd auch mal als OpenVPN Ersatz laufen gehabt.
Die Ergebnisse sind aber ernüchternt.
Das Routing selber klappt. Ich kann von PCA über PPTP - PPTPD den PCB anpingen.
Überträgt man aber größere Datenmengen, dann kommt es zu Packed Lost.
Dieses merkt man auch am parallellaufenden Ping.
Die PPP Verbindung bleibt aber bestehen.
Ggf müssen ja nur noch ein paar Netzwerkkonfigs geändert werden.
Da hört mein Wissen aber schon auf.

mfg
Wonderdoc
 
Wird die pppd_ip-up nicht erst nach erfolgreichem Verbindugsaufbau ausgeführt? Für knockd müsste es aber vor Verbindungsaufbau gestartet werden
 
Danke für den Tip. Die Datei /etc/ppp/ip-pre-up bzw /mod/etc/ppp/ip-pre-up ist wohl die passende für mich.
Kannst du den "Befehl vor Verbindungsaufbau" noch in die Weboberfläche einbauen? Kann das gerne auch selbst erstellen. Oder braucht das ausser mir niemand?
 
hier wird die ganze Zeit davon gesprochen, dass man divese Änderungen eingechekt habe, was ja bedeutet, dass die Änderungen im freetz-trunk enthalten sein dürften. Dennoch findet man keinerlei Möglichkeiten, in dem aktuellen freetz-trunk pptp auszuwählen.

Gehe ich richtig der Annahme, dass man für den Fall, dass pptp verwendet werden soll, trotzdem erst einmal manuell entsprechend der wiki eingespielt werden muss?
 
@xsapling: Das geht nur mit replaced kernel

So, hab ip-pre-up am laufen. Es war sehr aufwendig, da dies leider nicht im Freetz pppd 2.43 (erschienen 2004) implementiert ist, sondern erst ab pppd 2.44 (erschienen 2006). Dummerweise löst dies mein Problem (knock) nicht, da ip-pre-up erst nach der Authentifizierung ausgeführt wird. Falls es dennoch jemand braucht kann er sich bei mir melden.
Hier eine andere, funktionierende Lösung, zusätzlich können pppd, pptp und pptpd jetzt auch auf englisch benutzt werden.
Bitte korrekturlesen und testen!
 
Zuletzt bearbeitet:
Hallo,

ich habe pptp heute mal meine FB 3020 (die SL WLAN) mit dem aktuellen Freetz-devel (R2036) versehen. Vorher lief der pptpd darauf anstandslos, jetzt startet der pptpd aber das Verbinden von Seiten Windows klappt nicht (unbekanter Fehler)

Folgendes gibt der Syslog dazu aus:
Code:
Mar 25 15:44:40 fritz daemon.info pptpd[2632]: CTRL: Client xxx.xxx.xxxx.xxx control connection started
Mar 25 15:44:40 fritz daemon.info pptpd[2632]: CTRL: Starting call (launching pppd, opening GRE)
Mar 25 15:44:40 fritz daemon.notice pppd[2633]: pppd 2.4.3 started by root, uid 0
Mar 25 15:44:40 fritz daemon.err pppd[2633]: Fatal signal 10
Mar 25 15:44:40 fritz daemon.info pppd[2633]: Exit.
Mar 25 15:44:40 fritz daemon.err pptpd[2632]: GRE: read(fd=7,buffer=4219fc,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check option syntax and pppd logs
Mar 25 15:44:40 fritz daemon.err pptpd[2632]: CTRL: PTY read or GRE write failed (pty,gre)=(7,8)
Mar 25 15:44:40 fritz daemon.debug pptpd[2632]: CTRL: Reaping child PPP[2633]
Mar 25 15:44:40 fritz daemon.info pptpd[2632]: CTRL: Client xxx.xxx.xxx.xxx control connection finished
Mar 25 15:45:10 fritz user.warn kernel: /proc/tffs: info request: success
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,183
Beiträge
2,247,565
Mitglieder
373,730
Neuestes Mitglied
Repeter
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.