Gliederung
1 Einleitung
2 Voraussetzungen
3 Einwahlrechner für
eine Modemverbindung
3.1 Konfiguration
des Modems
3.2 Anlegen
eines Einwahlbenutzers
3.3
Einwahl nur zu bestimmten Zeiten ermöglichen
3.4 Weitere Systemeinstellungen
für die Modemeinwahl
4 Einwahlrechner für
eine ISDN-Verbindung
5 mehrere ISDN-Karten in einem
Rechner
6 Sonstige allgemeine
Systemeinstellungen
7 Sicherheitsaspekte
Das folgende Bild zeigt das Zugangsprinzip am Beispiel der Modemverbindung.
Als Pakete müssen mindestens installiert sein:
ppp
Für die Modem-Verbindung:
mgetty
Für die ISDN-Verbindung:
i4l
Dafür, daß das Modem bei Anruf abhebt, sorgt das Programm
mgetty. Dieses Programm überwacht die serielle Schnittstellen. Es
kann noch viel mehr, als "nur" eine ppp-Verbindung intiieren, aber das
ist ein anderes Thema. Um mgetty regelmäßig beim Systemstart
zu starten, muß die Datei /etc/inittab verändert werden. Öffnen
Sie diese Datei mit einem Editor und suchen Sie nach den Zeilen
# modem getty
# mo:23:respawn:/usr/sbin/mgetty -s 38400 modem
entfernen Sie das Kommentarzeichen und passen Sie ggf. die Geschwindigkeitsvorgabe
an. Wenn Sie ein schnelles Modem und eine entsprechende serielle Schnittstelle
(mit einem Baustein vom Typ 16550A) können Sie dort auch die maximale
Geschwindigkeit für aktuelle serielle Schnittstellen von 115200 einstellen.
mo:23:respawn:/usr/sbin/mgetty -s 115200 modem
Wenn diese Zeilen nicht zu finden sind, tragen Sie sie selbst dort so ein, wie oben beschrieben.
Wenn Sie vorgeben möchten, daß das Modem erst nach z.B. 6
Klingelzeichen abheben soll, tragen Sie noch den Parameter -n 6 ein.
mo:23:respawn:/usr/sbin/mgetty -s 115200 -n 6 modem
Das wäre eine Möglichkeit, das Modem und das normale Telefon
gemeinsam an einer Leitung zu betreiben. Sie müssen nur den Wert für
die Anzahl der Klingelzeichen so hoch setzen, daß ein normaler Anrufer
mit großer Wahrscheinlichkeit aufgelegt hat (z. B. 6 oder 8). Diese
Lösung hat aber den Nachteil, daß Sie zu Hause doch relativ
lange auf die Verbindung warten müssen. Deshalb wird unten eine andere
Lösung beschrieben.
Das war's bereits mit dem Modem. Nach einem Systemneustart müßte das Modem jetzt aktiv sein.
Ich bekomme häufiger Hinweise von Linux-Profis, daß natürlich hier kein vollständiger Systemneustart wie etwa unter Windows notwendig sei, sondern daß es ausreicht, den runlevel durch Eingabe von init 1 und danach von init 2 (bzw. init 3 bei grafischem Login) ausreicht. Ich denke, daß das den erfahreneren Benutzern klar ist, daß aber für die Neulinge der Neustart einfacher nachzuvollziehen ist.
#!/bin/sh
exec /usr/sbin/pppd
Bei neueren Versionen von pppd gibt es eine unterschiedliche Behandlung von Optionen, die über die Kommandozeile angegeben werden und von denen, die in der Datei /etc/ppp/options stehen. Deshalb habe ich jetzt alle Parameter nur noch in der Datei stehen. Im Grunde könnte somit auch direkt /usr/sbin/pppd als Einwahlshell angegeben werden.
Diese Skript soll von allgemeinen Nutzern nur ausgeführt werden, aber nicht geändert werden können. Deshalb stellen wir sicher, daß root der Eigentümer ist (chown root ppplogin) und setzen die entsprechenden Rechte (chmod 644 ppplogin).
Besonders wichtig sind in dieser Beispielskonfiguration die Rechte des Programms pppd. Wir ordnen das Programm der Gruppe einwahl zu: chgrp einwahl /usr/sbin/pppd. Da das Programm in wichtige Systemdetails (v.a. das routing des Kernels) eingreift, muß es mit root-Rechten (suid) laufen. Also: chmod 4750 /usr/sbin/pppd.
Wichtig: Wenn Sie diese Konfiguration so
durchführen wollen, dürfen Sie bei S.u.S.E. Distributionen YaST
nicht in der Standarkonfiguration laufen lassen, da dieses die Rechte standardgemäß
anders setzt, bzw. Sie müssen den entsprechenden Teil von SuSEConfig
abschalten! Oder Sie müssen hinterher die Installation entsprechend
überprüfen bzw. wiederherstellen. Falls hier die Rechte nicht
richtig gesetzt sind, erhalten Sie in der Datei /var/log/messages eine
entsprechende Meldung mit dem Inhalt "persission denied", wenn debugging
eingeschaltet ist (s.u.).
Die einfachste Lösung ist, die Standardvorgabe für die Rechte
der Datei /usr/sbin/pppd in der Datei /etc/permissions entsprechend
zu ändern. Suchen Sie in dieser Datei nach der Zeile
/usr/sbin/ppd
root.dialout 4754
und ändern Sie diese in
/usr/sbin/ppd
root.einwahl 4750
(Danke für den Hinweis an Joerg Menke)
Sie können jetzt überprüfen, ob die Installation soweit funktioniert, indem Sie sich an einer der Konsolen als Benutzer "einwahl" einloggen. Wenn alles stimmt, sehen Sie nach einem kurzen Moment eine Reihe merkwürdiger Zeichen auf dem Bildschirm, unter den Zeichen finden Sie eine Menge von geschweiften Klammern. Was Sie da sehen, sind die Ausgaben von pppd, der versucht, mit Ihnen über die Details der ppp-Verbindung zu verhandeln. In der Regel beendet sich pppd dann nach erfolglosen Versuchen (Sie sind ja in diesem Moment kein Modem) von selbst. Andernfalls beenden Sie die Verbindung oder fahren Sie das System herunter.
In den man-pages ist auch beschrieben, daß der mgetty einen AutoPPP-modus beherrscht. Das heißt, daß der Prozeß, der sozusagen an der Telefonleitung lauscht, dann bei Anruf den pppd startet. Das hätte den Vorteil, daß das spezielle Einwahlscript für den Benutzer nicht notwendig wäre, aber ich habe das bei meinen Versuchen nicht zum Laufen bekommen. (Wenn da jemand eine laufende Konfiguration hat, wäre ich für einen Hinweis dankbar ...).
Mit Hilfe des cron-Programms können wir dafür sorgen, daß
Werktags zu Bürobeginn diese Datei erstellt wird und zu Büroende
wieder gelöscht wird. Es gibt eine systemweite Datei für das
Programm cron (/etc/crontab) und für jeden Benutzer/jede Benutzerin
eine eigene. Bei meinem Einwahlserver habe ich in die systemweite Datei
zwei Zeilen wie folgt eingetragen:
0 18 * * 1-5 root rm /etc/nologin.ttyS0
0 7 * * 1-5 root cp /etc/dummy /etc/nologin.ttyS0
Die erste davon bewirkt, daß um 18 Uhr und 0 Minuten mit der
Benutzerkennung root der Befehl rm /etc/nologin.ttyS0 ausgeführt
wird, das heißt die Datei /etc/nologin.ttyS0 gelöscht wird.
Die zweite bewirkt, daß um 7 Uhr und 0 Minuten diese Datei erstellt
wird, indem eine Datei aus dem /etc-Verzeichnis entsprechend umkopiert
wird. Diese Datei kann leer sein oder einen beliebigen Inhalt haben (Sie
sollten wenigstens hineinschreiben, wofür sie gut ist, falls sich
später einmal Alsheimer ankündigt). Das heißt, Sie müssen
diese Datei erst einmal mit einem beliebigen Editor erstellen.
Achtung: Je nach Konfiguration von mgetty kann es auch sein, daß mgetty auf ihr Modem nicht über /dev/ttyS0 oder /dev/ttyS1 zugreift, sondern über den symbolischen Link /dev/modem. Wenn also obiges nicht funktionieren sollte, versuchen Sie es mit /etc/nologin.modem als Dateinamen.
Wichtig für das Modem-Einwahlsystem ist vor allem die Datei /etc/ppp/options.modem,
in der die Details für das Programm pppd festgelegt werden. Ganz wichtig:
Das PPP-System verlangt, daß eine Datei /etc/ppp/options im System
vorhanden ist. Da aber diese Beschreibung so ausgelegt ist, daß parallel
die Einwahl per Modem und per ISDN-Karte möglich sind und unterschiedliche
Optionen für ISDN-Karte und Modem erforderlichj sind, hat diese hier
keine Funktion. Sie muß aber vorhanden sein! Deshalb sollten
Sie eine Datei dieses Namens erstellen, die z.B. lediglich einen Kommentar
enthält!
Wenn Sie nur eine einwahl per modem einrichten wollen, können
Sie sich die Datei options.modem sparen und alles in die Datei options
schreiben.
Die Datei des Einwahlservers ist nachfolgend kommentiert wiedergegeben
(Kommentare beginnen mit einem #)
#
# Datei /etc/ppp/options.modem
# es sollen Meldungen über den Verbindungsaufbau in die Datei
# /var/log/messages geschrieben werden, die bei der Fehlersuche
helfen
# wenn das Ganze läuft besser wieder herausnehmen, da die
Datei sonst zu groß wird
debug
# benutze die modem control lines
modem
# benutze hardware flow control
crtscts
# alle Zeichen der Verbindung koennen genutzt werden
asyncmap 0
# Groesse der Uebertragungspakete fuer die Uebertragung
mtu 1500
# Groesse der Uebertragungspakete fuer Empfangen
mru 1500
# die beiden obigen Werte können bei schlechten Telefonleitungen
verkleinert werden
# und liefern dann einen etwas besseren Durchsatz
#
# Spiegle dem System vor, die IP-Adresse des anrufenden Modems
gehöre zum lokalen Netz
proxyarp
# Das angerufene System soll (passiv) auf Initiativen des anrufenden
Systems warten
passive
# die ip-Nummern werden fest vorgegeben für die Modems lokal:remote
# bei kleinen Systemen sicher einfacher als dynamische ip-Zuweisung
192.168.2.40:192.168.2.41
# Wenn Sie die Sicherheit erhöhen wollen,
dann sollten Sie Authentifizierung
# aktivieren. Das sicherste Verfahren (weil
beidseitig) ist CHAP
# Dann sollten Sie folgende Zeilen einfügen:
require-chap
refuse-pap
# Etwas unsicherer ist Authentifizierung
per PAP. Dann müssen Sie eine Zeile
# einfügen, die den Inhalt: require-pap
heißt.
# Bei CHAP muß dann eine Datei /etc/ppp/chap-secrets
# PAP eine Datei /etc/ppp/pap-secrets vorhanden
sein.
# Eine Beschreibung finden sie weiter unten.
Sie finden im Verzeichnis /etc noch ein Unterverzeichnis /mgetty+sendfax. Die dort bei der Systeminstallation eingerichteten Dateien dialin.config login.config mgetty.config voice.conf habe ich nicht weiter verändert.
Die einfachste Lösung ist meiner Meinung nach, die ISDN-Karte zu Beginn so einzurichten, als wolle mensch eine Verbindung vom Server zum Client (zu dem Rechner, der sich einwählt) herstellen. Wir tun also so, als wäre es gerade andersherum als wir eigentlich wollen. Bei S.u.S.E. geschieht das am einfachsten mit dem Installationsprogramm YaSt. Das ist im Handbuch so deutlich beschrieben, daß ich mir hier Details spare.
Um jetzt aus dem Rechner einen Einwahlserver zu machen, müssen
einige Dateien angepaßt werden.
Ich führe im folgenden nur die zu ändernden Details auf:
/etc/ppp/ip-up
Dieses Skript wird unter Linux immer aufgerufen, wenn eine ppp-Verbindung
zustand kommt und wenn sie abgebaut wird. Bei einem Client, also einem
Rechner, der sich woanders einwählt, wird vor allem im Abschnitt ip-up
des Skripts das routing so gesetzt, daß die IP-Pakete dann in das
fremde Netz weitergeleitet werden. Bei einem Server wäre das aber
völliger quatsch. Das Routing muß hier so bleiben, wie vor der
Einwahl.
Öffnen Sie die Datei /etc/ppp/ip-up und löschen Sie bis auf
die Semikolons alles zwischen den Zeilen ip-up) und ip-down).
Eigentlich kann die Datei ganz gelöscht werden, aber der Rest
schadet zumindestens nicht.
Der entsprechende Abschnitt der Datei sieht dann so aus:
...
case "$BASENAME" in
ip-up)
;;
ip-down)
...
Dann müssen noch die PPP-Optionen für das Gerät ISDN-Karte
geändert werden. Diese werden zum einen aus der systemweiten Datei
/etc/ppp/options gelesen und zum zweiten dann aus der zur jeweiligen Karte
gehörigen Konfigurationsdatei. Bei einer Karte ist das /etc/ppp/options.ippp0.
Um ggf. später weitere Karten hinzufügen zu können, ist
bei mir die Datei /etc/ppp/options bis auf eine Kommentarzeile ganz leer.
Soweit ich weiß, muß diese Datei allerdings vorhanden sein,
Löschen geht also nicht.
Die eigentliche Konfiguration erfolgt in
/etc/ppp/options.ippp0. die sieht so aus:
# /etc/ppp/options.ippp0
#Optionen für einen Einwahlserver
#
# basierend auf dem Originalskript von
# Klaus Franken, kfr@suse.de
#
# das "Gerät", hier die erste ISDN-Karte
/dev/ippp0
# ermöglicht, daß Einwahlrechner als Bestandteil des
# lokalen Netzes erscheint
# Diese Zeile muß eingefügt werden!
proxyarp
# wir geben die IP-Adressen fest vor:
192.168.2.40:192.168.2.41
# ein paar Systemeinstellungen
-vj
-vjccomp
-ac
-pc
-bsdcomp
# Größe der Pakete zum Empfangen
mru 1524
# Größe der Pakete zum Versenden
mtu 1500
Zum Austesten der Verbindungen sollte in der Datei /etc/ppp/ioptions
das Debugging aktiviert werden. Dazu sollte das Kommentarzeichen vor der
Zeile mit der anweisung debug entfernt werden. Das sorgt dafür, daß
in der Datei /var/log/messages die Verbindungsversuche protokolliert werden.
Wenn das Ganze funktioniert, sollte das Kommentarzeichen # wieder eingefügt
werden.
# Set 'debug' to create a lot of information in /var/log/messages
debug
Im Prinzip war es das. Da der Einwahlrechner im konkreten Fall an einer größeren ISDN-Anlage hängt, protokolliert die Karte alle Wählverbindungen im Netz und müllt damit die Logdatei /var/log/messages voll. Um das zu unterbinden, habe ich in der Datei /etc/isdn/isdnlog.isdnctrl0.options die Zeile mit der Angabe syslog= geändert:
# Angabe der gewuenschten Meldungen, die in's syslog eingetragen
# werden sollen
# ist in der Standardeinstellung: syslog=1015
# will aber nur Errors (1), Warnings (2), Notice (4)
syslog=7
Es ist sehr einfach, in einen Linuxrechner mehrere ISDN-Karten einzubauen und die gleichzeitige Einwahl über diese zu ermöglichen. Es müssen lediglich genügend Steckplätze sowie unbenutzte Interrupts und IO-Adressen im Rechner vorhanden sein. Bei mir läuft das zur Zeit problemlos mit zwei Karten, wäre aber noch auf die selbe Weise leicht erweiterbar.
Leider ist die Konfiguration von mehreren Karten zumindestens für die SuSE-Distribution nirgendwo beschrieben und SuSE leistet hier zu meinem Ärger 8-(( nur kostenpflichtigen Support - dabei ist das Ganze sehr einfach.
Sie benötigen ISDN-Karten, bei denen Interrupt und IO-Adresse einstellbar
sind. Bei mir sind das zwei Fritz-Card classic. Sie müssen für
die zu installierenden Karten dann Kombinationen für diese Werte finden,
die sich nicht überschneiden, die bei den Karten einstellbar sind
und die nicht von anderen Karten im Rechner bereits belegt werden.
Die möglichen Werte der Karten finden Sie im Handbuch der Karte,
die im Rechner belegten Werte, indem Sie an der Kommandozeile den Befehl
cat
/proc/interrupts und cat /proc/ioports eingeben.
Der Einfachheit halber habe ich die erste ISDN-Karte standardgemäß über YaST - wie oben beschrieben - konfiguriert und dann lediglich für die zweite Karte die entsprechenden Ergänzungen vorgenommen. Nachfolgend kommen also im wesentlichen die Ergänzungen und Veränderungen für die zweite Karte.
Sie müssen in der Datei /etc/rc.config die zweite ISDN-Karte als
Netzdevice eintragen.
# Es gibt im Rechner 3 Netzinterfaces, die Netzkarte (_0) und die
beiden ISDN-Karten (_1) (_2)
NETCONFIG="_0 _1 _2"
#
IPADDR_0="192.168.1.40"
IPADDR_1="192.168.1.41"
IPADDR_2="192.168.1.42"
# interne Namen der Netzwerkkarte(eth0) und der ISDN-Karten (ippp0,
ippp1)
NETDEV_0="eth0"
NETDEV_1="ippp0"
NETDEV_1="ippp1"
#
IFCONFIG_0="192.168.1.40 broadcast 192.168.1.255 netmask 255.255.255.0
up"
IFCONFIG_1="192.168.1.41 pointopoint 192.168.1.40 up"
IFCONFIG_2="192.168.1.42 pointopoint 192.168.1.40 up"
Bei SuSE befinden sich die wesentlichen Konfigurationsdateien in diesem
Zusammenhang seit der Version 6.0 in folgenden Verzeichnissen:
Verzeichnis | Konfigurationsdateien | Inhalt/Zweck |
/etc/ppp | options | Grundkonfiguration der ppp-devices |
options.ippp0, ippp1 usw. | spezifische Konfiguration der einzelnen devices | |
ip-up bzw. ip-down | Skript, das automatisch beim Verbindungsaufbau und -abbau gestartet wird | |
/etc/rc.config.d/ | i4l_xxxx.config | Konfigurationsdateien für die ISDN-Hardware |
/etc/isdn | isdnlog.xxx.options | Konfigurationsdateien für ISDN-Details |
Im folgenden also Hinweise zu den notwendigen Änderungen und Ergänzungen.
Meine Konfiguration sieht so aus:
I4L_MODUL_OPTIONS="type=5,5 protocol=1,1 irq=10,15 io=0x300,0x240 id=Fritz1%Fritz2"
Es ist zum einen nach meinem Eindruck ein Bruch in der Logik der anderen SuSE-HiSax-Konfigurationsdateien, wo ansonsten immer maximal vier devices vorkonfiguriert sind, zum anderen bin ich mir nicht sicher, ob es ggf. zu Problemen kommen kann, wenn in der obigen Zeile andere Werte für die erste Karte angegeben werden als in den "normalen" Konfigurationszeilen. Ich habe demnach nur die untere Zeile eingefügt und die anderen so gelassen wie sie waren.
Achten Sie bei den anderen Dateien in diesem Verzeichnis darauf, daß auch in der jeweiligen Zeile für das zweite device gültige Eintragungen stehen. Also z.B. in i4l_default.rc.config dann für den Wählmodus
#
I4L_DIALMODE_0="auto"
I4L_DIALMODE_1="auto"
usw. in den anderen Zeilen.
Anpassen müssen Sie auf jeden Fall die Eintragungen für die Telefonnummern der ISDN-Anschlüsse an denen die Karten hängen. Diese stehen in i4l_option.rc.config. Bei mir steht dort diesbezüglich:
#
I4L_LOCALMSN_0="18"
I4L_LOCALMSN_1="19"
Wichtig! Bei Telefonanlagen ist dies in der Regel nicht die vollständige von der Post zugewiesene MSN, sondern meist nur die Endziffer in der internen Anlage! Im Zweifelsfall bekommen Sie das heraus, wenn Sie den Anschluß, an der die Karte angeschlossen ist anrufen und die Einträge in die ISDN-Logdateien ansehen. Dort werden die Nummern aufgezeichnet.
Dies ist auch zu beachten, wenn Sie in der selben Datei definieren wollen,
welche Nummern anrufen dürfen.Sie müssen dann
den Eintrag in den Zeilen I4L_SECURE_n auf on setzen und dann wieder
die richtige Nummer eintragen.
I4L_SECURE_0="on"
I4L_SECURE_1="on"
In der Datei i4l_sp_option.rc.config müssen Sie noch eintragen, daß alle Karten jeweils an einen ippp-Daemon gebunden werden soll. Also:
I4L_PPPBIND_0="yes"
I4L_PPPBIND_1="yes"
# Das Device ist für die zweite Karte ippp1
/dev/ippp1
# IP Addressen: <local>:<remote>
# Hier werden die IP-Adressen statisch zugewiesen
192.168.2.40:192.168.2.42
Die IP-Nummer für den lokalen Rechner bleibt gleich, aber der anrufende Rechner bekommt eine andere als beim device ippp0.
Im folgenden kommt eine Beschreibung des Grundgerüstes der Datei /etc/ppp/ip-up, die Details müssen dann entsprechend der eigenen Rechnerkonfiguration angepaßt werden.
#!/bin/sh
# Grundgerüst eines Skriptes ip-up für einen
# Linuxrechner, der mit einer ISDN-Karte (ippp0)
# die Einwahl in das System erlaubt
# und gleichzeitig sich mit der anderen (ippp1) selbst
# in das Internet einwählt
#
# Das Skript wird vom System standardgemäß mit folgenden
Parametern aufgerufen:
# <INTERFACE> <DEVICE> <SPEED> <LOCALIP> <REMOTEIP>"
# Definition von Variablen, die im Skript verwendet werden:
# da ip-down ein Link auf ip-up ist, muß festgestellt werden
# ob ip-up oder ip-down aufgerufen wurde.
# Unter Linux wird der Name des aufgerufenen Programms
# bzw. Skriptes als erster Parameter übergeben.
# in BASENAME wird also gespeichert, ob es sich um ip-up
# oder um ip-down handelte.
BASENAME=`basename $0`
INTERFACE=$1
DEVICE=$2
SPEED=$3
LOCALIP=$4
REMOTEIP=$5
# Hier sind einige Zeilen herausgenommen,
die in einer
# vollständigen Datei aber enthalten
sein sollten
...
# jetzt wird in einer ersten case-Abfrage festgestellt, ob als
# Interface der Daemon für die erste ISDN-Karte (ippp0),
# für die zweite ISDN-Karte (ippp1) oder das Modem (ppp0)
# gewählt ist.
case "$INTERFACE" in
# erste ISDN-Karte (zur Einwahl von außen
ippp0)
# Zweite case-Abfrage, um festzustellen, ob
ip-up
# oder ip-down aufgerufen wurde.
case "$BASENAME" in
# wenn ip-up aufgerufen wurde, dann wird die
Verbindung hergestellt
# Bei einem Einwahlrechner bleibt das Routing
hier unverändert.
ip-up)
;;
# Am besten ebenfalls leer lassen
ip-down)
;;
*)
# Diese Stelle des Skriptes
sollte eigentlich niemals erreicht werden
;;
esac
# Ende der zweiten case-Abfrage
;;
# zweite ISDN-Karte mit der Verbindung zum Provider hergestellt
# wird. Unterschied zu oben: Das Routing muß hierbei konfiguriert
# werden.
ippp1)
# Zweite case-Abfrage, um festzustellen, ob
ip-up
# oder ip-down aufgerufen wurde.
case "$BASENAME" in
# Hier wird jetzt beim Verbindungsaufbau das
Routing gesetzt.
ip-up)
# Hier wird das Routing
gesetzt
...
;;
ip-down)
# Beim Verbindungsabbau
das Routing wieder auf die
# Ausgangswerte setzen
...
;;
*)
;;
esac
# Ende der zweiten case-Abfrage
;;
ppp*)
# Hier ggf. Kommandos für die Modemeinwahl
einfügen
;;
*)
# Auch diese Stelle dürfte eigentlich nie
erreicht werden.
;;
esac
# Ende der ersten case-Abfrage
Wenn Authentifizierung per CHAP verlangt wird, muß auf beiden Rechnern eine Datei /etc/ppp/chap-secrets vorhanden sein. Dort werden jeweils in einer Zeile server, client und ein Paßwort festgehalten, mit dem sich die Systeme gegenseitig bekanntmachen. Da CHAP zweiseitig ist, d.h. der Client meldet sich beim Server an und umgekehrt, hat die Datei auf beiden Rechnern das nachfolgend beschriebene Aussehen. Die Namen für Client und Server entsprechen üblicherweise den jeweiligen Hostnamen, müssen aber wohl nicht; im dargestellten Beispiel verwende ich ppp_client für den Rechner, der anruft und ppp_server für den Rechner, der angerufen wird. Interessant ist, daß wohl bei Einwahl per Modem auch die IP-Nummer angegeben werden muß. Ich erlaube im folgenden alle IP-Nummern und trage deshalb einen Stern am Ende jeder Zeile ein.
# /etc/ppp/chap-secrets
# server client secret
ppp_server ppp_client verratichnicht
*
ppp_client ppp_server verratichnicht
*
Das routing auf dem Einwahlserver ist sehr einfach, es gibt dort nur die lokale Netzkarte und das default-Gateway des Netzes (in unserem Fall wieder ein Gateway).
#
# /etc/route.conf
#
# wird gelesen von /sbin/init.d/route.
#
# loopback-device
127.0.0.0
0.0.0.0
255.255.255.0
lo
# Ethernetz-Karte, die mit dem lokalen Netz verbunden ist
192.168.2.0
0.0.0.0
255.255.255.0
eth0
# default-route zeigt auf das gateway im Netz
default
192.168.1.1
Das routing für das Modem und die ISDN-Karte wird automatisch geregelt, insbesondere der Eintrag proxyarp in /etc/ppp/options ist hier wichtig!
Ein Hinweis noch für Nutzer von Windows, die sich per DFÜ-Netzwerk
auf den Linux-Server einwählen. Dort sollte in den Netzwerkeinstellungen
unter ->Servertyp->TCPIP Einstellungen das "Standard-Gateway im Remote-Netzwerk
verwenden" aktiviert sein, andernfalls ist zwar ein ping, telnet und ftp
vom Linux zum Windows möglich, andersherum allerdings nicht (Danke
für den Hinweis an Jörg Niemeyer).