Dialin-Server über ISDN

August 5, 2008 by  
Kategorie Server

Dieses howto ist aus meiner Erfahrung mit dem Einrichten eines dialin-servers erstellt. Für Fehler oder Sicherheitslücken kann ich keine Haftung übernehmen. Jeder sollte in sysconfig-Dateien nur Änderungen machen, wenn er weiß was er macht. Grundsätzlich ist es sinnvoll die zu ändernden Originaldateien zu kopieren und an einem anderen Ort zu sichern. Das hilft, auch nach vielen Versuchen, seine Fehler zu berichtigen. Die Einrichtung erfolgt zum größten Teil über Yast, am Ende sind die betroffenen Dateien dargestellt. Es gibt weitere gute howtos, mit deren Hilfe ich meine Verbindung eingerichtet habe. Diese beziehen sich auf Suse 8.*. Es lohnt sich, die mal anzusehen, weil ich hier nicht alles so detailliert beschreibe. Details wie Passwörter, Rufnummern usw. sind allgemein gehalten und müssen geändert werden.

Als Ausgangssituation gehe ich von folgendem aus:
- Suse 9.0
- Netzwerkkarte und internes Netzwerk mit statischen IP-Adressen vorhanden.
- Internet-Einwahl funktioniert schon, ISDN-Karte und 1 Provider sind schon eingerichtet.
- Ein web-server (für das interne Netzwerk) läuft und ist im LAN über http://192.168.0.1 zu erreichen.
- Ziel: Es soll der interne web-server von außen über eine Telefonleitung erreicht werden.

Hier als Beispiel verwendete IP-Adressen, Schnittstellen und Provider:
eth0 192.168.0.1 #das ist die Netzwerkkarte
ippp0 #das ist der Internetzugang, dynamische IP
ippp1 192.168.0.1 #das ist die neue Schnittstelle für den dial-in
provider0 #das ist der schon vorhandene Provider für den Internetzugang
provider1 #das ist der neue Provider für dialin

Konfiguration mit Yast:
Neue Schnittstelle und Provider anlegen.
Im Yast unter Netzwerkgeräte/ISDN stehen die bereits konfigurierten Geräte. Auf Ändern… klicken, da wir zu der ISDN-Karte nur eine Schnittstelle hinzufügen wollen.
Im unteren Feld (Provider) auf Hinzufügen klicken. Dann kommt die ISDN-Service-Auswahl.
Auf Neue SyncPPP-Schnittstelle hinzufügen klicken.

Im nächsten Fenster werden die Verbindungseinstellungen abgefragt.

Eigene Telefonnummer: 12345 #diese Telefonnummer ist die Einwahl für den dialin-server. Ohne Länderkennung und Vorwahl eingeben, die sollten bereits bei der ISDN-Karte konfiguriert sein.
Startmodus: OnBoot
ChargeHUP: nein
Kanalbündelung: nein
Firewall Neustart…: nein
Firewall QuickMode: nein

Dann auf Details klicken.

Telefonnummernliste entfernter Rechner: #Hier kann die Nummer des Anschlusses angegeben werden, der später den dialin-server anruft. Die genaue Syntax der Rufnummer weiß ich nicht, am besten ausprobieren (ob mit oder ohne Vorwahl usw.) Das hab ich noch nicht probiert, erst mal leer lassen.

Nur Nummern aus Liste erlaubt: nein #das ergibt die Variable SECURE=off, siehe unten. Es bedeutet, dass sich alle Rufnummern einwählen dürfen. Wenn bei der Telefonnummerliste ein Eintrag gemacht wird, kann hier ein Häkchen gesetzt werden. Rückruf-Funktionen: Rückruf auswählen

zusätzliche ipppd-Optionen: proxyarp auth +pap -chap #Hier gibt man zusätzliche Optionen zu ppp an. Eingabe der Optionen, mit Leerzeichen getrennt, siehe auch die manpage zu pppd. Die findet man im Konquerror wenn man in die Adresszeile man:pppd eingibt.

proxyarp: erlaubt den Zugriff auf das interne Netzwerk
auth: gibt an, dass der client sich authentifizieren muß
+pap: gibt an, dass der Benutzer und das Passwort in etc/ppp/pap-secrets steht.
-chap: gibt an dass die etc/ppp/chap-secrets nicht benutzt wird

Nach den Eingaben OK klicken, dann weiter klicken.

