• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

PPPD Option "persist" oder 24h Zwangstren

Ich habe einen PC als Router konfiguriert, auf dem noch so einige andere Internetservices angeboten werden. Bislang hatte ich es unter SuSE 9.1 laufen und jetzt ein Update auf 9.2 durchgeführt ...

Es gab beim Update ein paar Schwierigkeiten, die ich alle bis auf einen wieder haben lösen können.

Um der Zwangstrennung meines Providers entkommen zu können, habe ich bei 9.1 in der /etc/ppp/options eine Zeile eingefügt, in der "persist" (ohne Anführungszeichen) stand. Dann hat er direkt nach dem Trennen der Verbindung selbige neu gestartet und mein dyndns.org script in /etc/ppp/ip-up.d ausgeführt.
Unter 9.2 scheint diese Anweisung/Direktive nicht mehr zu funktioniern. Das Gerücht, dass es jetzt "permanent" heiss, stimmt leider auch nicht - hat jemand eine Idee, wie man das jetzt unter 9.2 macht?
Bitte keine Dial-on-Demand Lösungen, weil ich auch meine Server erreichbar haben möchte, ohne dass alle 24h jemand aus dem LAN irgendwas im Internet anpingen muss.
Kann ja nicht sein, dass eine so praktische Option entfernt worden ist - vermutlich heisst es nur anders oder muss mit anderer Syntax oder woanders eingebunden werden.

mfG
Marcus
 
OP
C

Commander1024

Newbie
Hat niemand ne Ahnung, warum das nicht mehr funzt, obwohl es in der Doku (man pppd) immer noch so dokumentiert ist?
 

Goras

Newbie
versuch mal dial on demand zum laufen zu bekommen und dann füg dein script welches du verwendest um die ip bei dyndns.org zu updaten einfach in den ordner "/etc/ppp/ip-down.d" ein! ist zwar ne triviale lösung aber bei mir funktioniert sie so :)
ich weiß nicht wie dein script aussieht welches du verwendest aber ich hab einfach ne shell-skript geschrieben in der der ddclient aufgerufen wird! mehr nicht, und ich bin damit 24std am tag on!

versuchs mal :)

ps: ist zwar ne dial on demand lösung aber ohne anpingen und so nen shit :D wollte ich damals auch nicht haben:)
 
OP
C

Commander1024

Newbie
Hey, die Idee ist gut - fast schon genail!
Warum bin ich nicht darauf gekommen? *patsch*

Aber Danke für die Idee, werde das mal testen, sollte aber wohl klappen.
Ich benutze zur zeit ein python script namens ipcheck für dyndns.org, aber das sollte ja wohl auch gehen, da er ja auch ins internet connecten will ...

mfG
Marcus
 
OP
C

Commander1024

Newbie
So, Jungs, ich hab jetzt eine noch bessere Lösung für das immanente Problem mit der Zwangstrennung nach 24 Stunden gefunden. Ebenso einfach, wie genial.

  • DSL (oder auch ISDN) Zugang mit YaST konfigurieren und dabei das Häkchen bei "benutzergesteuert" aktivieren - sollte Benutzern dennoch verboten werden, die Verbindung zu steuern, ihnen einfach die entsprechenden Rechte entziehen
    Nach /etc/ppp/ip-down.d gehen
    Dort mit dem Editor seiner Wahl eine Datei beliebigen Namens erstellen, z. B. reconnect
    Folgende Zeile hineinschreiben:
Code:
cinternet --interface-name=dsl0 -A           # Wenn ISDN verwendet wird, dann ippp0 oder ippp1 eintragen
  • Nun abspeichern und das Script ausführbar machen mit:
Code:
chmod 600 reconnect
  • Das wars auch schon. Nach dem nächsten Trennen der Verbindung (dazu zählt nicht absichtliches manuelles Trennen der Verbindung z. B. durch anklicken des KDE Symbols) sollte die Verbindung sofort (nach ca. 1-3 sek) wieder aufgebaut werden.

Viel Spaß damit
mfG
Marcus
 

nice2kn0w

