shuttlehome ein Dienst des DFN
  News     Leistungen     Support     Kontakt     Sitemap     Suche  
  Faq     Anleitungen     Tutorial     Security     Schulen    

Zugang zum WiNShuttle über ISDN mit FreeBSD


Diese Anleitung beschreibt die Konfiguration für ein System bestehend aus FreeBSD 4.1-RELEASE (enthält isdn for FreeBSD [i4b] Version 00.90.1) ISDN Karte: AVM Fritz!Card PCI


Andere Versionen von FreeBSD/i4b sind ebenfalls möglich, unterscheiden sich aber in der Konfiguration. FreeBSD unterstützt zudem auch ISDN Karten anderer Hersteller, sowohl PCI als auch ISA Karten. Im Folgenden wird versucht, auf Abweichungen hinzuweisen. Die Details müssen dann der jeweiligen Dokumentation entnommen werden, wobei Sie als erstes im Handbuch den Abschnitt über ISDN lesen sollten, bzw.


Überblick der Schritte:

  1. Einen neuen Kernel mit ISDN Unterstützung übersetzen
  2. Konfiguration des ISDN Daemon, isdnd
  3. Konfiguration der synchronen PPP Schicht
  4. Konfiguration der Default-Route
  5. Reboot

1. Einen neuen Kernel mit ISDN Unterstützung übersetzen

Der GENERIC Kernel von FreeBSD enthält keine Unterstützung für ISDN.
Daher muß zunächst ein neuer Kernel übersetzt werden, der die ISDN Hardware erkennt und initialisiert. Wenn Sie noch nie einen Kernel übersetzt haben, empfehle ich die Lektüre des Kapitels "Configuring the FreeBSD Kernel" im Handbuch, das Sie auf Ihrem System in <file:/usr/share/doc/handbook/kernelconfig.html> finden.

Die zusätzlichen Einträge für die Kernelkonfigurationsdatei lauten für FreeBSD 4.1-RELEASE/i4b 00.90.1 und eine PCI Fritz!Card:

    option AVM_A1_PCI      # Hängt von Hersteller/Typ der ISDN Karte ab
    device isic0           # Hängt von FreeBSD/i4b Version ab, ändert
                           # sich spätestens ab FreeBSD 5.x/i4b 00.90.6
    pseudo-device sppp     # Hängt von FreeBSD/i4b Version ab, ändert
                           # sich spätestens ab FreeBSD 5.x/i4b 00.90.6
                           # vermutlich zu 'pseudo-device isppp'
    # Unabhängig von Kartentyp und i4b Version:
    pseudo-device "i4bq921"
    pseudo-device "i4bq931"
    pseudo-device "i4b"
    pseudo-device "i4btrc" 4
    pseudo-device "i4bctl"
    pseudo-device "i4brbch" 4
    pseudo-device "i4btel" 4
    pseudo-device "i4bipr" 4
    pseudo-device "i4bisppp" 4
    # Optional:
    options IPR_VJ         # Van Jacobsen Header Compression
    options IPR_LOG=2      # Die ersten N Pakete einer Verbindung loggen

Erkennt der Kernel die ISDN Hardware, sieht das beim Booten etwa so aus. Mit dem Kommando dmesg kann man diese Meldungen auch nach dem Booten sehen.


    i4b: ISDN call control device attached
    i4bisppp: 4 ISDN SyncPPP device(s) attached
    i4bctl: ISDN system control port attached
    i4bipr: 4 IP over raw HDLC ISDN device(s) attached (VJ header compression)
    i4btel: 4 ISDN telephony interface device(s) attached
    i4brbch: 4 raw B channel access device(s) attached
    i4btrc: 4 ISDN trace device(s) attached



2. Konfiguration des ISDN Daemon, isdnd

Die Konfigurationsdatei für den isdnd ist /etc/isdnd/isdnd.rc. Der isdnd ist nur für den physikalischen Link zuständig, d.h. für den Aufbau eines B-Kanals. Mit IP Routing hat er nichts am Hut (das macht die Synchrone PPP Schicht), infolgedessen sind nur wenige Parameter zu konfigurieren, nämlich Ihre eigene "Telefonnummer", im Fachjargon Multiple Subscriber Number (MSN) genannt, sowie die Einwahlnummer zum WiN Shuttle Dienst.
Hier ist mein isdnd.rc, an dem Sie weitere Parameter wie z.B. den IDLE-timeout (Zeit bis zum Auflegen bei Nichtnutzung der Verbindung) nach eigenen Vorstellungen anpassen können. Die Erklärung des Dateiformats finden Sie mit 'man isdnd.rc'.


#==============================================================================
# SYSTEM section: isdnd global configuration parameters
#==============================================================================
system

# accounting
# ----------

acctall     = on                     # generate info for everything
acctfile    = /var/log/isdnd.acct    # name & location of accounting file
useacctfile = yes                    # generate accouting info to file

