Re: ISDN-Failover für Breitband-Internet?
Hallo,
On Fri, Oct 08, 2004 at 01:29:04PM +0200, Albert Ulmer wrote:
> ich hab mir mit Debian Sarge einen kleinen Router/Firewall-Rechner mit
> Shorewall aufgesetzt, der mein Wohnungs-LAN mit dem Internet
> verbindet. Die Kiste hat 2 NICs und eine ISDN-Karte.
[...]
> wieder Daten liefern kann. Eine klassische Failover-Problematik, würde
> ich meinen.
[...]
> Also, hat jemand eine zündende Idee oder ein halbwegs brauchbares
> Howto für mich?
ich habe gerade in einer newsgroup zu dieser Thematik folgendes
gefunden. Ich mache hier mal einen fullquote, denn das Ganze ist
nicht auf meinem Mist gewachsen und ich habe mich noch nicht weiter
damit beschaeftigt. Vielleicht hilft es ja weiter:
>From leo@slacky.de Sat Oct 16 16:35:37 2004
Path: dserver!lilly.ping.de!newsfeed.vmunix.org!fu-berlin.de!uni-berlin.de!not-for-mail
From: Leonhard Fellermayr <leo@slacky.de>
Newsgroups: de.comp.os.unix.linux.isdn
Subject: DSL-Fallback auf ISDN
Date: Sat, 16 Oct 2004 15:10:35 +0200
Lines: 68
Message-ID: <BD96EA6B.7502%leo@slacky.de>
Mime-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: news.uni-berlin.de yC5qwaKlqsyJ1WyNnuAqfgVkyq+CTLOlJq3VmVP4cwCehpytU=
User-Agent: Microsoft-Entourage/10.1.4.030702.0
Xref: dserver de.comp.os.unix.linux.isdn:395
Hi @all,
Habe mir gestern ein einfaches Script geschrieben, welches bei
einem DSL-Ausfall einen Fallback auf ISDN vornimmt und nach
Wiederverfügbarkeit der DSL-Verbindung auf selbige zurückschaltet.
--8<-- (dsl-watchdog.sh)
#!/bin/sh
kill $1
# DSL running && ISDN running => kill ISDN
test -e /proc/sys/net/ipv4/conf/ppp0/log_martians && test -e
/proc/sys/net/ipv4/conf/ippp0/log_martians &&
{
/sbin/isdnctrl hangup ippp0
/etc/rc.d/i4l stop
/etc/fw/firewall ppp0
# restore default route that was killed by i4l stop
GW=`/sbin/ifconfig ppp0 | grep "inet addr" | cut -f3 -d":" | cut -f1 -d"
"`
/sbin/route add default gw $GW
echo "`date` - DSL connection restored. Killing ISDN..." >>
/var/log/dsl-watchdog.log
}
# DSL not running && ISDN not running => dial ISDN
test -e /proc/sys/net/ipv4/conf/ppp0/log_martians || test -e
/proc/sys/net/ipv4/conf/ippp0/log_martians ||
{
/etc/rc.d/i4l start
/sbin/isdnctrl dial ippp0
sleep 5
/etc/fw/firewall ippp0
echo "`date` - No DSL connection! ISDN dial-up triggered." >>
/var/log/dsl-watchdog.log
}
sleep 5
$0 $$
--8<--
Aufruf z. B. via
/usr/bin/dsl-watchdog.sh >/dev/null 2>&1 &
Anschließend läuft das Watchdog im Hintergrund, startet
sich alle 5 Sekunden erneut und killt jeweils seinen "Vorgänger".
Eine wichtige Einschränkung dieser Version ist noch, dass
der huptimeout des ISDN-Interfaces nicht zum Tragen kommt,
da nach dem Auflegen sofort eine erneute Einwahl erfolgt, falls
DSL noch nicht wieder verfügbar ist.
Diesem Umstand wäre z. B. abzuhelfen, indem ISDN nur "startklar"
gemacht wird (also Dial-On-Demand, keine Einwahl durch das Watchdog)
und das Watchdog dann auf die Rückkehr des DSL-Zugangs wartet.
Ich hoffe auf Meinungen, Anregungen und v. a. auf
Verbesserungs- und Erweiterungsvorschläge..
Grüße
Leo.
ciao, Dirk
--
| Akkuschrauber Kaufberatung and AEG GSM stuff |
| Visit my homepage: http://www.nutrimatic.ping.de/ |
| FIDO: Dirk Salva 2:244/6305.10 Internet: dsalvaATgmx.de |
| The "Ruhrgebiet", best place to live in Germany! |
Reply to: