
Bitte dabei immer bedenken: Beide Programme sind speziell für fli4l und nicht allgemein für Linux entwickelt worden. Man möge mir daher bestimmte imond-/telmond-Funktionalitäten, die es im isdn4linux irgendwo bereits gibt, verzeihen. imond bereitet alle wichtigen Informationen möglichst kompakt auf und stellt diese den Clients zur Verfügung. Gerade die Umsetzung auf Client-Ebene ist Nico Wallmeier mit dem Windows-Programm imonc als Benutzeroberfläche sehr gut gelungen. Aber auch 2 Linux-Clients sind verfügbar: entweder als ASCII- oder als graphische Oberfläche. Alle Clients stellen nicht nur Monitor-, sondern auch Steuerfunktionen zur Verfügung.
Die folgenden Erklärungen gelten für imond und telmond ab Version
1.5. Es wird eine bereits funktionierende ISDN-Konfiguration und die Kenntnis
der fli4l-Dokumentation vorausgesetzt. Ohne das Studium der Doku wird's nichts!
Dateien:
| /etc/telmond.conf | Konfigurationsdatei für telmond |
| /usr/local/bin/telmond | telmond-Programm |
| /var/log/kernel-info | Named pipe |
| /sbin/init.d/telmond | Boot-Script (SuSE, bei RedHat entsprechender Pfad) |
| /sbin/rc2.d/S99telmond | Symlink auf Boot-Script |
| /sbin/rc2.d/S00telmond | Symlink auf Boot-Script |
log MSN IP1 [IP2 ....] ... exec MSN CALLER COMMAND ...Die Datei darf auch leer oder gar nicht vorhanden sein.
| MSN | die eigene MSN |
| IP1 | IP-Adresse eines Client-PCs usw. |
| CALLER | Telefonnummer des anrufenden Gegners, darf auch '*' sein |
| COMMAND | ein Shell-Kommando, welches bei Anruf ausgeführt werden soll |
Mit der log-Zeile kann man bestimmen, welche Clients auf welche Log-Dateien zugreifen können. Normalerweise protokolliert telmond alle eingehenden Telefonanrufe in der Datei /var/log/telmond.log. Dann haben alle Clients Zugriff auf die kompletten Daten. Sollen aber die Anrufe separiert werden, kann man z.B. festlegen, daß der Client 192.168.1.1 lediglich die Anrufe auf die MSN 12345657890 sehen darf. Dieses ist z.B. für WGs sehr sinnvoll.
Beispiel:
log 1234567890 192.168.1.1Dabei dürfen weitere IP-Adressen für dieselbe MSN hinten angehängt werden - durch Blank getrennt.
Mit der exec-Zeile können bestimmte Kommandos ausgelöst werden, wenn ein Anruf eintrifft. Dabei wird die eigene MSN angegeben und evtl. die Telefonnummer des Anrufenden. Soll die Nummer des Anrufenden ignoriert werden, ist stattdessen ein '*' (ohne die Hochkommata) anzugeben, also z.B.
exec 1234567890 0891234 sleep 5; isdnctrl dial ippp0In diesem Fall wird zunächst 5 Sekunden gewartet, um sicherzustellen, daß der Anrufende auch wieder eingehängt hat und damit den ISDN-Kanal freigibt. Anschließend wird auf dem iPPP-Device ippp0 rausgewählt.
Der Trick ist nun folgender: Man lässt syslogd die Kernel-Infos zusätzlich in eine Named Pipe schreiben. Aus dieser kann dann telmond wiederum die Anrufe herausfiltern.
Also:
cd /var/log mkfifo kernel-infoDann Datei /etc/syslog.conf editieren und folgende Zeile einfügen:
*.info |/var/log/kernel-infoMan kann nun dem syslogd mitteilen, daß sich seine Konfigurationsdatei geändert hat:
kill -1 `cat /var/run/syslogd.pid` # syslogd Signal 1 schicken
Im Verzeichnis /sbin/init.d legt man nun das Shell-Script telmond mit folgendem Inhalt an:
----- schnipp ----
#! /bin/sh case $1 in start) /sbin/isdnctrl verbose 2 # verbose level /usr/local/bin/telmond -log-to-syslog -syslog-fifo /var/log/kernel-info ;; stop) killproc /usrlocal/bin/telmond # oder auch killall, wenn kein ;; # killproc vorhanden ist esac----- schnapp -----
Die Datei muss man nun noch ausführbar machen, also in der Shell eingeben:
chmod +x telmondWichtig: Das Script darf *keine* CRs am Zeilenende haben! Also bitte nicht einfach unter DOS/Windows erzeugen und dann in das Linux-Verzeichnis kopieren.
Jetzt müssen noch 2 symbolische Links eingerichtet werden:
cd rc2.d ln -s S99telmond ../telmond ln -s K00telmond ../telmond
cd /usr/src/fli4l-1.5/src/local
make telmond
cp telmond /usr/local/bin
telmond hat die folgende Aufrufsyntax:
telmond [-port portno] [-log-to-syslog] [-syslog-fifo fifo-msg-file] [log-directory]Zu den einzelnen Parametern:
| -port portno: | telmond horcht standardmäßig auf TCP-Port 5001. Dies kann man hier in Ausnahmefällen ändern. Dann muß aber auch beim Client der telmond-Port umkonfiguriert werden. Das geht zur Zeit jedoch nur mit dem Windows-Client imonc.exe. Also im Zweifel diese Option nicht einsetzen! |
| -log-to-syslog | Flag, ob Meldungen über syslog geloggt werden sollen. Bei einem "echten" Linux-System ist das auf jeden Fall sinnvoll. |
| -syslog-fifo fifo-msg-file | Angabe der Named Pipe (Fifo) |
| log-directory | Verzeichnis, wo die einkommenden Anrufe protokolliert werden sollen |
Dateien:
| /etc/imond.conf | Konfigurationsdatei für imond |
| /etc/imond.env | Umgebungsvariablen: Berechtigungen/Passwörter |
| /usr/local/bin/imond | imond-Programm |
| /usr/local/bin/fli4lctrl | Steuer-Script |
| /usr/local/bin/add-default-route | Script zum Anfügen einer Default-Route |
| /usr/local/bin/delete-all-routes | Löschen von Routen (device-abhängig) |
| /sbin/init.d/imond | Boot-Script (SuSE, bei RedHat entsprechender Pfad) |
| /sbin/rc2.d/S99imond | Symlink auf Boot-Script |
| /sbin/rc2.d/S00imond | Symlink auf Boot-Script |
day hour device hup lcr droute phone name charge ch-intDabei sind:
| day | Tagesbereich, z.B. Mo-Fr |
| hour | Stunden, z.B. 08-18 |
| device | Interface, z.B. ippp0. Bei Kanalbündelung z.B. ippp0/ippp1 |
| bandwidth | Schwelle:Zeitdauer für automatische Kanalbündelung, s. fli4l-Doku! |
| hup | Hangup-Timeout in Sekunden |
| lcr | Least cost routing circuit, yes oder no |
| droute | default route, yes oder no |
| phone | ISDN-Telefonnummer(n) |
| name | Name des Circuits |
| charge | Kosten pro Minute, z.B. 0.025 |
| ch-int | Zeittakt, z.B. 60 |
Beispiel:
Mo-Fr 09-18 ippp0/ippp1 -1:-1 40 yes yes 010280192306 Addcom 0.0388 60 Mo-Fr 18-09 ippp0/ippp1 -1:-1 40 yes yes 010280192306 Addcom 0.0248 60 Sa-Su 00-24 ippp0/ippp1 -1:-1 40 yes yes 010280192306 Addcom 0.0248 60Die Bandwidth-Werte -1:-1 schalten die automatische Kanalbündelung ab.
imond sollte wie telmond beim Booten automatisch gestartet werden. Dafür
müssen wir ein weiteres Boot-Script anlegen. Bei anderen Distributionen
als SuSE ist eventuell der Pfad anzupassen.
Im Verzeichnis /sbin/init.d legt man nun das Shell-Script imond mit folgendem Inhalt an:
----- schnipp ----
#! /bin/sh case $1 in start) . /etc/imond.env # Umgebungsvariablen laden /usr/local/bin/imond -log-to-syslog /var/log /var/log ;; stop) killproc /usrlocal/bin/imond # oder auch killall, wenn kein ;; # killproc vorhanden ist esac----- schnapp -----
Auch diese Datei mussen wir noch ausführbar machen, also:
chmod +x imondWichtig: Das Script darf *keine* CRs am Zeilenende haben! Also bitte nicht einfach unter DOS/Windows erzeugen und dann in das Linux-Verzeichnis kopieren.
Jetzt müssen noch 2 symbolische Links eingerichtet werden:
cd rc2.d ln -s S99imond ../imond ln -s K00imond ../imondAnschließend legen wir noch eine Datei /etc/imond.env für die Umgebungsvariablen an, welch die Rechte für die
Inhalt:
export DIALMODE='auto'
# Autmatische Anwahl: Dial on Demand
export IMOND_ENABLE='no' # Normaler
Benutzer darf Dialmode einstellen: yes/no
export IMOND_DIAL='no'
# Benutzer darf manuellen Wahlvorgang auslösen: yes/no
export IMOND_REBOOT='no' # Benutzer
darf Rechner ferngesteuert booten: yes/no
export IMOND_ROUTE='no' # Benutzer
dard Circuit/Provider wählen: yes/no
export IMOND_PASS=''
# Passwort für Benutzer-Zugriff: evtl. anpassen
export IMOND_ADMIN_PASS='xyz' # Passwort für IMOND-Administrator:
ANPASSEN!
Da diese Datei Passwörter enthält, sollte man sie mit dem Kommando
"chmod 600 imond.env" den Blicken normaler User entziehen.
Das imond-Programm wird wie telmond in das Verzeichnis /usr/local/bin installiert,
also:
cd /usr/src/fli4l-1.5/src/local
make imond
cp imond /usr/local/bin
Ausserdem sollte man von aus fli4l-Distribution folgende Dateien kopieren:
cd /usr/src/fli4l-1.5/opt/usr/local/bin
cp add-defaultroute /usr/local/bin
cp delete-all-routes /usr/local/bin
imond hat die folgende Aufrufsyntax:
imond [-port portno] [-log-to-syslog] [-beep] [-led /dev/comX] [imond-log-directory [telmond-log-directory]]Zu den einzelnen Parametern:
| -port portno: | imond horcht standardmäßig auf TCP-Port 5000. Dies kann man
hier in Ausnahmefällen ändern. Dann muß aber auch beim Client
der imond-Port umkonfiguriert werden. Das geht zur Zeit jedoch nur mit dem
Windows-Client imonc.exe. Also im Zweifel diese Option nicht einsetzen! |
| -log-to-syslog | Flag, ob Meldungen über syslog geloggt werden sollen. Bei einem "echten" Linux-System ist das auf jeden Fall sinnvoll. |
| -beep | Flag, ob imond nach jedem Connect/Disconnect einen Zweiklangton ausgeben soll. Achtung: Diese Option ist nicht für imond-Versionen aus den fli4l-1.5Pre-Paketen vorgesehen, funktioniert also erst mit imond aus der fli4l-Final Version von 1.5. |
| -led /dev/comX | Es kann an eine serielle Schnittstelle eine LED angeschlossen werden.
Wie, wird in der fli4l-Dokumentation erklärt. Ist der Router online, leuchtet die LED, ist er wieder offline, erlischt die LED. |
| imond-log-directory | Verzeichnis, wo die Verbindungen protokolliert werden sollen. Standardmäßig ist das /var/log. Der Dateiname ist immer imond.log. |
| telmond-log-directory | Verzeichnis, in welchem telmond die einkommenden Anrufe protokolliert, normalerweise ebenso /var/log. |
Alle Angaben ohne Gewähr! Haftung meinerseits ausgeschlossen!
Viel Spaß!
Frank Meyer, Februar 2001
Klicken Sie hier, um die Seite auszudrucken.