# monitor
# -------

monitor-allowed    = no            # global switch: monitor on/off

# realtime priority section
# -------------------------

rtprio        = 25            # modify isdnd's process priority

#======================================================================
# entry section: PPP example
#======================================================================
entry
name                    = I4BPPP
usrdevicename           = isp
usrdeviceunit           = 0
isdncontroller          = 0
isdnchannel             = -1
local-phone-incoming    = 1234
remote-phone-incoming   = 5678
local-phone-dialout     = 1234567890        <--Ihre eigene Telefonnummer (MSN)
remote-phone-dialout    = 019161              <--Shuttle Einwahlnummer
remdial-handling        = first
dialin-reaction         = reject
dialout-type            = normal
b1protocol              = hdlc
idletime-outgoing       = 120
ratetype                = 0
unitlength              = 180
unitlengthsrc           = conf   # Einheitslänge wird hier konfiguriert
dialretries             = 3
dialrandincr            = on
recoverytime            = 25
usedown                 = off
downtries               = 2
downtime                = 30
connectprog             = /isdn-connect
disconnectprog          = /isdn-disconnect
#
# ENDE isdnd.rc



Damit der isdnd und isdntrace nach dem Booten gestartet werden, habe ich folgende Zeilen zu /etc/rc.conf.local hinzugefügt:


	isdn_enable=YES
	isdn_trace=YES
	isdn_fsdev=/dev/ttyv4    # isdnd: Ausgabe auf ttyv4 (Ctrl-Alt-F5)


Damit der isdnd seine Ausgabe auf ttyv4 darstellen kann, muß der getty Prozeß (der ansonsten einen login-Prompt verursachen würde) ausgeschaltet sein. Dazu setzt man die zweitletzte Spalte in /etc/ttys für ttyv4 auf off:


	...
	ttyv4   "/usr/libexec/getty Pc"         cons25  off secure
	...


Damit man mitbekommt, wann der isdnd eine Verbindung auf- und abbaut, kann man sich zwei kleine Scripte schreiben, die man in /etc/isdn unterbringen muß und deren Namen dem connectprog/disconnectprog aus isdnd.rc entsprechen müssen. Auf meiner Maschine lasse ich diese Ereignisse mit wall(1) an alle eingeloggten Benutzer melden und erzeuge einen Zeitstempel in /tmp:


$ cat /etc/isdn/isdn-connect
#!/bin/sh
date > /tmp/isdn-connected
chmod a+r /tmp/isdn-connected
echo ISDN connected | wall

$ cat /etc/isdn/isdn-disconnect
#!/bin/sh
rm -f /tmp/isdn-connected
echo ISDN disconnected | wall



3. Konfiguration der synchronen PPP Schicht

Die synchrone PPP Schicht wird kann mit dem Kommando spppcontrol (bzw ispppcontrol in späteren Versionen von FreeBSD) konfiguriert werden. In dieser Schicht werden die Authentifizierungsform und die Authentfizierungsparameter eingestellt. Beim Shuttle Dienst authentifziert man sich über PAP und muß dazu seinen Benutzernamen und Passwort übertragen.

Auf meinem System fügte ich folgende Kommandos an das Ende von /etc/rc.isdn an:



	ifconfig isp0 delete -link1 down  # Interface in bekannten Status zurücksetzen
	echo 'setting sppp options'
	spppcontrol isp0 myauthproto=pap myauthname=xx9999@shuttle.de myauthsecret=GeHeIm hisauthproto=none callin
	echo 'configuring isp0'
	ifconfig isp0 0.0.0.0 194.95.242.2 netmask 0xffffffff link1 debug


Hinweis: natürlich müssen Sie für myauthname und myauthsecret Ihre eigenen Zugangsdaten verwenden.

4. Konfiguration der Defaultroute

Die Defaultroute kann mit folgenden Kommando in /etc/rc.conf.local nach jedem Neustart gesetzt werden:


	defaultrouter=194.95.242.2    # shuttle/ISDN

Dadurch wird an passender Stelle ein


	route add default 194.95.242.2

ausgeführt (dies nur als Information, falls sie eine Route manuell konfigurieren wollen). Meine Routingtabelle sieht dann so aus:


	# netstat -rn
	Routing tables

	Internet:
	Destination        Gateway            Flags      Netif Expire
	default            194.95.242.2       UGSc        3        1     isp0
	127.0.0.1          127.0.0.1          UH          0      314      lo0
	194.95.242.2       194.95.228.253     UH          4        0     isp0

wobei 194.95.228.253 von Ihrer statischen/dynamischen IP Adresse abhängt.

5. Reboot

Um den neuen Kernel mit ISDN-Unterstützung zu starten, ist ein reboot mit


	# shutdown -r now

notwendig.

copyright © 2012 shuttle_small   Impressum   Datenschutz
Druckversion