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 7.3 unter Verwendung von pppd (ohne diald).
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 T-Online.
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 das Dummy-Device ppp0 (Modem) weitergeleitet.
Daraufhin wird der PPP-Daemon aktiviert, welcher sich beim Provider
einwählt und eine vom Provider eine dynamische IP-Adresse erhät.
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 SuSE Linux 7.3 inklusive
erfolgreich konfigurierter Netzwerkanbindung vorliegt!
Das Masquerading (NAT = network address translation) und die Installation und
Konfiguration sind jetzt Bestandteil dieses Dokumentes und am Ende zu finden.
Des weiteren gehe ich davon aus, daß grundlegende Linux-Kenntnisse vorhanden
sind.
Programmversionen:
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.
Einstellungen im SuSE Linux 7.3
Nach der Installation des PPP-Paketes und der Beispiel-Datei für PPP
(ppp-nt und pppd)aus der SuSE-Distribution, gibt es im Verzeichnis
etc ein Unterverzeichnis ppp.
In dem Verzeichnis /etc/ppp sind die folgenden Dateien zu bearbeiten bzw.
zu erstellen:
| Datei | Beschreibung |
|---|---|
| pap-secrets |
In eine Zeile den Benutzernamen (Login-Namen), 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! |
| ppp.chat |
Die Datei ppp.chat ist neu anzulegen, kann aber auch ein Link auf eine
bestehende Datei darstellen. Sie dient später der eigentlichen Verbindungsaufnahme beim Provider, also T-Online. Vor der Benutzung ist der Eintrag [3 Plus-Zeichen] 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. Ferner ist eventuell der Initialisierungsstring an das verwendete Modem anzupassen.
|
| ip-up |
Die Datei ip-up kann um die u.a. Eintragungen ergänzt werden.
Damit ist es möglich zu protokollieren, wann eine Verbindung in das Internet eröffnet wurde. Desweiteren wird die Uhrzeit mit einem Zeitserver im Internet synchronisiert, damit der Server die aktuelle Uhrzeit erhält.
|
| ip-down | Die Datei ip-down ist ein symbolischer Link auf die Datei ip-up. |
| options |
Wenn nicht vorhanden sollte diese Datei erstellt werden. Es werden hiermit
Parameter an den PPP-daemon übergeben.
Weitere empfehlenswerte Einstellungen:
(Die genaue Bedeutung bitte ich der Man-Page zu entnehmen.)
|
Nun sind im Verzeichnis /etc/init.d das folgende Startscript für
den pppd_start und entsprechende symbolische Links zum Aufruf des selben
zum Startzeitpunkt des Systems in den Verzeichnissen rc*.d zu erstellen:
| Datei | Beschreibung |
|---|---|
| pppd_start |
Diese Datei sorgt dafür, daß der pppd-Daemon beim Hochfahren des
Systems automatisch gestartet wird. Das Dial-on-Demand ist dann einsatzbereit.
Die Rechte sind so gesetzt, daß nur der Benutzer root sie ausführen kann.
|
Als letztes ist im Verzeichnis /etc in der folgende Konfigurationsdatei
der aufgeführte Eintrag entsprechend zu setzen:
| Datei | Beschreibung |
|---|---|
| rc.config |
Der Eintrag sorgt dafür, daß die Datenpakete, die das Wählen
angestoßen haben, auf das neue Interface umgelenkt werden.
|
Darüber hinaus sollte der Nameserver (IP-Adresse: 194.25.2.129) von T-Online im Linux-System definiert werden. Das sollte am besten mit dem Tool yast geschehen.
Installation und Konfiguration der Firewall und des Masquerading
Die folgenden Pakete sollten installiert sein:
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.
|
Die folgende Liste zeigt, welche Rechte die Dateien haben sollten, damit ein
problemloser Betrieb gewährleistet werden kann:
/etc/ppp
drwxr-x--- 6 root root 1024 Aug 2 22:43 .
drwxr-xr-x 27 root root 4096 Aug 3 21:51 ..
lrwxrwxrwx 1 root root 11 Apr 21 22:44 default -> ppp.chat
-rwxr-x--- 1 root root 477 Jun 11 19:47 diallog
lrwxrwxrwx 1 root root 5 Apr 21 16:07 ip-down -> ip-up
-rwxr-x--- 1 root root 4812 Jun 11 19:16 ip-up
-rw-r----- 1 root root 6392 Apr 22 10:31 options
lrwxrwxrwx 1 root root 7 Apr 21 22:42 options.ppp0 -> options
-rw------- 1 root root 301 Aug 9 1999 pap-secrets
-rw-r----- 1 root root 141 Aug 9 1999 ppp.chat
-rwxr-x--- 1 root root 4812 Jun 11 19:16 zeitserver
/etc/init.d
drwxr-xr-x 11 root root 2048 Jun 9 20:45 .
drwxr-xr-x 5 root root 3072 Jun 25 22:42 ..
-rwxr----- 1 root root 542 Apr 21 21:25 pppd_start
/etc/rc.config.d (nur Firewall-Konfiguration)
drwxr-xr-x 3 root root 1024 Jul 2 21:36 .
drwxr-xr-x 27 root root 4096 Aug 3 21:51 ..
-rw-r----- 1 root root 17548 Jul 2 21:36 firewall2.rc.config
-rw-r----- 1 root root 17548 Jul 2 21:36 firewall2-custom.rc.config
Einstellungen beim Client im eigenen Netz (LAN)
Der Linux-Dial-Out-Server muß als Default-Gateway mit seiner IP-Adresse eingetragen sein.
Zeitserver für das interne Netz
Um den Router auch als Zeitserver (NTP-Server) für das interne Netzwerk zu nutzen, müssen nur die u.a. Zeilen in die Datei ip-up eingetragen werden (siehe oben). Außerdem muss der xntp-Daemon installiert sein (Standard-Konfiguration nach Installation ist ausreichend). Um den NTP-Daemon zu aktivieren muss der Parameter START_XNTPD="yes" in der /etc/rc.config gesetzt werden.
# Zeit sychronisieren
/etc/ppp/zeitserver &
Skript zeitserver
# Zeit sychronisieren
sleep 10
# Zeitserver stoppen
/etc/init.d/xntpd stop
# Uhrzeit setzen (es kann auch ntpdate verwendet werden)
/usr/sbin/netdate -v ptbtime2.ptb.de
/sbin/clock -w
# Zeitserver starten
/etc/init.d/xntpd start
Skript zeitserver.sh - Variante 2
# Uhrzeit setzen
/usr/sbin/ntpdate -bsvu ptbtime2.ptb.de
/sbin/hwclock --systohc
Dann wird der Einwahlrouter bei jeder Einwahl die eigene Rechner-Uhrzeit mit der
Atomuhr der
Physikalisch-Technischen Bundesanstalt
abgleichen. Es ist anzuraten einen Zeitserver in der näheren eigenen
Umgebung zu suchen, da dann auch die Uhrzeit schneller abgeglichen werden kann.
@echo off
net time [Name Einwahlrouter] /set /yes
Der String [Einwahlrouter] ist durch den Rechnernamen in der Form
\\einwahlroutername zu ersetzen. Diese Batch-Datei kann in der Autostart
bei jedem Rechnerstart aufgerufen werden und gleicht dann die Uhrzeit des Client
mit der des Einwahlrouters ab.
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-10-17
URL: http://www.marco-burmeister.de/helferlein/de_dial_on_demand_pppd.html
Impressum