IT-Academy Logo
Sign Up Login Help
Home - Betriebssysteme - Linux - Server/Internet/Netzwerk - Linux ADSL Reconnectskript



Linux ADSL Reconnectskript

Viele User haben Probleme mit ihrer ADSL-Leitung über PPTP. Aufgrund technischer Mängel oder Provider die Verindungen terminieren ist eine ständige Verbindung ins Internet nicht immer gegeben. Hier ein Skript welches Abhilfe schafft.


Autor: Martin Puaschitz (onestone)
Datum: 23-01-2002, 19:06:47
Referenzen: keine
Schwierigkeit: Anfänger
Ansichten: 8369x
Rating: Bisher keine Bewertung.

Hinweis:

Für den hier dargestellte Inhalt ist nicht der Betreiber der Plattform, sondern der jeweilige Autor verantwortlich.
Falls Sie Missbrauch vermuten, bitten wir Sie, uns unter missbrauch@it-academy.cc zu kontaktieren.

[Druckansicht] [Als E-Mail senden] [Kommentar verfassen]



Eine Adsl-Verbindung ist für die meisten User das non-plus-ultra der heutigen Zeit. Doch leider sind die meisten Angebote keine Flatrates sondern beinhalten immer eine gewisse Mengenbeschränkung. Aufgrund dieser muss der Provider die Verbindung des Users irgendwann kappen, damit die Aufzeichnungen der gesendeten und empfangenen Datenmengen verwertet werden können. Dieser Trennungsintervall ist sehr verschieden, findet aber im Prinzip bei jedem Provider statt.

Da viele User allerdings eine ständige ADSL-Verbindung, bei Leitungsproblemen (einschlafen der Leitung) oder einer wie oben genannten Trennung sofort wieder eine ADSL-Verbindung hergestellt haben möchten, gibt es verschiedene Reconnect-Skripts - für Windows sogar Programme. Unter Linux sieht die Sache ein wenig anders aus. Ein sehr einfaches Skript und ein Eintrag in die crontab-Datei ermöglichen allerdings das Problemlose betreiben einer ständigen ADSL-Verbindung unter Linux (z.B. für Server-Systeme).

Ich habe folgendes Skript unter /usr/local/sbin/reconnect gespeichert.

/usr/bin/killall pptp
/usr/bin/killall -9 pppd
/usr/bin/killall -9 pptp
killall pptp
killall pppd
/bin/rm /var/run/pptp/10.0.0.138
/bin/sleep 2
/usr/local/sbin/pptp 10.0.0.138
) > /dev/null 2>&1

Dieses Skript macht im Prinzip nichts anderes, als den ADSL-Prozess zu killen und einen neuen aufzubauen. Eine Anpassung mag notwendig sein, wenn das ADSL-Modem bei Ihnen nicht die IP-Adresse 10.0.0.138 hat. Ansonsten sollte es keine Probleme geben. Wenn Sie nun eine aktive Verbindung haben und dieses Skript starten, wird die Verbindung terminiert und eine neue aufgebaut.

Wichtig ist noch

chmod a+x /usr/local/sbin/reconnect

auszuführen, damit das Skript auch ja die richten Rechte zum Ausführen besitzt.

Der nächste Schritt ist, zu prüfen ob eine Verbindung vorhanden ist. Hierzu pinge ich zwei, unabhängige Server von denen ich ausgehen kann, dass die Ausfallrate sehr gering ist (z.B. orf.at, cnn.com, microsoft.com, suse.de und ähnliche). Um den Nameserver zu umgehen habe ich direkt die IP-Adressen der Server verwendet (mit "nslookup servername.de" auszuforschen). Der ping wird an jeden Server zwei mal gesendet. Wenn einer der beiden Server erreicht wird (also angenommen werden kann, dass eine Verbindung besteht), wird nichts am System verändert. Sobald allerdings beide Server nicht erreicht werden können, wird unser reconnect-skript gestartet. Folgende Zeile ermöglicht uns dies:

ping -c2 194.158.136.40 >/dev/null || ping -c2 195.3.96.73 >/dev/null || /usr/local/sbin/reconnect2

Zu guter letzt möchten wir diese Überprüfung nicht jedes Mal händisch ausführen müssen. Deswegen tragen wir diese Zeile wie folgt in die Datei /etc/crontab ein und starten anschließend crontbab neu (mit /sbin/init.d/cron restart). Ich lasse crontab jede Minute überprüfen, ob die Verbindung aufrecht ist. Manche meinen, dies sei ein wenig zuviel (da ja die Datenmenge zu berücksichtigen ist!), allerdings ist sosichergestellt, dass die Verbindung beinhahe 24 Stunden am Tag funktioniert.

in /etc/crontab

>/dev/null || ping -c2 195.3.96.73 >/dev/null || /usr/local/sbin/reconnect2

Sobald die Verbindung nicht zustande kommt, bzw. das Skript ausgeführt werden muss, erhält root eine Nachricht per Mail. Anhand dieser Mails kann man schön erkennen, wann der Server nicht online war und wie lange der Ausfall gedauert hat.

 

 

 



zmi
Rookie
Beitrag vom:
30-04-2002, 12:49:15

ADSL Reconnect Script Daemon

Auf http://zmi.at/adsl/ gibts einen fertigen Daemon zur Lösung des Problems der ADSL Wiedereinwahl. Der Daemon ist ein reines Shell Script und sollte daher auf jedem Unix/Linux System laufen. Den Daemon einfach downloaden und unter /usr/sbin stellen, dann das Start/Stop Script unter /etc/init.d speichern und mit "insserv" installieren, sodass es in Zukunft beim Systemstart automatisch aufgerufen wird. Das Script kann entweder als Daemon laufen (default), oder per Cron aufgerufen werden. Dazu einfach im Script die entsprechenden Parameter konfigurieren, die Dokumentation ist im Script selbst enthalten. Weitere Fragen oder Bugreports bitte an adslwatch-maintainer@zmi.at Viel Spaß!

-----------------------------------------------------


[back to top]



Userdaten
User nicht eingeloggt

Gesamtranking
Werbung
Datenbankstand
Autoren:04510
Artikel:00815
Glossar:04116
News:13565
Userbeiträge:16552
Queueeinträge:06247
News Umfrage
Ihre Anforderungen an ein Online-Zeiterfassungs-Produkt?
Mobile Nutzung möglich (Ipone, Android)
Externe API Schnittstelle/Plugins dritter
Zeiterfassung meiner Mitarbeiter
Exportieren in CSV/XLS
Siehe Kommentar



[Results] | [Archiv] Votes: 1157
Comments: 0