Marco Burmeister
private Homepage
Ein Linux System kann auch als Router für Internet-Zugänge aus dem eigenen Netz dienen. Wenn dies mittels Einwahlverbindung geschieht, die bei jedem Zugriff ggfs. neu aufgebaut wird, so spricht man von Dial-on-Demand. Dieses Dokument beschreibt eine mögliche Konfiguration eines solchen Routers unter SuSE Linux 5.1.
Die Seite ist in die folgenden Bereich eingeteilt:
Hinweis:
Die Nutzung der hier geschilderten Anleitung geschieht auf eigene Gefahr!
Der folgende Text erläutert die Installation eines Dial-on-Demand bzw. Dial-out - Servers auf Basis eines Modems. Als Provider für die Einwahl dient in diesem Beispiel die Hochschule.
Jede Anfrage von Rechnern aus dem Netz, die nicht in das eigene Netz gehören, wird durch diesen Dial-out-Server nach der Einwahl beim Provider in das Internet geleitet.
Die folgende schematische Darstellung verdeutlicht das Prinzip.
Technischer Ablauf (stark verkürzte Darstellung)
Eine Anfrage, die den Linux-Dial-Out-Server (Linux-Router) erreicht (vom LAN oder
local vom Server), die eine IP-Adresse anfordert, die nicht zum eigenen LAN
gehört, wird an den Daemon kerneld weitergeleitet. Dieser ruft
die die Datei /sbin/request-route y.y.y.y (y = im Netz unbekannte
IP-Adresse) mit der im LAN unbekannten IP-Adresse als Parameter auf. Diese
startet den PPP-Daemon und erhält dynamisch vom Provider eine IP-Adresse
zugewiesen, um auf das Internet zugreifen zu können. Nach dem erfolgreichen
Verbindungsaufbau wird die Anfrage an das Internet weitergeleitet.
Der Einsatz vom Masquerading ermöglicht es zum Beispiel einem Unternehmen,
daß alle Benutzer nach außen mit einer IP-Adresse im Internet Surfen.
Der außenstehende kann also nicht wissen, wieviele oder welcher Rechner aus
dem Netzwerk die Daten aus dem Internet abfragen. Intern wird durch das
Masquerading jedem Rechner das Daten-Paket zugeschickt, daß er auch
angefordert hatte.
Ich gehe davon aus, daß ein lauffähiges Linux inklusive erfolgreich konfigurierter Netzwerkanbindung vorliegt!
Die Konfiguration eines Masquerading oder Firewall bitte ich anderer Literatur zu entnehmen. Das Masquerading sollte bei der hier beschriebenen Konfiguration eingesetzt werden. Eine Installationsanleitung findet sich im SuSE-Handbuch.
Des weiteren gehe ich davon aus, daß grundlegende Linux-Kenntnisse vorhanden sind.
Folgendes muß installiert sein:
Die folgenden Einstellungen im Kernel sollten aktiviert und anschließend das Kernel neu übersetzt werden. Bei den Netzwerkkarten ist entsprechend der eingebauten Netzwerkkarte die richtige Einstellung zu treffen.
* Code maturity level options
*
Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL)
[Y/n/?]
* Loadable module support
*
Enable loadable module support (CONFIG_MODULES) [Y/n/?]
Set version information on all symbols for modules (CONFIG_MODVERSIONS)
[N/y/?]
Kernel daemon support (e.g. autoload of modules) (CONFIG_KERNELD) [Y/n/?]
*
Networking support (CONFIG_NET) [Y/n/?]
*
* Networking options
*
Network firewalls (CONFIG_FIREWALL) [Y/n/?]
TCP/IP networking (CONFIG_INET) [Y/n/?]
IP: forwarding/gatewaying (CONFIG_IP_FORWARD) [Y/n/?]
IP: firewalling (CONFIG_IP_FIREWALL) [Y/n/?]
IP: masquerading (EXPERIMENTAL) (CONFIG_IP_MASQUERADE) [Y/n/?]
*
* Protocol-specific masquerading support will be built as modules.
*
IP: always defragment (CONFIG_IP_ALWAYS_DEFRAG) [Y/n/?]
IP: optimize as router not host (CONFIG_IP_ROUTER) [Y/n/?]
*
* Network device support
*
Network device support (CONFIG_NETDEVICES) [Y/n/?]
*
PPP (point-to-point) support (CONFIG_PPP) [M/n/y/?]
*
* CCP compressors for PPP are only built as modules.
*
Ethernet (10 or 100Mbit) (CONFIG_NET_ETHERNET) [Y/n/?]
NE2000/NE1000 support (CONFIG_NE2000) [Y/m/n/?]
Einstellungen im SuSE Linux 5.1
Nach der Installation des PPP-Paketes und der Beispiel-Datei für PPP aus
der SuSE-Distribution, gibt es im Verzeichnis etc
ein Unterverzeichnis ppp.
In diesem sind die folgenden Dateien zu bearbeiten bzw. zu erstellen:
| Datei | Beschreibung |
|---|---|
| pap-secrets |
In eine Zeile den Benutzernamen (Login-Namen an der Hochschule), dann ein '*' und zum Schluß das Paßwort, durch ein [TAB] getrennt, eingeben. Da diese Datei Paßworte enthält, sollte nur der Benutzer root Zugriff auf sie haben! |
| default |
Die Datei default ist neu anzulegen, kann aber auch ein Link auf eine bestehende Datei darstellen. Sie dient später der eigentlichen Verbindungsaufnahme beim Provider, also der Hochschule. Vor der Benutzung müssen in der Datei nach dem Aufruf OK ATDT*********** die Sternchen durch die Telefonnummer zum Provider ersetzt werden. Der Eintrag [3 Plus-Zeichen] ist durch drei echte Plus-Zeichen zu ersetzen. Die umständliche Schreibweise rührt daher, daß mein FTP-Programm beim Vorhandensein dieser Zeichen, diese HTML-Seite nicht uploaden wollte und die Verbindung zum Provider beendete.
|
| ppp-down |
Wenn nicht vorhanden sollte diese Datei auch erstellt werden, da hiermit eine bestehende PPP-Verbindung unterbrochen werden kann. Darum sollte auch nur der Benutzer root diese ausführen können.
|
| options |
Wenn nicht vorhanden sollte diese Datei erstellt werden. Es werden hiermit Parameter an den PPP-daemon übergeben. Der Parameter idle steht für die Zeit, die die Verbindung zum Provider aufrechterhalten wird, auch wenn keine Daten über die Leitung gehen. Steht der Parameter z.B. auf 500, so wird die Leitung zum Provider beendet, wenn 500 Sekunden lang keine Daten über die Leitung gehen. Weitere Parameter sind in der Man-Page zu PPP zu finden.
Weitere empfehlenswerte Einstellungen: noipdefault noauth crtscts lock modem asyncmap 0 nodetach noproxyarp noipx novj novjccomp(Die genaue Bedeutung bitte ich der Man-Page zu entnehmen.) |
| Datei | Beschreibung |
|---|---|
| request-route |
Als erstes sollte im Eintrag USER="************" durch an die Stelle der Login-Name eingetragen werden, der auch in der pap-secrets-Datei hinterlegt wurde. Er dient bei der Anmeldung beim Provider als Index dafür, welches Paßwort aus der Datei pap-secrets zur Authentifizierung gesendet werden soll. Der Aufruf des PPP-Daemon (pppd) bewirkt folgendes: Es sorgt für die richtige Device-, Modem-Geschwindigkeits- und Routing-Einstellungen beim Verbindungsaufbau. Der idle.disconnect-Parameter legt fest nach wie vielen Sekunden in denen keine Kommunikation zum Provider getätigt wurde, die Verbindung automatisch getrennt werden soll (hier: 180 Sekunden = 3 Minuten). Die Datei sollte auch nur von dem Benutzer root ausführbar und lesbar sein!
|
Darüber hinaus sollte der Nameserver (IP-Adresse: 192.109.135.70) der Hochschule im Linux-System definiert werden. Das sollte am besten mit dem Tool yast geschehen.
Protokollieren der Verbindungsaufnahme zum Provider
Im Verzeichnis /etc/ppp sind in der Datei ip-up (ip-down) in Abhängigkeit vom verwendeten Device im Bereich ppp* oder ippp* die folgenden Einträge zu ergänzen:
/etc/ppp/diallog WAHL/etc/ppp/diallog AUFL| Datei | Beschreibung |
|---|---|
| diallog |
Das u.a. Skript schreibt in die Datei /var/log/diallogging.log die
Informationen, wann der Dial-On-Demand - Mechanismus einen Verbindungsaufbau zum
Provider durchgeführt hat.
Dafür muß dem Skript für den Benutzer und die Gruppe root bzw. dialout
die Ausführungsberechtigung gegeben werden. Protokolliert wird nur der Zeitpunkt (Uhrzeit und Datum) an dem eine Verbindung zum Provider etabliert wurde und wann diese wieder getrennt wurde.
|
Erläuterungen zu den Dateirechten finden sich auf meiner diald-Konfigurationsseite und können analog eingesetzt werden.
Einstellungen beim Client im eigenen Netz (LAN)
Der Linux-Dial-Out-Server muß als Default-Gateway mit seiner IP-Adresse eingetragen sein.
Links zum Thema Dial-on-Demand
Hinweis:
Für die Richtigkeit der Daten übernehme ich keine Gewähr!
Für den Inhalt von Internet-Seiten, auf die von dieser Seite verwiesen wird, übernehme ich keine Verantwortung!
Marco Burmeister, Copyright © 2007 - 2010
zuletzt geändert: 2007-09-01
URL: http://www.marco-burmeister.de/helferlein/de_dial_on_demand.html
Impressum