Einstellungen für die IP-Adresse: Dynamische IP-Adresse: nein #im Gegensatz zum Internetprovider legen wir die Adressen hier selber fest
Lokale IP-Adresse Ihres Rechners: 192.168.0.1 #die IP des dialin-servers. In dem Fall die Adresse, die auch bei der Netzwerkkarte verwendet wird.
Entfernte IP-Adresse: 192.168.0.10 #die Adresse, die der client zugeteilt bekommt.
Standardroute: nein #das ist in der Regel schon der Internetzugang

Nach den Eingaben auf weiter klicken.

Jetzt ist der neue Provider dran.
In dem Fenster Internet Service Provider wählen die Option Eigene Provider auswählen und Neu klicken.

Parameter für Internetverbindung festlegen:
Name für die Einwahl: provider1 #wird automatisch festgelegt, kann auch provider0 sein
Name des Providers: dialin #irgendeinen sinnvollen Namen angeben
Telefonnummer: 0 #0 eingeben, der Provider soll nicht rauswählen
Paket-Encapsulation: SynconousPPP
Benutzername: Benutzer123 #hier den Benutzernamen eingeben. Dieser wird dann z.B. bei der DFÜ-Verbindung angegeben. Groß- und Kleinschreibung werden beachtet!
Passwort: passwort1 #hier ein sicheres Passwort eingeben
Passwortabfrage: nein #brauchen wir nicht

Nach den Eingaben auf weiter klicken.

Verbindungsparameter:
Dial-On-Demand: nein #der Provider soll nicht wählen, schon gar nicht automatisch
Während Verbindung DNS ändern: nein #wir haben ja IP-Adressen festgelegt
Verbindung abbrechen nach (Sekunden): 300 #Standardwert, einfach übernehmen

Nach den Eingaben auf weiter klicken.

Jetzt ist alles angelegt. Fenster im Yast mit Beenden schließen, damit die neue Schnittstelle eingerichtet wird. Normalerweise sollten die Dateien jetzt wie unten dargestellt aussehen und die Einwahl funktionieren. Nach meiner Erfahrung ist es sinnvoll, in der Konsole noch mal als root rcnetwork restart einzugeben. Damit werden alle Netzwerkschnittstellen neu gestartet. Wenn man danach

ifconfig -a

eingibt, sollte die neue Schnittstelle ippp1 angezeigt werden. Für Probleme mit der firewall geht es unten weiter.

Von Yast erstellte Datei für die Schnittstelle ippp1:
etc/sysconfig/isdn/cfg-net1

CALLBACK=”off”
CBDELAY=”2″
CHARGEHUP=”off”
DEFAULTROUTE=”no”
DYNAMICIP=”no”
FIREWALL=”no”
IPADDR=”192.168.0.1″ #IP-adresse des dialin-servers
IPPPD_OPTIONS=”proxyarp auth +pap -chap”
MSN=”12345″ #hier ist die Telefonnummer angegeben, auf die der dialin-server hören soll
MULTILINK=”no”
PROTOCOL=”syncppp”
PROVIDER=”provider1″ #der provider für diese Verbindung
PTPADDR=”192.168.0.10″ #IP-adresse, die der client zugewiesen bekommt
REMOTE_IN=”" #Rufnummern, die sich einwählen dürfen
SECURE=”off” #off = alle Rufnummern können sich einwählen, on = nur die angegebenen Rufnummern können sich einwählen
STARTMODE=”onboot”

Von Yast erstellte Datei für den Provider:
etc/sysconfig/network/providers/provider1

ASKPASSWORD=’no’
DEMAND=’no’
DSLSUPPORTED=’no’
ENCAP=’syncppp’
IDLETIME=’300′
ISDNSUPPORTED=’yes’
MODEMSUPPORTED=’no’
MODIFYDNS=’no’
PASSWORD=’passwort1′ #das Passwort sollte natürlich sicherer sein…
PHONE=’0′ #der Provider wählt so nicht raus (braucht er auch nicht)
PROVIDER=’dialin’ #Name des Providers
USERNAME=’Benutzer123′ #Benutzername, unter dem man sich anmeldet

Von Yast erstellte Datei für die dial-in Verbindung, ergibt sich aus cfg-net1 und provider1: etc/sysconfig/network/ifcfg-ippp1

