"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

Fedora 2: inode xdsl auto redial

quattro 17.11.2004 - 16:08 569 5
Posts

quattro

Alive For The Journey
Avatar
Registered: Oct 2002
Location: .
Posts: 2265
hallo,

hab mir einen PC mit Fedora Core 2 als Router eingerichtet - setup sieht folgendermaßen aus:

2 Netzwerkkarten, eth0 ist mit dem dsl-modem von inode verbunden, eth1 ist mit dem switch verbunden. die dsl-verbindung wird aufgebaut über das tool von inode, Routing (NAT) ist über iptables konfiguriert.

habe mir dazu ein kleines script gebastelt, das die einwahl automatisch beim systemstart vornimmt - sieht in etwa so aus:

Code:
#!/bin/sh 
# chkconfig: 2345 65 35
# description: blabla automatische einwahl blabla

case "$1" in
  start)
        /opt/inode-dsl/dialin
        ;;
  stop)
        /opt/inode-dsl/hangup
        ;;
  restart)
        /opt/inode-dsl/redial
        ;;
esac
exit 0

das script ist jetzt mit /sbin/chkconfig --add einwahl eingebunden und funktioniert auch problemlos.

allerdings kann es jetzt aber passieren, dass die dsl-verbindung aus irgendeinem grund getrennt wird - damit ich dann nicht händisch die verbindung neu starten muss soll der PC das automatisch machen, er soll solange versuchen die verbindung herzustellen bis er es schafft.

kann ich das script dafür irgendwie erweitern oder hat jemand andere vorschläge?

tia

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Via cronjob alle 5 Minuten einen Ping auf deinen ersten Host im WAN, einen Test auf $?, wenn != 0 -> redial, wenn == 0 -> nix.

Wär halt meine Idee. Quick & Dirty, sollte aber funktionieren ;)

quattro

Alive For The Journey
Avatar
Registered: Oct 2002
Location: .
Posts: 2265
hmm ok wie mach ich das genau?
hab so gut wie keine erfahrung mit linux :(

COLOSSUS

Administrator
GNUltra
Avatar
Registered: Dec 2000
Location: ~
Posts: 12070
Cronjob all 5 Minuten (man crontab hilft ;)) z. B. mit
Code:
ping -w3 aaa.bbb.ccc.ddd 2&>1 /dev/null; if [ $? -ne 0 ]; then /etc/init.d/deinskript restart; fi

quattro

Alive For The Journey
Avatar
Registered: Oct 2002
Location: .
Posts: 2265
ah perfekt danke!

shadowman

OC Addicted
Registered: Oct 2000
Location: Feldkirchen
Posts: 1612
ich habs so gelöst

ping 212.33.55.5 -c 2 || (inode-hangup && inode-redial && echo redial erfolgreich um `date`>>redial_log )

speichert mir auch gleich das redial in ein log mit :)
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz