Linux NetMag
Titel: Dialin-Server (ISDN) unter SuSE Linux 8.0
URL: http://www.linuxnetmag.com/de/issue8/m8dialin1.html
Artikel vom: 30.04.03
Autor: Roger Mayer


Einleitung:

Die Dialin-Server Konfiguration unter SuSE 8.0 ist (noch) nirgends dokumentiert.
Diese Dokumentation richtet sich an Linux-Benutzer, die schon ein paar Erfahrungen in der Netzwerkkonfiguration haben, und die mit den Begriffen ISP, ppp, Schnittstelle und Authentifizierung etwas anfangen können.
Ich denke, es ist relativ schwierig, das Thema einem absoluten Neuling ohne gewisse Voraussetzungen verständlich zu machen.


1. Grundsätzliches
2. Dialin-Zugang parallel zum Internet-Zugang auf einer ISDN-Karte
2.1 Richte mit Yast2 eine weitere ISDN-Verbindung ein
2.2 Benutzerauthentifizierung
2.2.1 Benutzerauthentifizierung über PAP oder CHAP
2.2.2 Benutzerauthentifizierung über PAP und login
2.3 Dialin-Server als Router für das interne Netzwerk

1. Grundsätzliches

Unter SuSE 8.0 stehen die Dateien, die Du zur Konfiguration benötigst, in den Verzeichnissen

  /etc/sysconfig/isdn 
  /etc/ppp/
  

In /etc/sysconfig/isdn wird die ISDN-Hardware in den Dateien cfg-contrx konfiguriert. So steht die Hardwarekonfiguration der ersten ISDN-Karte in cfg-contr0, die der zweiten (soweit vorhanden) in cfg-contr1 usw.
Die Schnittstellen zu den Internet-Providern und für die Dialin-Zugänge werden in den Dateien cfg-netx konfiguriert.

In /etc/ppp stehen die Authentifizierungsdateien /etc/ppp/pap-secrets sowie /etc/ppp/chap-secrets und die Optionsdateien für den Verbindungsaufbau, die den Schnittstellen und den Providern zugeordnet sind. Klingt auf den ersten Blick etwas verwirrend, ist aber logisch aufgebaut. Zu jeder Verbindung (Internet oder Dialin) gehört eine Optionsdatei, deren Name wie folgt aufgebaut ist:

  options.Schnittstelle.Provider
  
z.B. für Deinen ersten ISP (Internet Service Provider) an der ersten Schnittstelle ippp0:
  options.ippp0.ISP1
  
wobei ISP1 hier nur einen Platzhalter für den Verbindungsnamen Deines ersten ISP darstellt.

Die folgende Übersicht soll helfen, die Zusammenhänge zwischen Anzahl der ISPs, Numerierung der Schnittstellendateien und Benennung der Optionsdateien zu verstehen:

Die senkrechte Spalte gibt Auskunft über die Anzahl der eingerichteten Internet-Verbindungen.

Übersichtstabelle
ISP1 ISP2 ISP3 ISP4 ISP5 dialin1 dialin2
0 - - - - - cfg-net0
options.ippp0.dialin1
cfg-net1
options.ippp1.dialin2
1 cfg-net0
options.ippp0.ISP1
- - - - cfg-net1
options.ippp1.dialin1
cfg-net2
options.ippp2.dialin2
2 cfg-net0
options.ippp0.ISP1
cfg-net1
options.ippp1.ISP2
- - - cfg-net2
options.ippp2.dialin1
cfg-net3
options.ippp3.dialin2
3 cfg-net0
options.ippp0.ISP1
cfg-net1
options.ippp1.ISP2
cfg-net2
options.ippp2.ISP3
- - cfg-net3
options.ippp3.dialin1
cfg-net4
options.ippp4.dialin2
4 cfg-net0
options.ippp0.ISP1
cfg-net1
options.ippp1.ISP2
cfg-net2
options.ippp2.ISP3
cfg-net3
options.ippp3.ISP4
- cfg-net4
options.ippp4.dialin1
cfg-net5
options.ippp5.dialin2
5 cfg-net0
options.ippp0.ISP1
cfg-net1
options.ippp1.ISP2
cfg-net2
options.ippp2.ISP3
cfg-net3
options.ippp3.ISP4
cfg-net4
options.ippp4.ISP5
cfg-net5
options.ippp5.dialin1
cfg-net6
options.ippp6.dialin2


Zu beachten ist hierbei, daß SuSE chronologisch vorgeht, d.h. die Schnittstellen werden den Verbindungen in der Reihenfolge Ihrer Einrichtung zugeordnet.

2. Dialin-Zugang parallel zum Internet-Zugang auf einer ISDN-Karte

Wenn Du bereits mit Yast2 Deine ISDN-Karte und eine Verbindung zu einem Internet-Provider eingerichtet hast, gestaltet sich die Einrichtung eines Dialin-Zugangs, der parallel auf derselben ISDN-Karte betrieben wird, als relativ einfach.

