ISDN unter FreeBSD 4.x
======================
(http://www.freebsd.org/doc/de_DE.ISO8859-1/books/handbook/network-isdn.html)
Als erstes muss der Kernel mit der Unterstuetzung der ISDN-Karte neu uebersetzt
werden. Siehe unter Kernel bauen!
Dazu fuegen Sie die folgenden Zeilen an ihre Kernelkonfigurationsdatei an:
###############################################################################
#
#
pseudo-device sppp #Generic Synchronous PPP
#
#
#
# ISDN4BSD section
# ----------------
#
# AVM A1 or AVM Fritz!Card
#options AVM_A1
#device isic0 at isa? port 0x240 irq 11 flags 4
#
# PCI bus Cards:
# --------------
#
# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
options ELSA_QS1PCI
device isic
#
# AVM Fritz!Card PCI
options AVM_A1_PCI
#device isic
#
# ISDN Protocol Stack
# -------------------
#
# Q.921 / layer 2 - i4b passive cards D channel handling
pseudo-device "i4bq921"
#
# Q.931 / layer 3 - i4b passive cards D channel handling
pseudo-device "i4bq931"
#
# layer 4 - i4b common passive and active card handling
pseudo-device "i4b"
#
# ISDN devices
# ------------
#
# userland driver to do ISDN tracing (for passive cards only)
pseudo-device "i4btrc" 4
#
# userland driver to control the whole thing
pseudo-device "i4bctl"
#
# userland driver for access to raw B channel
pseudo-device "i4brbch" 4
#
# userland driver for telephony
pseudo-device "i4btel" 2
#
# network driver for IP over raw HDLC ISDN
pseudo-device "i4bipr" 4
# enable logging of the first n IP packets to isdnd (n=32 here)
options IPR_LOG=3
#
# network driver for sync PPP over ISDN; requires an equivalent
# number of sppp pseudo-devices to be configured
pseudo-device "i4bisppp" 4
options IPFIREWALL #firewall
options IPFIREWALL_VERBOSE #print information about
options IPFIREWALL_DEFAULT_TO_ACCEPT #allow everything by default
options IPDIVERT #divert sockets
###############################################################################
#
Damit auch die richtige ISDN-Karte unterstuetzt wird sollten Sie die
eingefuegten Zeilen durchgehen und die Zeilen fuer Ihre Karte aktivieren.
In diesem Beispiel wird die AVM-Fritz-PCI-Card und die
ELSA-QuickStep1000pro-PCI unterstuetzt. Wollen Sie andere Karten benutzen,
suchen Sie sich die noetigen Zeilen aus der Datei LINT.
Je Karte sind max. drei Zeilen noetig.
zum Beispiel:
# ELSA MicroLink ISDN/PCI (same as ELSA QuickStep 1000pro PCI)
options ELSA_QS1PCI
device isic
Danach dann folgende Schritte abarbeiten:
Sinnvollerweise werden jetzt die BOOT-Meldungen nachgesehen:
z.B.: dmesg | grep i4b
Es sollten in den Bootmeldungen folgende 7 Zeilen auftauchen:
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
Wenn sie nach Eingabe der folgenden Befehlszeile den Hinweis bekommen,
das kein Zugriff auf den IRQ der ISDN-Karte moeglich war sollten Sie
(z.B. bei der AVM Fritz Classic) den entsprechenden IRQ
(Sie haben den IRQ beim Kernel bauen festgelegt)
im BIOS des PC's fuer die Nutzung per ISA reservieren!
dmesg | grep isic
Jetzt sollten, mit den folgenden Befehlen,
die noetigen Geraetedateien erzeugt werden:
cd /dev
./MAKEDEV all
Wenn bis jetzt alles nach Plan gelaufen ist,
dann muss die ISDN-Karte nur noch konfiguriert werden!
Eintragungen in der "/etc/rc.conf":
natd_program="/sbin/natd" # path to natd, if you want a different one.
natd_enable="YES" # Enable natd (if firewall_enable == YES).
natd_interface="isp0" # Public interface or IPaddress to use.
natd_flags="-dynamic" # Additional flags for natd.
# ist bei dynamischer IP-Zuweisung wichtig
ifconfig_isp0="inet 0.0.0.0 0.0.0.1 netmask 0xffffffff link1 debug"
sppp_interfaces="isp0" # example: sppp over ISDN
spppconfig_isp0="myauthproto=pap myauthname=loginname myauthsecret=passwort hisauthproto=none callin"
defaultrouter="0.0.0.1"
gateway_enable="YES"
### ISDN interface options: ###
isdn_enable="YES" # Enable the ISDN subsystem (or NO).
isdn_fsdev="/dev/ttyv4" # Output device for fullscreen mode
# (or NO for daemon mode).
isdn_flags="-dn -d0x1ff" # Flags for isdnd
isdn_trace="NO" # Enable the ISDN trace subsystem (or NO).
hostname="wache.privatesnetzwerk.de" # Set this!
# Der Rechner sollte einen Namen MIT einer Domain
# (die es im Internet NICHT gibt)
# benannt werden, damit der folgende Befehl funktioniert!
Jetzt wird der Rechner zum DNS im privaten Netzwerk.
Damit das folgende Script richtig arbeiten kann,
muss der Rechner einen Namen wie oben beschrieben haben!
Dazu folgende Befehle ausfueren:
cd /etc/namedb/
./make-localhost
Durch diesen Befehl wird es Moeglich sein, das alle Rechner im
privaten (localen) Netz nur drei Sachen konfiguriert bekommen
mussen:
1. die eigene IP (z.B.: 192.168.0.11)
2. den GateWay (z.B.: 192.168.0.10)
3. den DNS (z.B.: 192.168.0.10)
In der Datei "/etc/hosts" sollten
alle Rechner cwaus dem privaten Netz eingetragen werden:
192.168.0.10 wache.privatesnetzwerk.de wache
192.168.0.11 meinpc.privatesnetzwerk.de meinpc
192.168.0.12 susispc.privatesnetzwerk.de susispc
192.168.0.13 georgspc.privatesnetzwerk.de georgspc
In der Datei "etc/ttys" folgende Aenderung vornehmen:
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
in
ttyv4 "/usr/libexec/getty Pc" cons25 off secure
Die Datei "etc/isdn/isdnd.rc" konfigurieren:
siehe Beispiel:
"/etc/isdn/isdnd.rc.sample" Sektion (# entry section: PPP example)
Am besten die Datei "/etc/isdn/isdnd.rc.sample" nach "/etc/isdn/isdnd.rc"
umkopieren und anschliessend editieren.
cp /etc/isdn/isdnd.rc.sample /etc/isdn/isdnd.rc
vi /etc/isdn/isdnd.rc
Loeschen Sie die uebrigen Zeilen aus der Datei "/etc/isdn/isdnd.rc" und
aendern Sie mindestens die fett gedruckten Eintraege!
#==============================================================================
# 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
# ratesfile
# ---------
ratesfile = /etc/isdn/isdnd.rates.D # name & location of rates file
# realtime priority section
# -------------------------
rtprio = 5 # modify isdnd's process priority
#======================================================================
# entry section: PPP example
#======================================================================
entry
name = I4BPPP
usrdevicename = isp
usrdeviceunit = 0
isdncontroller = 0
isdnchannel = -1
local-phone-incoming = 1234 # Ihre eigene Telefonnummer (MSN)
remote-phone-incoming = 9999 # oder "*", fuer jeder
local-phone-dialout = 1234 # Ihre eigene Telefonnummer (MSN)
remote-phone-dialout = 0191011 # z.B. (T-online) : "0191011"
# z.B. (GMX-online): "019102345"
remdial-handling = first
dialin-reaction = reject
dialout-type = normal
b1protocol = hdlc
idletime-incoming = 200
idletime-outgoing = 30 # wenn die Verbindung ungenutzt
# ist, wird die Verbindung nach
# dieser Zeit (in Sekunden)
# getrennt
ratetype = 0
unitlength = 60 # Telefoneinheitenlaenge in
# Sekunden, wird hier definiert
unitlengthsrc = conf # Telefoneinheitenlaenge wird
# hier konfiguriert
dialretries = 3
dialrandincr = on
recoverytime = 25
usedown = off
downtries = 7
downtime = 30
#connectprog = "ip-up" # startet /etc/isdn/ip-up beim verbinden
#disconnectprog = "ip-down" # startet /etc/isdn/ip-down beim trennen
# EOF #########################################################################
Jetzt muss nur noch der (oder die) Nameserver (DNS-Server)
in die Datei "/etc/resolv.conf" eingetragen werden!
(Die richtigen vom Internet-Provider! Im Notfall weis die Hottline bescheid.)
Es macht keinen Sinn mehr als drei DNS in dieser Datei stehen zu haben,
da sowieso nur die 1. drei abgefragt werden!
In diesem Beispiel (GMX):
hat der 1.DNS die IP 194.25.2.129
und der 2.DNS die IP 195.20.224.234
Erster DNS-Server:
echo "nameserver 194.25.2.129" >> /etc/resolv.conf
Zweiter DNS-Server:
echo "nameserver 195.20.224.234" >> /etc/resolv.conf
Wir haben zwar kein Windows,
aber nur um zu sehen ob alles nach Plan funktioniert,
starten Sie bitte das System neü
reboot
Jetzt sollten Sie auf der Konsole "F5" den Status der ISDN-Verbindungen und alle
Aktivitaeten auf dem S0-Bus sehen koennen.
Wenn Ihnen das nicht genug ist tragen Sie in die Datei "/etc/rc.conf" noch
folgendes ein:
isdn_trace="YES" # Enable the ISDN trace subsystem (or NO).
isdn_traceflags="-f /var/tmp/isdntrace0" # Flags for isdntrace
Dann koennen Sie mit dem Befehl
# tail -f /var/tmp/isdntrace0
alles weitere sehen... ;-)
Weitere Quellen im Internet sind:
http://www.shuttle.de/infos/anleitungen/bsd/einwahl.html
http://www.freebsd-support.de/i4b/
http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html
http://www.de.freebsd.org/de/i4b-t-error.html
http://www.cul.de/data/freex12001inh.pdf
http://docs.freebsd.org/mail/archive/1999/freebsd-isdn/19990711.freebsd-isdn.html
http://lists.openresources.com/FreeBSD/freebsd-isdn/msg00824.html
http://support.prima.de/bsd/bsd-isdn.html
http://www.ruhr.de/home/nathan/FreeBSD/tdsl-freebsd.html
VIEL SPASS