Newbie
hi auch,
ich hab mir wie Du beschrieben hast, diese Datei angelegt und ausführbar gemacht, allerdings kann ich nirgendwo benutzergesteuert in yast finden ??? ich vermute allerdings auch, dass das Problem noch woanders her kommt, hier mal mein kinternet-protokoll, vielleicht wisst ihr ja Rat. ;-)

SuSE Meta pppd (smpppd-ifcfg), Version 1.16 on linux.
Status is: disconnected
trying to connect to smpppd
connect to smpppd
Status is: disconnected
Interface is eth0.
Status is: connecting
pppd[0]: Plugin rp-pppoe.so loaded.
pppd[0]: RP-PPPoE plugin version 3.3 compiled against pppd 2.4.2
pppd[0]: Plugin passwordfd.so loaded.
pppd[0]: Using interface ppp0
Status is: connecting
pppd[0]: Connect: ppp0 <--> eth0
pppd[0]: Couldn't increase MTU to 1500
pppd[0]: Couldn't increase MRU to 1500
pppd[0]: CHAP authentication succeeded: CHAP authentication success, unit 12321
pppd[0]: peer from calling number 00:30:88:01:28:98 authorized
pppd[0]: local IP address **.**.**.**
pppd[0]: remote IP address 84.58.0.1
pppd[0]: primary DNS address 195.50.140.252
pppd[0]: secondary DNS address 145.253.2.75
pppd[0]: Script /etc/ppp/ip-up finished (pid 11948), status = 0x0
Status is: connected
 
OP
C

Commander1024

Newbie
Sieht doch gar nicht so schlecht aus, die Fehler die das Setzen von MTU betreffen kannst Du getrost ignoriren.
Allerdings hat es sich für mich als günstiger erwiesen, wenn ich noch eine Warteschleife (sleep 10 = warte 10 Sekunden) einsetze um einen vollständigen Abbau der Verbindung abzuwarten, bis der Wiedereinwahlversuch startet. Ebenso habe ich vor meinem dyndns.org Script ein 10 Sekunden Delay eingebaut.

/etc/ppp/ip-down.d:
Code:
sleep 10
cinternet --interface-name=dsl0 -A

/etc/ppp/ip-up.d:
Code:
sleep 10
cd /home/[user]/ipcheck                           # bezieht sich auf das python Script ipcheck.py
python ipcheck.py -i dsl0 -l -d /home/[user]/ipcheck/ [dyndns.org login] [dyndns.org PW] [erste dyndns.org Adresse,zweite dyndns.org Adresse]
cd /

Ich sollte zusätzlich erwähnen, dass kinternet dann mit meiner Methode nicht mehr benutzt werden sollte, da die Verbindung, die bei booten ja bereits aufgebaut wird (OnBoot), beim Starten des grafischen Systems wieder getrennt wird. Also kinternet aus dem "Tray" beenden und nicht zulassen, dass er beim nächsten Neustart wieder startet. Die Option "Benutzergesteuert" müsstest Du sowohl im grafischen (X11), wie im textconsolenbasierten YaST2 finden können.
Netzwerkgeräte --> DSL --> Ändern (bei Bereits konfigurierte Geräte) --> DSL Geräte (der obere Punkt) --> auf der ersten Seite unten links (OnBoot, bzw. Beim Booten), unten rechts [x]Benutzergesteuert (Häkchen setzen)

Hoffe Dir geholfen zu haben
mfG
Marcus
 
OP
C

Commander1024

Newbie
vielleicht sollte ich noch dazusagen, dass diese Methode nür für Leute mit echter Flatrate geeignet ist, da man die "Wiederverbindungspolitik" fast schon als 'penetrant' bezeichnen kann, da er sich sogar dann wiedereinwählt, wenn man explitzit über
Code:
cinternet --interface-name=dsl0 -O
die Verbindung trenne will/wollte ;-)

Ansonsten freuts mich, Dir geholfen zu haben ...
 

rstr

Newbie
Hallo Commander1024,

habe das mal nach deiner Anleitung mit Suse 9.2 versucht.
Funktioniert bei mir leider nicht so wie du das beschrieben hast.
Die Benutzereinstellung habe ich aktiviert und das KInternet aus dem tray entfernt.
Als Client für Dyndns verwende ich den Ddclient.
Ich muss mein DSL mit cinternet... -A manuell starten, obwohl ich Dial on Demand aktiviert habe und ddclient beim booten ausgeführt wird. Auch ein anderer Dienst den ich dann in der Konsole starte um das dsl anzuwerfen, ändert nichts am Verhalten.
Wenn ich nun den mit -A gestarteten Dienst mit -O stoppe, kommt die Verbindung nicht mehr hoch.
Ich würde das dsl gerne so funktionsfähig haben, dass der Rechner startet und das dsl automatisch immer aktiv ist, eine Zwangstrennung darf das nicht beinflussen.

Läuft das bei dir so?
Hast du da noch eine Idee dazu?
 
OP
C

Commander1024

Newbie
Den Dial-on-Demand brauchst Du nicht, bzw. verträgt sich das mit meiner Lösung auch gar nicht. Wähle stattdessen den Startmodus "Beim Booten". Den Rest anhand meiner Anleitung einstellen, dann sollte es gehen.
 

rstr

Newbie
Hallo Commander1024,

ist ja alles schön und gut, funktioniert auch wohl bei dir.
Ich krieg das jedenfalls so nicht hin.
Vielleicht noch einpaar Infos zu meinem System.
Ich verwende die Fritz DSL Card, habe folgende Einstellungen :
Start beim booten aktiv, Provider Arcor.
Mein Dyndns mache ich mit dem ddclient, der mit dem RunLevel Editor aktiviert wurde. Auch der ntp Client startet beim booten.
Kinternet wurde aus dem Tray entfernt. Dial on Demand habe ich deaktiviert.

Jetzt kommt die Leitung beim booten gar nicht hoch, erst wenn ich mit cinternet... manuell starte geht das. Aber an dem abschalten hat sich nichts geändert.

Muss ich den DDclient in das Ip-Up Verzeichnis legen damit das internet hochkommt?

Kannst mir vielleicht noch weiterführende Tips liefern?

danke
 

Goras

Newbie
damit ddclient eine verbindung aufbaut muss der sowohl im ip-down (als startzeichen fuer dial on demand) und im ip-up selber sein damit deine ip nach wiedereinwahl aktualisiert werden kann.
also am besten on boot aktivieren bei deiner dsl schnittstelle und dann in beide verzeichnisse das script rein tun (wenn dial on demand an ist). wenn nicht einfach mit dem weiter oben beschriebenen befehlen ein script schreiben und das dann in ip-down tun.... dann muesste es klappen!
 

rstr

Newbie
Hallo Commander1024,

ich habe das Ganze nochmals exakt nach deiner Anleitung durchgespielt. Es funktioniert jetzt sauber ohne Dial on Demand.
Die Datei im ip-down Verzeichnis arbeitet auch zuverlässig.
Ich erzähle dir aber lieber nicht was der Fehler war... zu peinlich.

Aber wie schaffst du es (mit Capi for DSL bei fritz), dass deine DSL Verbindung vollautomatisch nach dem Booten des Rechners hochkommt. Wenn du über Ethernet an ein Dsl Modem gehst, dann ist die Verbindung sicherlich nach dem Booten mit der Option OnBoot verfügbar.
Ich muss die Verbindung manuell mit cinternet... starten.
Schöner wäre es, wenn das Alles nch dem Booten aktiv ist.
 

rstr

Newbie
Hallo Commander1024

Wann immer ich den Rechner neu starte, versucht der PPP die DSL Verbindung zu starten und wird erst mal rausgeworfen mit einem Fehler "Modem Hung up".
Warte ich eine Weile und starte dann die Verbindung mit cinternet... oder auch Kinternet manuell, dann funktioniert das ganze ohne Probleme.
Die automatische Zwangstrennung der Verbindung stellt kein Problem dar, da hierfür in PPP-Down dein Script via cinternet den reconnect erzwingt.

Nur beim Start des Systemes funktioniert das nicht.
Hier greift dein Script wohl nicht, oder ich habe da was noch nicht ganz verstanden.

Wenn ich auf dial on demand stelle, dann wählt er zwar irgendwann ein, aber der rest funktioniert nicht mehr.
Also habe ich Dial on Demand abgeschaltet.

Wie gesagt, ausser bei Start des Rechners funktioniert ansonsten alles sehr schön.

Hast du da vielleicht eine Idee dazu?

Danke.
 
OP
C

Commander1024

Newbie
@ rstr: keine Ahnung habe ein normales DSL Modem an einer Netzwerkkarte hängen ... :-(
Mein Script ist so wie es ist, wirklich nur dafür da, die Verbindung wieder herzustellen. Aber Du könntest ja in /etc/init.d/nen Script reinsetzen, was am Ende des Bootvorganges noch mal den cinternet Befehl aufruft.
Dazu dann einen symbolischen Link in /etc/init.d/rc3.d/ reinsetzen und K99ersteanwahl nennen oder so...
@ BOBFOX: komisch - ich hab mir nen wolf in den Man-Pages vom PPPD gesucht nach der richtigen Syntax, und obwohl ich der Meinung war, dass es so richtig gewesen wäre, hats net geklappt (hab übrigens die 9.2 FTP Install in verwendung)
 

panamajo

Guru
Commander1024 schrieb:
vielleicht sollte ich noch dazusagen, dass diese Methode nür für Leute mit echter Flatrate geeignet ist, da man die "Wiederverbindungspolitik" fast schon als 'penetrant' bezeichnen kann, da er sich sogar dann wiedereinwählt, wenn man explitzit über
Code:
cinternet --interface-name=dsl0 -O
die Verbindung trenne will/wollte ;-)

Genau das hat mich auch gestört.
Unter SUSE9.0 ging das mit dem automatischen Verbindungsaufbau tadellos, seit 9.1 nicht mehr. :oops:

Nun hat SUSE mit der 9.1 ja ein vollkommen neues Konzept bzgl. Netzwerkhandling eingeführt (log. Interfacenamen etc.) und damit implizit den bisherigen Weg (ipconfig etc.) deprecated. Schade nur dass die Doku dazu recht dürftig ist (z.B. /usr/share/doc/packages/sysconfig/Network), insbesonders bzgl. Migration :evil:
Dies scheint mir der Grund für die verschiedenen Aussagen hier im Thread zu sein ("geht doch", "nein, geht nicht").

Jedenfalls funktioniert es bei mir jetzt wieder mit SUSE9.3, aber vorher noch eine Warnung:
Ich beziehe mich hier ausschließlich auf ADSL in Verbindung mit einer Flatrate, d.h. Ziel ist eine permanente Verbindung zum Inet. Wer mit kinternet, ISDN oder Modem o.ä. Online geht wird hier wenig hilfreiches finden.

1) alle Netzwerkkonfigurationen die man ab SUSE9.1 unter YAST macht werden in /etc/sysconfig/network gespeichert. Das gilt auch für Dial-up Verbindungen wie z.B. via
2) rp-pppoe
"Roaring Penguin", die älteren werden sich noch an das erste ADSL Paket für Linux erinnern :p
Funktioniert immer noch, aber nur wenn man die DSL Verbindung explizit aus den network deamon herausnimmt, was aus Konsistenzgründen nicht zu empfehlen ist. Also weg damit!
3) smpppd
Der SUSE Meta pppd. Wird weiterhin benötigt, aber der deamon wird bei Bedarf vom network Skript gestartet. Läuft der deamon schon funktioniert zwar der Verbindungsaufbau, aber eben der AUTO_RECONNECT nicht! Also
Code:
# insserv -d smpppd
4) Mit YAST läßt sich nur Dial on Demand einstellen, deshalb muss die entsprechende Datei unter /etc/sysconfig/network/providers editiert werden:

Code:
AUTO_RECONNECT="yes"
AUTO_RECONNECT_DELAY='0'

HTH
 

Dikanet

Newbie
panamajo schrieb:
Leider funktioniert der AUTO_RECONNECT unter 10.0 nicht mehr :twisted:

Und ich dachte die ganze Zeit ich sei zu blöde dazu!

Habe mittlerweile das Gefühl, das seit der Fusion/ Übernahme von Novell alles gute in Suse wegrationalisiert wird. :twisted:
 
Oben