2.1 Richte mit Yast2 eine weitere ISDN-Verbindung ein

WICHTIG: Hier wird vorausgesetzt, daß Du nur eine Verbindung zu einem Internet-Provider eingerichtet hast.

/etc/sysconfig/isdn/cfg-net1
  CALLBACK="off"
  CHARGEHUP="on"
  COMPRESSION="no"
  DEFAULTROUTE="no"
  DIALMODE="auto"
  DYNAMICIP="no"
  FIREWALL="no"
  IDLETIME="300"
  IPADDR="192.168.245.253" # Deine lokale IP-Adresse
  MSN="xxxxx" # Deine MSN
  MULTILINK="no"
  PROTOCOL="syncppp"
  PROVIDER="dialin"
  PTPADDR="192.168.245.252" # Deine entfernte IP-Adresse
  STARTMODE="onboot"
  USEPEERDNS="no"
  


2.2 Benutzerauthentifizierung

Es gibt mehrere Möglichkeiten, Deinen Dialin-Zugang durch Benutzernamen und Passwörter zu schützen.
Ich möchte hier zwei Möglichkeiten vorstellen, deren Vor- und Nachteile gegeneinander abzuwägen sind.

2.2.1 Benutzerauthentifizierung über PAP oder CHAP

Über die Dateien /etc/ppp/pap-secrets und /etc/ppp/chap-secrets kannst Du Deinen Dialin-Zugängen Benutzernamen und Passwörter zuweisen. Diese Benutzer haben nichts mit den Linux-Benutzern zu tun. Sie sind von den Benutzern in Deinem System vollkommen unabhängig und besitzen keine Zugriffsrechte im Dateisystem. Diese Benutzer können lediglich auf alle von Dir zur Verfügung gestellten Dienste (z.B. WWW,FTP,Mail,X) zugreifen.
Vorteile dieser Art der Authentifizierung sind die sehr einfache Konfiguration sowie die Tatsache, daß der eingewählte Benutzer keine direkten Zugriffsrechte auf das Dateisystem erhält.
Der Nachteil dieser Methode ist der Aufbau der Dateien /etc/ppp/pap-secrets und /etc/ppp/chap-secrets.
In diesen Dateien werden nämlich einerseits die Benutzernamen und Passwörter für Deine Internetzugänge und andererseits die Benutzernamen und Passwörter für Deine Dialin-Zugänge gespeichert und gleichwertig behandelt.
Wäre also ein Fremder in der Lage, die Zugangsdaten eines Deiner Internetzugänge zu erraten, hätte er mit diesen Daten Zugriff auf Deinen Dialin-Zugang.
Der Einfachheit halber beschränke ich mich hier auf die Authentifizierung über PAP.

Beispiel für /etc/ppp/pap-secrets
  "AnschlusskennungTeilnehmernummerMitbenutzernummer" * "DeinPassWort" # Dein abc Internetzugang
  "Threenet" * "Threenet"                # Dein xyz Internetzugang
  "DialinBenutzer" * "DialinPasswort"    # Benutzername und Passwort für Deinen Dialin-Zugang
  


Wenn Du Dir Deine eigene /etc/ppp/pap-secrets ansiehst, wirst Du feststellen, daß Deine Passwörter hier unverschlüsselt, also im Klartext, stehen. Diese Datei darf also nur für root lesbar sein.

Hier kannst Du nun weitere Benutzer nach dem Schema

  "Benutzername" * "Passwort"
  
eintragen.

Zusätzlich muß Deine /etc/ppp/options.ippp1.dialin angepaßt werden:

/etc/ppp/options.ippp1.dialin
  /dev/ippp1
  ipcp-accept-local
  ipcp-accept-remote
  noipdefault
  netmask 255.255.255.255
  useifip
  mtu 1500
  mru 1524
  


Hänge hier folgende Zeilen an:

  auth
  +pap
  -chap
  
Speichere die Datei und starte mit
  >> rcnetwork restart
  
Deine Netzwerkschnittstellen neu.

Beachte, daß diese Datei nach jedem Aufruf von SuSEconfig in den Originalzustand zurückversetzt wird. Dadurch gehen Dir wichtige Einstellungen verloren.
Um das zu vermeiden, nimmst Du Dir selbst die Schreibrechte auf diese Datei:

  >> chmod 444 /etc/ppp/options.ippp1.dialin
  
Nun wird SuSEconfig nichts mehr verändern.
Um sich die Schreibrechte auf diese Datei wieder zu geben:
  >> chmod 644 /etc/ppp/options.ippp1.dialin
  
Nun ist Dein Dialin-Zugang bereit.
Alle in /etc/ppp/pap-secrets eingetragenen Benutzer können sich nun mit den entsprechenden Passwörtern einwählen.

