====== ISDN unter FreeBSD ====== 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