Mehrere Provider mit ISDN unter Debian nutzen
Diese Anleitung beschreibt die Einrichtung mehrere Internet-Provider unter
Debian Potato (2.2) oder Debian Woody (3.0).
Auch wenn du nur einen Provider einrichten willst, hilft die diese Anleitung.
Mehrere Provider ?
Es gibt mehrere Gründe warum du mehrere Provider brauchen könntest:
- Fällt der eine aus, schaltest du einfach um
- Tagsüber ist ProviderA billiger, aber abends ProviderB
- Du kannst dich in deiner Firma einwählen, aber darüber nicht privat surfen
Als Modem-Besitzer hast du es unter Debian recht einfach:
Mit pppconfig richtest du mehrere Provider ein, und mit pon ProviderA wählst du einen bestimmten Provider aus und schon bist du drin. Mit pon ProviderB wählst du einen anderen Provider aus.
Aber mit ISDN sieht die Sache leider etwas anders aus und ist etwas schwieriger, aber auch zu bewältigen. Ich zeige hier mal einen Weg und erläutere die wichtigsten Option damit es klappt; es gibt noch viele weitere ISDN-Einstellungen um die Sache zu optimieren.
Einrichten mehrerer Provider
Ich gehe hier in dem Beispiel mal davon aus, das deine ISDN-Karte unter
Debian funktioniert. Desweiteren möchtest du ProviderA und ProviderB
einrichten und du möchtest NICHT kISDN [1] benutzen.
Noch ein Wort zu kISDN: Es ist zwar nett, aber auf Servern kannst du es nicht gebrauchen.
Also, auf dem harten Weg mit der Konsole geht es so:
Zuerst richtest du mehrere Provider ein, mit dem Skript isdnconfig:
Wichtig sind die Menüpunkte 1 und 2, diese rufst du auf und gibst für jeden Provider einen ippp. Also für ProviderA ippp0 und für ProviderB ippp1 in jedem der beiden Menüpunkte.
/etc/isdn/device.ipppx
Nun richtest du die Dateien /etc/isdn/device.ippp0 und /etc/isdn/device.ippp1ein.
Zuerst löscht die folgende Zeile aus den beiden Dateien:
echo "Warning! $0 not configured yet! Aborting..."; exit 1
|
So die nächsten beiden Zeilen sind:
| ippp0 |
LOCALIP=10.0.0.1 # XXX_
REMOTEIP=10.0.0.2 # XXX_
|
| ippp1 |
LOCALIP=10.0.0.3 # XXX_
REMOTEIP=10.0.0.4 # XXX_
|
Für ippp0 kannst du die Einträge stehen lassen, für ippp1 würde ich die IP-Adressen einfach erhöhen. Das gilt allerdings nur wenn du dynamische IP-Adressen von deinem Provider bekommst !
Es ist anscheinend gar nicht wichtig, das diese Adresse unterschiedlich sind; ihnen werden nach der Einwahl sowieso andere (nämlich die dynamischen zugeteilt), aber ich denke ich ist eine saubere Lösung.
Und weiter, ran an die nächsten beiden Zeilen:
| ippp0 |
LOCALMSN=913467 # Deine MSN ohne Vorwahl
REMOTEMSN=22131 # Nummer des ProviderA (ohne erste Zahl)
LEADINGZERO=0 # Die erste Zahl der Provider-Nummer, meist die Null |
| ippp1 |
LOCALMSN=912767 # Deine MSN ohne Vorwahl
REMOTEMSN=33123 # Nummer des ProviderB (ohne erste Zahl)
LEADINGZERO=0 # Die erste Zahl der Provider-Nummer, meist die Null |
Wenn du gerade schon diese Dateien editierst, dann kannst du evtl noch den Dialmode einstellen:
Die Optionen:
| off |
Kein Wählen möglich |
| manual |
Es wird nur gewählt wenn du isdnctrl dial ipppX. wobei X das Device ist (Beispiel: ippp0) |
| auto |
Sobald der Rechner eine Adresse nicht über das lokale Netzwerk erreichen kann, wählt er sich beim Provider ein. Achtung kann teuer werden ! Der Rechner wählt also selber. |
Eine weitere sehr gute, da Geld sparende Zeile:
isdnctrl huptimeout ${device} 60
|
Die letzte Zahl gibt an, nach wieviel Sekunden Inaktivität (wenn also keine
Daten mehr über das Interface gehen) die Verbindung getrennt werden soll.
Zusammen mit "DIALMODE auto" kannst du prima surfen: Du surfst,
liest eine interessante Seite, nach 60sec trennt der Rechner die Verbindung,
klickst du dann später wieder auf einen Link, geht der Rechner wieder online
und holt die Seite.
/etc/isdn/ipppd.ipppx
Nun richtest du die Dateien /etc/isdn/ipppd.ippp0 und /etc/isdn/ipppd.ippp1 ein.
Zuerst löscht die folgende Zeile aus den beiden Dateien:
# Warning! not configured yet!
|
So die nächsten beiden Zeilen sind:
| ippp0 |
name tux #Den Benutzername für ProviderA |
| ippp1 |
name nux #Den Benutzername für ProviderB |
Damit hast du nun den richtigen Benutzer-Namen für die Provider angegeben.
/etc/ppp/pap-secrets
Nun richtest du die Datei /etc/ppp/pap-secrets ein, dies ist dann aber auch die letzte ...
Sollte dein Provider zur Authentifizierung das CHAP-Verfahren einsetzen, mußt du die Datei /etc/ppp/chap-secrets editieren.
Die Syntax ist allerding gleich, die meisten Provider nehmen aber PAP.
tux * geheim
nux * sagichnix |
Damit legst du dein Paßwort fest, also "geheim" für Benutzer tux und "sagichnix" für Benutzer nux.
So nun noch schnell diese Einstellungen übernehmen:
| [root] # /etc/init/isdnutils restart |
Und das war es, ... fast
Routing Problem lösen
Ein kleines Problem hast nun aber noch:
Du kannst zwar jetzt beide Provider anwählen, aber die Default-Route steht immer auf ippp0. Das bedeutet das jede IP-Adresse die der Rechner nicht selber erreichen kann (lokales Netz) über dieses Device geht.
Soweit so gut, aber wenn du dich bei ProviderB einwählst benutzt du ippp1, aber deine Default-Route ist ippp0 !!
Das wird so leider nichts....
Aber das machen wir schon und zwar so:
Die richtige Datei für diesen Zweck ist /etc/ppp/ip-up.d/00-isdnutils, in diese trägst du folgendes ein:
ippp1)
route del default
route add default netmask 0 $PPP_IFACE
;;
|
Damit wird immer erste mal die Default-Route gelöscht und dann eine neue mit dem richtigen Device (hier ippp1) angelegt.
So das war es wirklich, probier es aus und surfe oft nach Tuxhausen ;-))
Im Text genannte Links