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

DSL stirbt und steht nicht wieder auf (SuSE 8.1)

RZ

Newbie
Hallo,

ich hab folgendes Problem:
Mein Provider schließt offenbar jeden Tag um 3h die Verbindung (zumindest fällt die Verbindung aus). Kinternet versucht sie dann automatisch wiederherzustellen, aber das funktioniert nicht immer. Wobei im Protokoll alles perfekt aussieht ('connected'), auch die grafische Anzeige vom Kinternet zeigt Datenfluss.
Tatsache ist aber, dass keine Verbindung zum Internet besteht (weder ist der Rechner von außen erreichbar, noch kann wer herein).
Weder ein 'cinternet --start' oder ein 'rchotplug -start' schaffen es, dass wieder eine Verbindung besteht. Nur ein boot machts wieder gut.

Erste Frage:
wie finde ich überhaupt den Schuldigen? (da ja alles ok angezeigt wird)
hat jemand schon einmal ein ähnliches Problem gehabt?

Vielen Dank,

RZ
 

mklist2

Newbie
Hallo,
ich hatte ein ähnliches Problem da ich fast den ganzen Tag im Internet bin. Leider klappt das mit dem automatischen Internetaufbau nicht immer perfekt, da linux es ab und zu nicht rafft die Verbindung korrekt zu schließen.

Also:

1. Du verwendest nicht das Programm des Browers sonder gehst über Dial Demand ( Sicherheitslücke vorprogrammiert und alles immer zugänglich)

oder

du wählst dich per Neueinstieg über den Softbutton in der Console neu ein ( was sich aber als schwierig erweist wenn man nicht Zuhause ist)

Also entweder du verzichtest auf die Sicherheit oder hast 24 Std Zugang für was du dich entscheidest bleibt dir überlassen.
 
OP
RZ

RZ

Newbie
Diese Entdeckung habe ich auch gemacht; es scheint so als ob der Dämon hängenbleibt; also wird er abgeschossen und neu eingewählt. Ein Perlskript checkt via crontab jede Minute ob eine Internetverbindung besteht, wenn nicht s.oben. (Da ich das Ganze als kleinen Web- und Emailserver betreibe ist es wichtig immer online zu sein).

_Meine_ Lösung zu dem Problem:
#!/usr/bin/perl

$status = `/bin/ping -c 1 www.anderer_host.at 2>&1`;
if ($status =~ /unknown host/) {
#es können mehrere Prozesse hängen!!!
@ps = `ps ax|grep /usr/sbin/pppd|grep -v grep`;
foreach $ps (@ps) {
print "ps: $ps";
$ps =~ /^\s*(\d+)\s/;
$pid = $1;
system("kill -9 $pid") if $pid;
}
system("/usr/sbin/cinternet --start");
}
 

Hawelka

Newbie
RZ schrieb:
_Meine_ Lösung zu dem Problem:
#!/usr/bin/perl

$status = `/bin/ping -c 1 www.anderer_host.at 2>&1`;
if ($status =~ /unknown host/) {
#es können mehrere Prozesse hängen!!!
@ps = `ps ax|grep /usr/sbin/pppd|grep -v grep`;
foreach $ps (@ps) {
print "ps: $ps";
$ps =~ /^\s*(\d+)\s/;
$pid = $1;
system("kill -9 $pid") if $pid;
}

Ähhhhmm - "killall pppd" wäre kürzer :D
 
OP
RZ

RZ

Newbie
Hawelka schrieb:
Ähhhhmm - "killall pppd" wäre kürzer :D

und falsch ;-)
weil es gibt
/usr/sbin/smpppd
und
/usr/sbin/pppd

Ich will nur das Letztere. Aber:
Ich habe (s.o.) geschrieben, dass es für mich funktioniert; Eleganz ist ein anderes Thema.
 
Oben