2.2.2 Benutzerauthentifizierung über PAP und login

Der Vorteil der Authentifizierung über PAP und login besteht darin, daß Du eindeutig festlegen kannst, welche Benutzer auf welche Dialin-Zugänge zugreifen dürfen. Außerdem besteht hier nicht die Gefahr, daß ein Fremder durch Erraten der Zugangsdaten eines Deiner Internetzugänge Zugriff auf Deinen Dailin-Zugang erhält.
Der Nachteil dieser Methode ist die Tatsache, daß sich Dialin-Benutzer hier wirklich als Linux-Benutzer einloggen und somit auch Zugriffsrechte auf das Dateisystem erlangen. Du solltest also die hierfür von Dir vorgesehenen Benutzer mit möglichst wenig Rechten ausstatten.
Erstelle also mit Yast2 die entsprechenden Benutzer und Gruppen.

  Beispiel:
  Neu erstellte Gruppe: einwahl
  Gruppenmitglieder:
  Neuer Benutzer tim
  Neuer Benutzer antje
  Neuer Benutzer ingo
  
Du solltest genau wissen, was Du tust, denn diese Benutzer erhalten durch den Dialin-Zugang Zugriff von außen, wodurch sie bei schlecht konfigurierten Zugriffsrechten zu einem erheblichen Sicherheitsrisiko werden können.

Anschließend editierst Du Deine /etc/ppp/pap-secrets:

/etc/ppp/pap-secrets
  "AnschlusskennungTeilnehmernummerMitbenutzernummer" * "DeinPassWort" # Dein abc Internetzugang
  "Threenet" * "Threenet"                                              # Dein xyz Internetzugang
  


Füge folgende Zeilen hinzu:

  "tim" * ""
  "antje" * ""
  "ingo" * ""
  
Trage hier niemals root ein!
Speichere die Datei und bearbeite Deine /etc/ppp/options.ippp1.dialin:

/etc/ppp/options.ippp1.dialin
  /dev/ippp1
  ipcp-accept-local
  ipcp-accept-remote
  noipdefault
  netmask 255.255.255.255
  useifip
  mtu 1500
  mru 1524
  


Füge folgende Zeilen hinzu:

  user "tim"
  user "antje"
  user "ingo"
  auth
  login
  +pap
  -chap
  
Trage hier niemals root als user ein!
Speichere die Datei und starte mit
  >> rcnetwork restart
  
Deine Netzwerkschnittstellen neu.

Beachte, daß diese Datei nach jedem Aufruf von SuSEconfig in den Originalzustand zurückversetzt wird. Dadurch gehen Dir wichtige Einstellungen verloren.
Um das zu vermeiden, nimmst Du Dir selbst die Schreibrechte auf diese Datei:

  >> chmod 444 /etc/ppp/options.ippp1.dialin
  
Nun wird SuSEconfig nichts mehr verändern. Um sich die Schreibrechte für diese Datei wieder zu geben:
  >> chmod 644 /etc/ppp/options.ippp1.dialin
  
Dein Dialin-Zugang ist bereit.
Ab sofort können sich die Linux-Benutzer tim, antje und ingo über Deinen Dialin-Zugang einwählen. Sie werden von der Benutzerverwaltung des Linux-Systems authentifiziert.
Mit dem Befehl
  >> who
  
kannst Du Dir die eingeloggten Benutzer anzeigen lassen.

2.3 Dialin-Server als Router für das interne Netzwerk

Hiermit kannst Du ermöglichen, daß ein Benutzer, der sich über Deinen Dialin-Zugang eingewählt hat, auf andere Rechner in Deinem Netzwerk zugreifen kann, wenn diese Netzwerkdienste zur Verfügung stellen.

ACHTUNG! NUR FÜR EXPERTEN!
Sofern Ihm dies nicht ausdrücklich untersagt wird, routet Dein Linux-Rechner Pakete zwischen internen Netzwerkschnittstellen.
Der Autor übernimmt keine Verantwortung für eventuelle Folgeschäden (z.B. Übergriffe aus dem Internet auf Deinen Rechner oder Dein Netzwerk)
WENN DU NICHT GENAU WEISST, WAS DU TUST, SOLLTEST DU GENAU HIER AUFHÖREN!

In der Datei /etc/sysconfig/sysctl muß die Option IP_FORWARD auf yes gesetzt werden.
Danach ist ein Neustart zu empfehlen.

Anschließend bearbeitest Du Deine /etc/ppp/options.ippp1.dialin:
Füge einfach folgende Zeile hinzu:

  proxyarp
  
Speichere die Datei und entziehe Dir selbst die Schreibrechte (wg. SuSEconfig). Nach einem Neustart Deiner Netzwerkschnittstellen mit rcnetwork restart kannst Du über den Dialin-Zugang auch auf andere Rechner in Deinem Netzwerk zugreifen.