PPTP Server auf der Fritzbox funktioniert

@Whoopie
Bei mir funktioniert die Packages aber so.
Den patch habe ich gegen eine frisch ausgecheckte 1895 erstellt.
Die Einträge aus dem SVN habe ich nachträglich aus den Patchdateien entfernt.

Zu den Modulen:
Ok, dann laß sie uns bei beiden Packages per modprobe laden ohne rmmod beim Beenden.
Kann jemand genau sagen, welche Module bei start pptp und pptpd geladen werden müssen?
Oder laden wir immer alle?

Das Anzeigeproblem vom cumas bild2 habe ich bei mir in den patches bereits gefixt.
In der *.cgi werden die links per cat gebildet.
Da kann man die Zeilen nicht mit # ausblenden.
Darum hatte ich sie bei mir unterhalb von EOF verschoben und dort mit # aus dem Script ausgeblendet.
Hast du nur da stop() beim pptp gefixt, oder auch die Zeile bei status) ?`

Konfigurierbare Werte des pptp sollten im Web die IP, den Usernamen und der Servernamen sein.
Die IP verweist auf die Zielstelle,
Der Servername ist der Name in der chap-secret.
Der Login erfolgt dann mit dem Usernahmen und dem dazugehörigen PW aus dem Eintrag der chap-secret.
(Also muß der Eintrag unter chap-secret z.B. lauten: Username Servername Passwort *)
Blendest du die /tmp/flash/ppp/peers/pptp nur aus, oder ist sie readonly?

mfg
Wonderdoc
 
Was haltet ihr denn von der Idee, Dienste auszublenden, deren Stop-Status gleich dem Start-Status ist? Dies tritt auf, wenn die rc.* keinen status hat. Ist dies auch bei der AVM-Firewall so?
Code:
--- root/usr/mww/cgi-bin/daemons.cgi_orig	Sun Feb 24 03:37:08 2008
+++ root/usr/mww/cgi-bin/daemons.cgi	Sat Jan  1 01:26:57 2000
@@ -52,14 +52,17 @@
 			start=1; stop=1
 			;;
 	esac
-	echo '<tr>'
-	echo '<td width="180">'"$name"'</td><td style="color: '"$color"';" width="120">'"$status"'</td>'
+	
+	if [ $start -ne $stop ]; then
+		echo '<tr>'
+		echo '<td width="180">'"$name"'</td><td style="color: '"$color"';" width="120">'"$status"'</td>'
 
-	stat_button $1 start $start
-	stat_button $1 stop $stop
-	stat_button $1 restart $stop
+		stat_button $1 start $start
+		stat_button $1 stop $stop
+		stat_button $1 restart $stop
 
-	echo '</tr>'
+		echo '</tr>'
+	fi
 }
 
 stat_end() {
 
Zuletzt bearbeitet:
Dann sieht man aber auch nicht mehr, dass diese laufen oder? Ich dachte jetzt an mini_fo. Aber da ist der Status unterschiedlich.

MfG Oliver
 
Es sollte doch eigentlich nie vorkommen, dass ein Dienst gleichzeitig gestartet und gestoppt ist. Ich kenne allerdings nicht alle Pakete.
 
@wonderdoc:

1. habe stop() und status() gefixt.
2. Anzeige in pptp.cgi gefixt
3. Server-Name im WebIf hinzugefügt. Die Datei /mod/etc/ppp/peers/pptp sollte nun bei einem Restart neu geschrieben werden und die neuen Werte enthalten.
Lösch bitte vorher die /tmp/flash/pptp.diff, da ich auch PPTP_IP in PPTP_ADDRESS geändert habe.

Beste Grüße,
Whoopie
 
Die Anzeige vom pptpd hat nich immer ein Problem. Siehe Bild 2 in Post #300 (auskommentieren geht hier nicht mit "#")
 
Hatte ich ja bereits geschrieben:
In der *.cgi werden die links per cat gebildet.
Da kann man die Zeilen nicht mit # ausblenden.
Darum hatte ich sie bei mir unterhalb von EOF verschoben und dort mit # aus dem Script ausgeblendet.
 
Hatte ich gesehen, ist aber wohl untergegangen

EDIT:
So hab gerad gesehen, dass dies mit #1920 auch gefixt wurde, danke Whoopie.
Damit sind anscheinend alle Probleme des pptpd gefixt, oder hat noch jemand was?
Der pppd steht halt noch bei Dienst, wo er nicht unbedingt auftauchen sollte.
Beim pptp wurde ja anscheinend auch alles gewünschte ins svn übernommen. Dies hab ich allerings nur nachgelesen, nicht selbst gebaut. Gibt es da noch was?
Was ist denn noch erforderlich, damit der Status "Testing" verlassen werden kann?
 
Zuletzt bearbeitet:
@Whoopie
-pptpd-Package schein mit trunk1920 sauber zu laufen.
-pptp-Package übernimmt keine Daten aus WebIF.
Trägt man auf der pptp WebIf Page die Daten ein, sind sie nach übernehmen wieder weg.(Felder sind leer)

@Olistudent
Ich habe das Problem mit der Anzeige in der Diensteverwaltung wie folgt gelöst.
Ich meine so sollte es eigentlich sauber sein und kann pro package sep. konfiguriert werden.
root/usr/mww/cgi-bin/daemons.cgi
Code:
--- root/usr/mww/cgi-bin/daemons.cgi_orig	2008-02-25 14:14:42.000000000 +0100
+++ root/usr/mww/cgi-bin/daemons.cgi	2008-02-25 14:56:21.000000000 +0100
@@ -18,11 +18,11 @@
 	case "$status" in
 		running)
 			color="#008000"
-			start=0; stop=1
+			start=0; stop=1; hidden=0
 			;;
 		stopped)
 			color="#800000"
-			start=1; stop=0
+			start=1; stop=0; hidden=0
 			;;
 		inetd)
 			case "$inetd_status" in
@@ -40,26 +40,32 @@
 					;;
 			esac
 			status="$inetd_status ($status)"
-			start=0; stop=0;
+			start=0; stop=0; hidden=0
 			;;
 		none)
 			status='<i>none</i>'
 			color="#808080"
-			start=1; stop=0
+			start=1; stop=0; hidden=0
 			;;
+		hidden)
+		  start=0; stop=0; hidden=1
+		  ;;
 		*)
 			color="#000000"
-			start=1; stop=1
+			start=1; stop=1; hidden=0
 			;;
 	esac
-	echo '<tr>'
-	echo '<td width="180">'"$name"'</td><td style="color: '"$color"';" width="120">'"$status"'</td>'
+	
+	if [ $hidden -ne 1 ]; then
+		echo '<tr>'
+		echo '<td width="180">'"$name"'</td><td style="color: '"$color"';" width="120">'"$status"'</td>'
+
+		stat_button $1 start $start
+		stat_button $1 stop $stop
+		stat_button $1 restart $stop
 
-	stat_button $1 start $start
-	stat_button $1 stop $stop
-	stat_button $1 restart $stop
-
-	echo '</tr>'
+		echo '</tr>'
+	fi
 }
 
 stat_end() {
make/pppd/files/root/etc/init.d/rc.pppd
Code:
--- make/pppd/files/root/etc/init.d/rc.pppd_orig	2008-02-25 14:15:03.000000000 +0100
+++ make/pppd/files/root/etc/init.d/rc.pppd	2008-02-25 14:51:57.000000000 +0100
@@ -47,6 +47,9 @@
 		echo "pppd is only used by pptp and pptpd."
 		exit 1
 		;;
+	status)
+		echo 'hidden'
+		;;
 	*)
 		echo "Usage: $0 [load|unload|start|stop|restart]" 1>&2
 		exit 1

PS: so funktioniert das Ausblenden auch bei AVM-Firewall wunderbar

EDIT:
Ich habe mir den pptp mal auf der Fritzbox angeschaut.
Erkannte Fehler:
- IP-Feld ist in der pptp.cgi auf 15 Zeichen begrenzt, dadurch keine Eingabe einer DNS möglich.
Feld sollte bei bei openvpn.cgi auf 40 Zeicher vergrößert werden
- Änderungen im pptp-Webif werden nicht in die pptp.cfg übernommen.
- Datei /mod/etc/ppp/peers/pptp sollte beim Start immer gelöscht und neu gebildet werden
Grund: beim fehlgeschlagenen Verbindungsaufbau wird pptp beendet,
die Config bleibt aber stehen und wird beim erneuten Start nicht neu gebildet
- Fehlender Start einiger Module (arc4, sha1 und ppp_mppe-mppc)


mfg
Wonderdoc
 

Anhänge

  • patches1920.zip
    887 Bytes · Aufrufe: 5
Zuletzt bearbeitet:
Patch-Vorschläge sind am besten in Freetz-Tickets aufgehoben, dort kannst du auch den Status verfolgen.
 
Mir ist noch eine Eigenart vom pptpd aufgefallen.
Beim "killall pptpd" wird dieser beendet, allerdings nicht die laufenden Client-Verbindugen.
Hier würde dann ein "killall pppd" helfen, welches wir aber nicht möchen dürfen, da dadurch auch der pptp betroffen ist.
lt ps gibt es nach Start des pptpd und Client-Connect folgende Prozesse:
1145 root 724 S pptpd -c /etc/ppp/pptpd.conf
1146 root 736 S /usr/sbin/bcrelay -i lan -o ppp[0-9].* -n
1271 root 840 S pptpd [192.168.31.1:8000 - 0000]
1272 root 1460 S /usr/sbin/pppd local file /etc/ppp/options.pptpd 1152
Nach dem "killall pptpd" bleibt folgendes über:
1271 root 840 S pptpd [192.168.31.1:8000 - 0000]
1272 root 1460 S /usr/sbin/pppd local file /etc/ppp/options.pptpd 1152
Nun müßte man es schaffen, daß die weiteren pptpd-Prozesse noch beendet werden.
(in dem Bsp PID 1271)
Ein "kill 1271" beendet dann die Clienteinwahl und PID 1272 wird auch sauber beendet.

mfg
Wonderdoc
 
Hallo,
die Idee mit dem "hidden=1" gefällt mir ganz gut.
Zum Problem mit dem Beenden vom pptpd: Wenn man mehrer Client hat, tauchen die beiden Prozesse auch mehrmals auf. Mein Vorschlag fürs rc.pptpd.stop():
Code:
kill $(ps|grep pptpd|grep -v grep|sed 's/^ //g'|cut -f1 -d" ")
 
@All
Ich habe mal zu der daemons.cgi Änderung ein Freetz-Ticket eröffnet.

@cuma
Also erst ein "Killall pptpd" und dann dein Vorschlag für die verbundenen Clients.
Oder was für Prozesse killt deine Zeile genau?

EDIT:
@Whoopie
Im Anhang mal die Patches für den pptp.
Damit sind die unter Post 309 genannten Probleme des PPTP-Packages gefixt.

mfg
Wonderdoc
 

Anhänge

  • pptp_patches.zip
    924 Bytes · Aufrufe: 3
Zuletzt bearbeitet:
Killall kann dann weg. Es werden den dann alle Prozesse mit "pptpd" im Namen oder Parameter beendet.
Einfacher wäre halt ein zusätzliches "killall pppd", aber dies kann ja Auswirkungen auf den pptp haben
 
@cuma
Ich habe das Killall mal gegen deine Zeile getauscht.
Deine Methode hat aber einen entscheidenen Fehler.
Der Daemon und die engewählten Clients werden beendet,
allerdings leider auch der rc.pptpd Aufruf.
Könnte man die Zeile so umschreiben, daß nur Prozesse gekillt werden,
wo pptpd am Anfang des Prozessnamen steht?
bei uns: "pptpd -c /etc/ppp/pptpd.conf" und "pptpd [192.168.31.1:C000 - 0000]"

mfg
Wonderdoc
 
Es ist doch nichz "pptpd [192.168.31.1:C000 - 0000]" sondern "pppd [192.168.31.1:C000 - 0000]", was ja das Problem ist. Der Befehl kann aber erweitert werden:
Code:
kill $(ps|grep pptpd|grep -v grep|grep -v "rc.pp"|sed 's/^ //g'|cut -f1 -d" ")
 
Gerade nochmals gecheckt, ist ist pptpd ...
2830 root 840 S pptpd [192.168.31.1:C000 - 0000]
Ich teste mal deine neue Zeile.

EDIT:
Scheint jetzt zu laufen, rc.pptpd wird nicht gekillt.

mfg
Wonderdoc
 
Ah, dann wars so, dass man "pidof pptp" machen musst um die 2830 zu bekommen.
 
OK cuma,

mit deiner letzten kill-Zeile wird nun wirklich nur die pptpd Prozesse beendet.
Ein parallel laufender pptp Client wird nicht beeinflußt.

mfg
Wonderdoc
 
@wonderdoc: hab Deinen Patch eingecheckt, nur DNS gegen FQDN ausgetauscht, da ich denke, dass Du einen Domainnamen wie freetz.dyndns.org meintest.
Heisst das jetzt, dass das WebIf für PPTP funktioniert? Die Werte werden in der pptp.cfg gespeichert (oder halt das diff in /tmp/flash)? Und eine Änderung der Werte klappt auch?
 
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.