STARTMODE=”onboot”
IPADDR=”192.168.0.1″
PTPADDR=”192.168.0.10″
DEFAULTROUTE=”no”
FIREWALL=”no”
MSN=”12345″
DIALMODE=”manual”
DIALPREFIX=”"
DIALMAX=”"
REMOTE_OUT=”"
REMOTE_IN=”"
PROVIDER=”provider1″
SECURE=”off”
CHARGEHUP=”off”
CALLBACK=”off”
CBDELAY=”2″
CBHUP=”"
IHUP=”"
VERBOSE_LEVEL=”"
SLAVES=”"
MULTILINK=”no”
SLAVEMSN=”"
SLAVE_IN=”"
SLAVE_OUT=”"
LAYER2=”hdlc”
LAYER3=”trans”
ENCAP=”syncppp”
IP_RESEND=”"
IP_RESEND_PARAMETER=”"
SMPPPD_IGNORE=”"
DYNAMICIP=”no”
IPPPD_OPTIONS=”proxyarp auth +pap -chap”
ASKPASSWORD=”no”
MTU=”"
MRU=”"
RUN_POLL_TCPIP=”"

Datei für Benutzer und Passwort der Provider:
etc/ppp/pap-secrets

#SuSEconfig.isdn entry #Automatischer Eintrag, hier stehen alle Benutzer und Passwörter
“Benutzer123″ * “passwort1″ #der Provider, die Datei sollte nur root-Rechte haben

Hier stehen auch die Benutzer und Passwörter von gelöschten Providern. Diese können eigendlich gelöscht werden. Gut überlegen, was man macht! Datei als root mit kwrite o.ä. öffnen und bearbeiten.

Probleme mit der firewall (SuSEfirewall2)
Nach der Einrichtung der Verbindung konnte ich mich über eine DFÜ-Verbindung zwar einwählen, aber dann war Schluß. Die firewall blockte alles ab. Ich habe die Einträge der firewall wie unten geändert. Allerdings sollte jeder wissen, was er macht, denn welche Auswirkungen dies auf die Sicherheit des Netzwerks hat, kann ich nicht genau sagen. Für Sicherheitsprobleme kann ich keine Haftung übernehmen. Aus Neugier hatte ich nach der Einrichtung einen online Portscan gemacht. Der Internetzugang erfolgte über ippp0. Dieser Scan ergab keine Sicherheitslücken. Tipp: Für Portscans einfach mal googeln.

Datei für die firewall:
etc/sysconfig/SuSEfirewall2

unter Punkt 3:
FW_DEV_INT=”eth0 ippp1″ #definiert die internen Schnittstellen. Hier wurde nur die Schnittstelle ippp1 zu der schon vorhandenen eth0 ergänzt. Die firewall verhindert sonst die eingehende Verbindung. Dazu muß aber auch nachfolgendes definiert sein:

unter Punkt 7:
FW_PROTECT_FROM_INTERNAL=”no” #firewall schütz nicht vor internem Netzwerk, in diesem Fall #sind eth0 und ippp1 vollkommen offen!

Diese Änderungen habe ich direkt in der Datei gemacht. Es kann sein, dass Yast dies wieder überschreibt, wenn man die Firewall später noch mal mit Yast überarbeitet. Nach den Änderungen die firewall stoppen und neu starten, damit die neuen Einstellungen wirksam werden. Es gibt bestimmt auch andere Möglichkeiten, die Dienste nicht pauschal freizugeben, dazu aber bitte selber die manpages lesen.

Um Dateien zu ändern habe ich den Konquerror im Systemverwaltungsmodus als root geöffnet. Die Dateien sind alle Textdateien, die man über Rechtsklick: Öffnen mit…. kwrite bearbeiten kann. Man solle äußerst vorsichtig sein, als root Systemdateien zu ändern! Erst mal als Benutzer anschauen, da kann man nichts kaputt machen.

Jetzt noch eine normale DFÜ-Verbindung am client einrichten (zB. im windows):
Telefonnummer wie oben definiert
Protokoll: TCP
Servertyp: PPP: internet, …
Einstellungen TCP: automatische Vergabe der IP-adressen, Standardgateway des Remote-Netzwerks benutzen

Dann erreicht man seinen internen web-server, wenn man im Browser die Adresse http://192.168.0.1 eingibt.
Have a lot of fun!

Hilfreiche Befehle in der Konsole (alle als root):

su #anmelden als root
ifconfig -a #zeigt die konfigurierten und gestarteten Netzwerkschnittstellen
rcnetwork restart #Dadurch werden alle Schnittstellen neu gestartet.
SuSEfirewall2 stop #stoppt die firewall
SuSEfirewall2 start #startet die firewall
SuSEfirewall2 test #startet die firewall im Testmodus (Infos in var/log/messages)

Weitere howtos, die es sich lohnt zu lesen:
http://www.linuxnetmag.com/de/issue8/m8dialin1.html”
http://www.linuxnetmag.com/de/issue5/m5disisdn1.html”

Mit den o.g. howtos hab ich es geschafft, die dialin-Verbindung einzurichten. Danke an die Autoren.


Verfasser des Artikels: Guido Textor

Kommentare

test