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

Problem mit Linux als DSL-Router

hypermario

Newbie
Hi,
ich benutze einen alten PC als Linux-Router, klappt eigentlich auch alles ganz gut, nur ein Problem hab ich noch: Da ich eine Flatrate hab, bleibt das Internet immer an. T-Online bricht die Verbindung allerdings nach 24 Stunden ab und dann geht an den Client-PC`s gar nichts mehr. Bei Windoof kann man das so einstellen, dass er sich nach Abruch wiedereinwählt, doch habe ich die Funktion bei Linux noch nicht gefunden. Dial-On-Demand funktioniert auch nich, bzw. nur wenn ich von dem Router direkt ins Internet geh. Erst wenn ich den Computer neugestartet habe, geht das Internet wieder. Da muss es aber doch ne andere Möglichkeit geben, oder?

MFG Mario Maas
 
hypermario schrieb:
Da muss es aber doch ne andere Möglichkeit geben, oder?

ich habe mir http://www.dynds.org ein kostenlosen dynmaischen Account besorgt und von deren homepage unter dynamischen Clients rundns runtergezogen, nach der beinhaltete Anweisung installiert. Seit dem keine Probleme und zusätzlich komme ich - wenn ich den Router dafür freischalte - auch von aussen auf meinen Apache-Server, dito natürlich auch für z.B. ftp.

Ich war früher unter Windows bei selfhost.de die bieten auch was kostenloses an und funktioniert genauso. Fand die adresse xxx.homelinux.net interessanter ;-)
 

Bomber8475

Member
@hypermario

Schau Dir mal in der Console den Befehl "cinternet" an.

Ich selber pinge mit einem einzigen Ping alle 5min (cronjob) t-online an und wenn der Ping negativ ausfällt wird ein Script mit dem Befehl "cinternet" und entsprechenden Parametern gestartet. Erst dsl0 aus (kann ja doch sein das ich online bin) und dann wieder einwählen.

Jeden Morgen um 7h schmeiße ich mich selber raus damit ich IMMER zur selben Zeit meinen Reconnect habe, falls mal der PRovider meint mich rauszuschmeißen....
 
OP
hypermario

hypermario

Newbie
@Bomber8475
Wie sieht so nen script denn bei dir aus?
Und wie pingst du automatisch alle 5min t-online an?

MFG Mario Maas
 

Bomber8475

Member
Gut das ich gerade sowieso an den Scripten rumfuckele...


Das wird morgens um 7h ausgeführt: "hangup"
Code:
#!/bin/sh
datei=/home/bomber/log/internetstatus.log
cinternet -i dsl0 -H
cinternet -i dsl0 -O
echo `date -R` Aufgelegt >> $datei
chown bomber $datei
chgrp users $datei

Das wird alle 5Minuten ausgeführt: "online.sh"

Code:
#!/bin/sh
#######################################################
# VARIABLEN
#######################################################

datei=/home/bomber/log/internetstatus.log
logdat=/home/bomber/log/on.log
host=www.t-online.de
count=3

#######################################################
# Wieder online pingen
#######################################################

ping -c $count $host | grep ttl > $logdat
if [ -s $logdat ]; then
  echo "Wir sind online"
 else
  echo `date -R` Neueinwahl >> $datei
  cinternet -i dsl0 -H
  cinternet -i dsl0 -O
  sleep 30
  cinternet -i dsl0 -A
  cinternet -i dsl0 -D
  cinternet -i dsl0 -s
  cinternet -i dsl0 -l
  echo `date -R` Eingewählt >> $datei 
fi 
chown bomber $datei
chgrp users $datei
rm $logdat
exit

Im crontab sieht das so aus:

*/5 * * * * root /root/bin/online.sh > /dev/null 2>&1
0 7 * * * root /root/bin/hangup > /dev/null 2>&1
 
OP
hypermario

hypermario

Newbie
Danke für die schnelle antwort, aber in welchen Ordner muss ich die Dateien jeweils packen?

MFG Mario Maas

P.S. Welches "chmod" macht die dateien ausführbar?
P.S.2 Was ist Crontab?
P.S.3 Wie mach ich das, dass die dateien immer zu der bestimmten zeit ausgeführt werden?
 

Bomber8475

Member
Na ich glaub jetzt wirds Zeit das Du Dir mal ein wenig Literatur zulegst oder mal Google befragst und/oder in diesem Forum liest :lol:
 

Yehudi

Guru
@Bomber8475:
Vor einigen Tagen hast Du mich an diesen Treat verwiesen.
Ich habe mir jetzt das ganze mit weiterer Information reingezogen.

hypermario schrieb:
P.S. Welches "chmod" macht die dateien ausführbar?
P.S.2 Was ist Crontab?
P.S.3 Wie mach ich das, dass die dateien immer zu der bestimmten zeit ausgeführt werden?

Zu
P.S. Was haben die Zugriffsrechte mit dieser Ausführung zu tun?
P.S.2 Crontab ist eine Ausführungstabelle des Cronjobs
P.S.3 KCron starten über System > Dienstkonfiguration


Das oben aufgeführte Script ist auch verständlich. Das ist soweit ich das erkenne nur ein Auflegescript. Du startetest wenn ich das rechtverstehe den Internetzugang durch einen Ping neu. könnte man das nicht vereinfachen. Um das für uns "Absolute Beginner" verständlich zu halten, eine Einwahl um 7:5machen, ohne den Ping?

Jetzt beginnt aber die schon oben angeführt Frage, wo muss das Script als Datei eingetragen und editiert werden.
Wo die Datei liegt ist ja egal, da man ja den Pfad im Cronjob eintragen kann.

Wenn ich das aus meinen zusammengetragenen Recherchen richtig folger, wird das Script wie ein Programm über den Cronjob gestartet.
Das erste Crontab wäre um 7:00Uhr und führt das Script aus, welches unsern PC vom Internet trennt, dass wir von der Aussenwelt, wie von der Nabelschnur abgetrennt sind.
Wir legen ein zweites Script an, dieses wird um 7:05 über ein weiteres Crowntab gestartet, und verbindet uns wieder mit der Welt, dass wir wieder ungehindert in den Linux-Club können.

Jetzt mal noch 'ne Fragezeigt dann Kinternet die beiden Stecker auch noch an um zu zeigen, dass man Online ist?
 

Bomber8475

Member
Yehudi schrieb:
hypermario schrieb:
P.S. Welches "chmod" macht die dateien ausführbar?
Zu
P.S. Was haben die Zugriffsrechte mit dieser Ausführung zu tun?

Garnichts, wenn man aber mal schaut welcher User sich einwählt und in welchen Ordner das LOG geschrieben wird sollte einem schon klar werden warum die Dateiberechtigungen geändert werden. Vielleicht möchte ich sie ja als User wieder löschen dürfen???


Yehudi schrieb:
...verständlich zu halten, eine Einwahl um 7:5machen, ohne den Ping?

Bei mir ist die Voraussetzung das ich 24/8 online bin, was passiert aber wenn man mal unverhofft vom ISP rausgeworfen wird? Man wählt sich selbstständig erst wieder um 7.05h ein. Und das will ich ja nicht.

Yehudi schrieb:
Jetzt beginnt aber die schon oben angeführt Frage, wo muss das Script als Datei eingetragen und editiert werden.
Wo die Datei liegt ist ja egal, da man ja den Pfad im Cronjob eintragen kann.
Damit hast Du Dir die Frage schon selbst beantwortet ;)
Man erstellt einfach eine neue und gibt den Pfad im Cron an. :roll: :roll: :roll: :roll: :roll: :roll:



Yehudi schrieb:
erste Crontab wäre um 7:00Uhr und führt das Script aus
Richtig

Yehudi schrieb:
ein zweites Script an, dieses wird um 7:05 über ein weiteres Crowntab gestartet
Das ist nicht richtig, dieser 2. Cronjob wird alle 5Minuten ausgeführt, da einem der ISP ja auch mal unverhofft rauswerfen kann.

Yehudi schrieb:
Jetzt mal noch 'ne Fragezeigt dann Kinternet die beiden Stecker auch noch an um zu zeigen, dass man Online ist?
Kene Ahnung, ich nutze den Suse PC ausschließlich als Router und sitze nicht "interaktiv" davor, also hab ich auch kein KDE installiert.
 

Yehudi

Guru
@Bomber8475:
Wahrscheinlich steht mir jetzt mein Wissen als Apple User wieder selber im Weg. Beim Mac habe ich ein Scripteditor, in dem ich das Script eintrage. Dieses Script liegt an einem beliebigen Ort, und kann durch anklicken gestartet werden.
Ich verstehe das jetzt so, dass der Cronjob ein Script aufruft, welches gestartetet wird und den dort eingetragenen Befehl ausführt.
Cron ist nur für die Ausführung einer bestimmten Zeit verantwortlich.
Theoretisch müsste das Script ja diese Ausführung machen, wenn ich es aufrufe. Ich verstehe das so, als würde dort eine Datei liegen.
Oder trage ich den Inhalt des Scriptes in den CronJob ein?
 

Yehudi

Guru
@Bomber8475
Mir ist gerade noch mal was aufgefallen. Warum mußt Du eigentlich den 1 CronJob haben, der Dich vom Netz trennt?
Der zweite Cronjob sendet doch einen Ping, und wählt Dich spätestens nach 5 Min wieder ein, wenn Du vom Netz getrennt bist.
 

Bomber8475

Member
Argl.. ICh glaub Du stehst Dir wirklich selber im Weg..

Du hast es Dir selbst 2x erklärt wie das mit den Cron und Scripten funzt...

Schau Dir doch mal die datei /etc/crontab an.
---------------
Und es hat einen ganz einfachen Grund mit dem 7h rauswerfen:

Ich will IMMER um 7h morgens die Neueinwahl haben. Auch wenn mich mein Provider mal 30min oder 6h vorher rausgeworfen haben sollte. Was bei meinen letzten beiden Providern so gut wie nie passiert ist.

Die Scripte erfüllen mir meine Vorgaben:
  • IMMER online (mit Ausfall von max. 5Minuten) sofern der Provider nicht weg ist oder Hardware defekt ist
  • Wiedereinwahl IMMER um 7h morgens
Was will man mehr?

Funzt übrigens sogar mit Suse 9.2 (hab das grad auf dem Router installiert, da war vorher 9.0 drauf)
 

Yehudi

Guru
@Bomber8475
Gut, Dein Wille ist auf jeden Fall eine Wiedereinwahl um 7:05 Uhr, kann ich respektieren.

Cronjob. Das habe ich soweit wohl verstanden. Meine Frage bezieht sich nur noch auf das Script selber.
In welchem Editor wird das Script geschrieben, und in welchem Format muss es abgespeichert werden?

Ist der Scriptaufsatz in einer Datei, und wird das als Script bezeichnet, oder der Scripttext ist das Script, welches dann in den Cronjob eingetragen wird.
 

Bomber8475

Member
Scahu Dir mal meinen Beitrag genau an.

Das fängt mit "hangup" an, also so heißt mein Script welches in der Datei /etc/crontab morgens um 7h ausgeführt wird.
Dann kommt das Script "online.sh" (die Endung ist im Prinzip irrelevant, es sind alles txt-Dateien) DIeses wird in der Datei /etc/crontab alle 5 Minuten ausgeführt.

Zu guter letzt kommt der Auszug aus der (txt) Datei crontab:

*/5 * * * * root /root/bin/online.sh > /dev/null 2>&1
bedeutet nix anderes als:

Minuten alle, /5 Intervall 5Minuten
rest * für immer
User root führt die txt-Datei aus die er im entsprechenden Ordner findet.

Und da ich nicht darüber benachrichtigt werden will: > /dev/null 2>&1

In welchem Editor wird das Script geschrieben, und in welchem Format muss es abgespeichert werden?

Editor <> Such Dir einen aus
Format <> Egal, hauptsache es ist eine txt. Datei die die Shell versteht.
Wenn ich umter Windows eine txt.Datei schreibe hab ich ein Format welches der Linux PC nicht unbedingt verstelt.

Und nu tu Dir selber einen Gefallen kratz Dir ein wenig Geld zusammen und besorg Dir dieses Buch. Es lohnt sich!
 

Yehudi

Guru
Danke, jetzt ist mir das klar.
Den Buchtipp werde ich demnächst nachgehen. Es ist nämlich schwierig, gute Bücher über Linux zu finden. Von mehreren Büchern die ich habe, ist nur das gut:
http://www.amazon.de/exec/obidos/ASIN/3897213591/qid=1105865984/sr=2-3/ref=sr_2_11_3/302-2544718-4612040
 

Yehudi

Guru
@Bomber8475:
Habe das von Dir oben angegebene Buch in der 6 Auflage jetzt hier. Gut geschrieben.
Ich habe aber doch noch mal eine Frage:
Und zwar greifst Du in den Scripten auf einen Ordner Namens log zu. Was hat das zu bedeuten?
 
Oben