Re: Probleme mit pppd - Suse Linux 7.3 als DSL-Router im Einsatz
Hallo,
Am Donnerstag, 20. Dezember 2001 00:00 schrieb Matthias Lehmann:
Dec 19 02:45:27 router pppd[285]: Connect: ppp0 <--> eth0 Dec 19 02:45:27 router pppd[285]: Couldn't increase MTU to 1500. Dec 19 02:45:27 router pppd[285]: Couldn't increase MRU to 1500
Hmm, sieht nach dem MTU Problem aus, schaue doch mal in die SDB und suche nach DSL ...
Ein MTU-Problem schließe ich aus; mit dem Problem habe ich mich früher schon eingehend befasst. Es gibt wohl, wenn ich mich recht erinnere, grundlegend 3 Lösungsmöglichkeiten für dieses Problem: 1. Man reduziert auf allen Clients im LAN die MTU (IIRC auf 1452), was recht aufwendig ist und bei mir nicht in Frage kommt. 2. Man installiert ein Kernelmodul. 3. Man setzt folgendes ans Ende des Einwahlskripts: iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu [Steht nicht in der Suse-Datenbank] Das funktioniert aber bei mir einwandfrei. Websites von GMX, Postbank oder Media-Markt sind dann kein Problem mehr
Dec 19 03:00:26 router pppd[285]: Starting link Dec 19 03:00:26 router pppd[285]: Sending PADI Dec 19 03:00:27 router pppd[285]: HOST_UNIQ successful match Dec 19 03:00:29 router pppd[285]: Tag error: TAG_SYS_ERR Dec 19 03:00:29 router pppd[285]: Failed to negotiate PPPoE connection: 11 Resource temporarily unavailable Dec 19 03:00:29 router pppd[285]: Exit.
Es gibt auch ein neues Paket für den smpppd, auch bei Suse erhältlich... Vielleicht hilft es.
Nachdem ich heute nochmal den Tag über gegoogelt habe, soll das nicht helfen. Ich werde es vielleicht aber noch testen.
Ich habe nun auch DSL, aber habe noch keinen Router;( Kommt aber noch ...
....hat mich 2 Tage Urlaub gekostet. Der Router läuft seit 2 Wochen, aber das Problem, dass sich nach mißglückter Einwahl der pppd abschaltet und nicht mehr zum "Aufwecken" ist, verdirbt mir bisher doch etwas die Vorweihnachtslaune. Das Rebooten oder wenn möglich, Telnet-Einloggen und neustarten des pppd nerven doch beträchtlich.
# Bei PPPoE darf die MTU nicht größer als 1492 sein, pppoed setzt # dieses jedoch nicht automatisch mru 1492 mtu 1492
Ja, das ist bei mir auch so. Ich habe folgendes in /etc/ppp/ip-up eingetragen.
ifconfig ppp0 mtu 1420 (Funktioniert mit GMX einwandfrei)
s.o., am MTU liegts nicht. Trotzdem danke für deine Bemühungen. Wie ich mittlerweile rausgefunden habe und wenn man sich das Forum von adsl4linux und diverse Newsgruppen so ansieht, stehe ich wohl nicht alleine da mit dem Problem. Es gibt wohl mehrere Lösungsansätze, aber keinen richtigen Workaround, als da wären: 1. Ergänzung der /etc/ppp/options: (aus dem Forum von adsl4linux): persist # Soll dafür sorgen, dass der pppd nicht mehr abschaltet. Funktioniert bei mir nicht. 2. Ergänzung der /etc/ppp/options: (aus dem Forum von adsl4linux): holdoff 5 # 5 Sekunden Zeit zwischen den Verbindungsversuchen. Tip von Schlenn # persönlich aus der NG de.comp.technik.dsl . 3. Ergänzung der /etc/ppp/options: (aus dem Forum von adsl4linux): maxfail 100 # 100 Verbindungsversuche (10 seien Standard, 0 wäre unendlich; steht auch imo # so in der man-page von pppd.) All diese Modifikationen haben bei mir leider noch nichts gebracht, meiner Meinung nach (aus dem was ich aus den logs sehe) wählt er sich bei einem mißglückten Verbindungsaufbau auch nicht 100 mal im Abstand von 5 Sekunden ein - komisch das. Im Prinzip wäre wohl eine Lösung, die das /var/log/warn analysiert und sobald dort eine Meldung wie "Tag error: Tag Sys Error" erscheint automatisch den pppd neu startet, das Optimale. Allein mir fehlen die Fertigkeiten dazu und ich wüßte auch nicht, wie ich so etwas auf die Beine stellen könnte. Ziemlich ratlose Grüsse, Matthias. -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
On Thursday 20 December 2001 18:57, Matthias Lehmann wrote: [....]
Im Prinzip wäre wohl eine Lösung, die das /var/log/warn analysiert und sobald dort eine Meldung wie "Tag error: Tag Sys Error" erscheint automatisch den pppd neu startet, das Optimale. Allein mir fehlen die Fertigkeiten dazu und ich wüßte auch nicht, wie ich so etwas auf die Beine stellen könnte.
Dann bastel Dir doch ein Script das alle x Minuten mittels checkproc prüft ob Dein pppd noch da ist! Wenn er nicht mehr da ist startest Du ihn im Script wieder neu.... #!/bin/sh if /sbin/checkproc /usr/sbin/pppd ; then exit 0 else /etc/init.d/adsl start fi das ganze entsprechend in der crontab verewigt und Ruhe sollte sein Bye Martin -- Diese Message wurde erstellt mit freundlicher Unterstützung eines freilaufenden Pinguins aus artgerechter Freilandhaltung. Er ist garantiert frei von Micro$oft'schen Viren.
Guten Abend, Martin Marschand schrieb:
On Thursday 20 December 2001 18:57, Matthias Lehmann wrote:
Im Prinzip wäre wohl eine Lösung, die das /var/log/warn analysiert und sobald dort eine Meldung wie "Tag error: Tag Sys Error" erscheint automatisch den pppd neu startet, das Optimale. Allein mir fehlen die Fertigkeiten dazu und ich wüßte auch nicht, wie ich so etwas auf die Beine stellen könnte.
Dann bastel Dir doch ein Script das alle x Minuten mittels checkproc prüft ob Dein pppd noch da ist! Wenn er nicht mehr da ist startest Du ihn im Script wieder neu....
#!/bin/sh if /sbin/checkproc /usr/sbin/pppd ; then exit 0 else /etc/init.d/adsl start fi
Vielen Dank für das Skript. Mit bash werde ich mich auch noch beschäftigen müssen.
das ganze entsprechend in der crontab verewigt und Ruhe sollte sein
Cron ist leider in den Suse-Handbücher recht dünn dokumentiert und mangels hinreichender Englisch-Kenntnisse bringt mich die Man-page auch nicht so recht weiter. Aufgrund der Lektüre von einigen Websites zu diesem Thema, die leider allesamt nicht Suse-spezifisch waren, würde ich unter der Zielvorgabe, dass jede Minute überprüft wird, ob der pppd noch läuft, folgendermaßen vorgehen: - Dein obengenanntes skript unter /etc/init.d/check-adsl abspeichern. - In der Tabelle /etc/crontab mit vi folgenden ergänzenden Eintrag am Ende der Tabelle vornehmen (Neue Zeile): 1 * * * * root /etc/init.d/check-adsl Funktioniert das? Mangels einer Testinstallation möchte ich keinen Crash riskieren. Beste Weihnachtsgrüße, Matthias. -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
Hallo alle! Ich hab das Problem folgendermassen gelöst: Hier läuft ohnehin ein Big-Brother-Server (Netzwerküberwachung). Für dieses Ding hab ich ein Externes Script geschrieben, daß sowohl die Existenz von pppd als auch das Anpingen mehrerer bestimmter Rechner im Netz durchführt. Sollte das Fehlschlagen, so wird ein weiteres Script "benachrichtigt", das dann alle evtl. Überreste vom vorigen Mal entfernt und sich neu einwählt. Falls es jemanden interessiert, kann ich gerne das Script (oder alle) zur Verfügung stellen, funktioniert logischerweise auch ohne Big Brother über Cron gesteuert. CU Werner Matthias Lehmann wrote:
Guten Abend,
Martin Marschand schrieb:
On Thursday 20 December 2001 18:57, Matthias Lehmann wrote:
Im Prinzip wäre wohl eine Lösung, die das /var/log/warn analysiert und sobald dort eine Meldung wie "Tag error: Tag Sys Error" erscheint automatisch den pppd neu startet, das Optimale. Allein mir fehlen die Fertigkeiten dazu und ich wüßte auch nicht, wie ich so etwas auf die Beine stellen könnte.
Dann bastel Dir doch ein Script das alle x Minuten mittels checkproc prüft ob Dein pppd noch da ist! Wenn er nicht mehr da ist startest Du ihn im Script wieder neu....
#!/bin/sh if /sbin/checkproc /usr/sbin/pppd ; then exit 0 else /etc/init.d/adsl start fi
Vielen Dank für das Skript. Mit bash werde ich mich auch noch beschäftigen müssen.
das ganze entsprechend in der crontab verewigt und Ruhe sollte sein
Cron ist leider in den Suse-Handbücher recht dünn dokumentiert und mangels hinreichender Englisch-Kenntnisse bringt mich die Man-page auch nicht so recht weiter. Aufgrund der Lektüre von einigen Websites zu diesem Thema, die leider allesamt nicht Suse-spezifisch waren, würde ich unter der Zielvorgabe, dass jede Minute überprüft wird, ob der pppd noch läuft, folgendermaßen vorgehen:
- Dein obengenanntes skript unter /etc/init.d/check-adsl abspeichern. - In der Tabelle /etc/crontab mit vi folgenden ergänzenden Eintrag am Ende der Tabelle vornehmen (Neue Zeile):
1 * * * * root /etc/init.d/check-adsl
Funktioniert das? Mangels einer Testinstallation möchte ich keinen Crash riskieren.
Beste Weihnachtsgrüße,
Matthias.
-- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
-- Um die Liste abzubestellen, schicken Sie eine Mail an: suse-linux-unsubscribe@suse.com Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken Sie eine Mail an: suse-linux-help@suse.com
Hallo zusammen, Matthias Lehmann wrote:
Guten Abend,
Martin Marschand schrieb:
On Thursday 20 December 2001 18:57, Matthias Lehmann wrote:
Im Prinzip wäre wohl eine Lösung, die das /var/log/warn analysiert und sobald dort eine Meldung wie "Tag error: Tag Sys Error" erscheint automatisch den pppd neu startet, das Optimale. Allein mir fehlen die Fertigkeiten dazu und ich wüßte auch nicht, wie ich so etwas auf die Beine stellen könnte.
Du kannst auch das Programm logsurf benutzen. Das Programm analysiert das oder die Log-File(s) und kann anhand von regulären Ausdrücken bestimmte Aktionen ausführen. man logsurf, ggf. musst Du es nach installieren. Gruss Michael
* Matthias Lehmann schrieb am 25.Dez.2001:
Cron ist leider in den Suse-Handbücher recht dünn dokumentiert und mangels hinreichender Englisch-Kenntnisse bringt mich die Man-page auch nicht so recht weiter. Aufgrund der Lektüre von einigen Websites zu diesem Thema, die leider allesamt nicht Suse-spezifisch waren, würde ich unter der Zielvorgabe, dass jede
Na und? man-pages sind auch nicht SuSE-spezifisch. Ich wüßte auch nicht, was an cron suse-spezifisch sein sollte.
Minute überprüft wird, ob der pppd noch läuft, folgendermaßen vorgehen:
ist es da nicht besser was in /etc/ppp/ip-down.local zu schreiben, daß meldet, wenn pppd zu Ende gegangen ist?
- Dein obengenanntes skript unter /etc/init.d/check-adsl abspeichern. - In der Tabelle /etc/crontab mit vi folgenden ergänzenden Eintrag am Ende der Tabelle vornehmen (Neue Zeile):
1 * * * * root /etc/init.d/check-adsl
Funktioniert das? Mangels einer Testinstallation möchte ich keinen Crash riskieren.
Crash wird es so schnell nicht geben, wenn Du als Befehl etwa echo Test > /dev/tty12 schreibst. Aber die Zeile stimmt nicht. Es wird nicht jede Minute der Befehl ausgeführt, sondern jede Stunde zur Minute 1. Also um 0:01 und um 1:01, 2:01, 3:01 usw. Wenn Du jede Minute willst, dann muß da auch noch ein * stehen: * * * * * root ... wie gesagt, gibt bestimmt bessere Möglichkeiten. Bernd
On Tuesday 25 December 2001 21:49, Bernd Brodesser wrote:
* Matthias Lehmann schrieb am 25.Dez.2001: [....]
Minute überprüft wird, ob der pppd noch läuft, folgendermaßen vorgehen:
ist es da nicht besser was in /etc/ppp/ip-down.local zu schreiben, daß meldet, wenn pppd zu Ende gegangen ist?
Ja aber was macht er wenn noch keine Verbindung besteht. Matthias will wohl folgendes abfangen....: Dec 18 18:40:01 linux pppd[26891]: Starting link Dec 18 18:40:01 linux pppd[26891]: Sending PADI Dec 18 18:40:01 linux pppd[26891]: HOST_UNIQ successful match Dec 18 18:40:03 linux pppd[26891]: Tag error: TAG_SYS_ERR Dec 18 18:40:03 linux pppd[26891]: Failed to negotiate PPPoE connection: 11 ResoDec 18 18:40:03 linux pppd[26891]: Exit. Mir ist jetzt nicht bekannt wie Du das in der ip-down.local abfangen willst da keine Verbindung besteht und der pppd sich jetzt einen auf trotzig macht. Hab ich was übersehen oder was spricht dagegen regelmässig zu überprüfen ob der pppd noch da ist? Bye Martin
Guten Morgen, Martin Marschand schrieb:
On Tuesday 25 December 2001 21:49, Bernd Brodesser wrote:
* Matthias Lehmann schrieb am 25.Dez.2001: [....]
Minute überprüft wird, ob der pppd noch läuft, folgendermaßen vorgehen:
ist es da nicht besser was in /etc/ppp/ip-down.local zu schreiben, daß meldet, wenn pppd zu Ende gegangen ist?
Ja aber was macht er wenn noch keine Verbindung besteht. Matthias will wohl folgendes abfangen....:
Dec 18 18:40:01 linux pppd[26891]: Starting link Dec 18 18:40:01 linux pppd[26891]: Sending PADI Dec 18 18:40:01 linux pppd[26891]: HOST_UNIQ successful match Dec 18 18:40:03 linux pppd[26891]: Tag error: TAG_SYS_ERR Dec 18 18:40:03 linux pppd[26891]: Failed to negotiate PPPoE connection: 11 ResoDec 18 18:40:03 linux pppd[26891]: Exit.
Mir ist jetzt nicht bekannt wie Du das in der ip-down.local abfangen willst da keine Verbindung besteht und der pppd sich jetzt einen auf trotzig macht.
Hab ich was übersehen oder was spricht dagegen regelmässig zu überprüfen ob der pppd noch da ist?
Es funktioniert anscheinend einwandfrei. Auszug aus meinem log von heute morgen: [...] Dec 26 04:30:55 router pppd[277]: Starting link Dec 26 04:30:55 router pppd[277]: Sending PADI Dec 26 04:30:55 router pppd[277]: HOST_UNIQ successful match Dec 26 04:30:57 router pppd[277]: Tag error: TAG_SYS_ERR Dec 26 04:30:57 router pppd[277]: Failed to negotiate PPPoE connection: 11 Resource temporarily unavailable Dec 26 04:30:57 router pppd[277]: Exit. Dec 26 04:31:01 router pppd[3294]: Plugin /usr/lib/pppd/2.4.1/pppoe.so loaded. Dec 26 04:31:01 router pppd[3294]: PPPoE Plugin Initialized Dec 26 04:31:01 router pppd[3295]: pppd 2.4.1 started by root, uid 0 Dec 26 04:31:01 router pppd[3295]: Using interface ppp0 Dec 26 04:31:01 router pppd[3295]: Couldn't increase MTU to 1500. Dec 26 04:31:01 router pppd[3295]: Couldn't increase MRU to 1500 Dec 26 04:31:01 router pppd[3295]: local IP address 10.64.64.64 Dec 26 04:31:01 router pppd[3295]: remote IP address 10.112.112.112 Dec 26 04:31:02 router pppd[3295]: Starting link Dec 26 04:31:02 router pppd[3295]: Sending PADI Dec 26 04:31:45 router pppd[3295]: HOST_UNIQ successful match Dec 26 04:31:45 router pppd[3295]: HOST_UNIQ successful match Dec 26 04:31:45 router pppd[3295]: Got connection: 86d Dec 26 04:31:45 router pppd[3295]: Connecting PPPoE socket: 00:90:1a:10:16:23 6d08 eth0 0x8086390 Dec 26 04:31:45 router pppd[3295]: Connect: ppp0 <--> eth0 Dec 26 04:31:45 router pppd[3295]: Couldn't increase MTU to 1500. Dec 26 04:31:45 router pppd[3295]: Couldn't increase MRU to 1500 Dec 26 04:31:46 router pppd[3295]: Local IP address changed to 80.145.xxx.xxx Dec 26 04:31:46 router pppd[3295]: Remote IP address changed to 217.5.xx.xxx Dec 26 04:31:47 router pppd[3295]: Open UDP 80.145.xxx.xxx:1024 -> 194.25.x.xxx:53 Dec 26 04:31:48 router modify_resolvconf: Service pppd modified /etc/resolv.conf. See info block in this file Dec 26 04:33:37 router pppd[3295]: Terminating connection due to lack of activity. [...] Wenig später wurde der Neustart des pppd auch in einer mail ordnungsgemäß von cron gemeldet. Vielen Dank für die erhaltene Hilfe ;-). Gruss, Matthias. -- GMX - Die Kommunikationsplattform im Internet. http://www.gmx.net
participants (5)
-
B.Brodesser@t-online.de
-
Martin Marschand
-
Matthias Lehmann
-
mv@tetraeder.com
-
Werner Jansen