Druckversion | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Der physische Anschluss der Hardwarekomponenten wurde im Abschnitt Systemadministration, Hardware-Installation erörtet. Das entsprechende Gerät sollte also bereits verfügbar, d.h.der entsprechende Treiber geladen worden sein. Natürlich ist es damit allein nicht getan; die einzelnen Komponenten bedürfen einer Konfiguration, um im Netzwerk ihre Dienste verrichten zu können. So muss einer Netzwerkkarte eine IP-Adresse zugewiesen, das Modem muss zum Wählen einer Telefonnummer animiert, oder die ISDN-Karte zur Simulation eines Anrufbeantworters eingerichtet werden... Um solche und andere Konfigurationsschritte mehr soll es uns im folgenden Abschnitt gehen.
Wie ein Modem physisch an den Rechner angeschlossen wird, wurde im Kapitel Systemadministration Hardware-Installation besprochen. Der Schwerpunkt im folgenden Text soll nun auf die Einrichtung eines Zugangs über einen Internet Service Provider (ISP) liegen, also die Schritte der Konfiguration, um mit einem simplen Befehl oder Mausklick den automatischen Zugang zum Internet aufzubauen. Debian: pppconfigPPP? ProviderName, DNS, Protokoll, dann USername bei ISP, Passwort, Baudrate , Pulse oder Tonwahl, Nummer des ISP, Automatischer Test, wo Modem hängt. Nochmals Zusammenfassung und Möglichkeit der Änderung der einzelnen Einträge Abbildung 1: Abbildung 2: Abbildung 3: Abbildung 4: SuSE - YastAbbildung 5: Abbildung 6: Abbildung 7: Abbildung 8: Abbildung 9:
»Einwahl« meint, dass der sich verbindende Rechner zu einem vollwertigen Mitglied des Netzes des Einwahlservers wird. Sie kennen das Verfahren von ihrem Internet-Service-Provider, zudem Sie sich via Modem verbinden und ihr Rechner in dem Augenblick zu einem Knoten des Internets wird. Wir spielen jetzt quasi ISP, indem wir unseren Rechner so konfigurieren, das dieser bei einem eingehenden Verbindungswunsch via Modem die Sitzung akzeptiert. Vorausgesetzt, der sich einwählende Benutzer verfügt über die entsprechenden Rechte. »Mgetty« hat Telefondienst...Wie immer, wenn es um den Zugang zu einem Rechner geht, bedarf es eines Gettys, das die jeweiligen Gerätedateien auf eingehende Verbindungen überwacht und Schritte zur Authentifzierung einleitet. Auch wenn sich bspw. mit agetty weitere Kandidaten um den Posten bemühen, hat sich in Verbindung mit analogen Modems doch das für Modemverbindungen optimierte »mgetty« aus dem Paket »mgetty&sendfax« durchgesetzt. »mgetty« beim Booten startenHierfür genügt ein simpler Eintrag in der Datei /etc/inittab. Angenommen, das analoge Modem hängt an der dritten seriellen Schnittstelle (/dev/ttyS2), so lautet ein passender Eintrag wir folgt:
Mit obiger Zeile würde das Modem allerdings sofort das Gespräch an sich reißen. Fügen Sie obige Zeile die Option -n Anzahl_Klingelzeichen hinzu und das Modem wird erst nach vereinbarter Anzahl abheben. Wer darf sich einwählen?Zeitliche Beschränkungen
Mit den Programmen aus dem Paket i4l lässt sich unter Linux ein Anrufbeantworter einrichten. Einzige Voraussetzung ist eine funktionierende Anbindung an das Telefonnetz über ISDN. Eine solche »Voice box« besitzt gegenüber herkömmlichen Anrufbeantwortern einige Vorteile. So lässt sich für jeden Benutzer ein eigener Anrufbeantworter konfigurieren. Notwendig sind hierfür allerdings ausreichend Rufnummern, die entweder eine TK-Anlage oder Ihre Telefongesellschaft bereitstellt. Wahlweise kann ein Benutzer per Mail über eintreffende Anrufe unterrichtet oder aber der Anruf als Sounddatei direkt versendet werden. Auch eine Webabfrage des Status des Anrufbeantworters ist über Zusatzprogramme möglich. Die Konfiguration von vbox gliedert sich in zwei Abschnitte. Zum einen betrifft dies die Einrichtung des Servers, der die eingehenden Anrufe entgegennimmt, einen Ansagetext abspielt und den Anruf aufzeichnet. Dieser Teil der Konfiguration wie auch das obligatorische Einrichten des Netzwerkzugriffs auf gespeicherte Nachrichten obliegt dem Systemverwalter. Jeder Benutzer hingegen ist selbst gefordert, die Abfrage seiner gespeicherten Anrufe zu konfigurieren. Abbildung 1: Bestandteile des ISDN-Anrufbeantworters Der Serverdienst vboxgettyIn die Zuständigkeit des Programms vboxgetty fällt die Entgegennahme von Anrufen, das Abspielen eines Textes sowie die Speicherung des Anrufs (genau genommen ruft vboxgetty ein Tcl-Script, das die beiden letzteren Aufgaben übernimmt). Sinnvoll ist der Start von vboxgetty durch den init-Prozess, da das Programm, wie jedes Getty, ein bestimmtes Terminal überwacht und es neu gestartet werden muss, nachdem ein Anruf bearbeitet und das Programm beendet wurde. Automatischer ServerstartFür jeden Benutzer mit einem eigenen Anrufbeantworter ist ein eigenes vboxgetty zu starten. Jedes überwacht einen anderen Port. Die Zuordnung von Port zu Benutzer erfolgt in der im Anschluss beschriebenen Konfigurationsdatei »vboxgetty.conf«. Im Ausschnitt der folgenden Datei /etc/inittab überwachen zwei »vboxgetty« die Terminals »ttyI6« und »ttyI7«:
Mit der zwingend erforderlichen Option -d Port ist das zu überwachende Terminal anzugeben. Die Voreinstellung der von vboxgetty zu verwendenden Konfigurationsdatei kann mittels -f Datei überschrieben werden. Konfiguration mittels vboxgetty.confDie Ablage der Konfigurationsdatei unterscheidet sich bei den verschiedenen Distributionen, sollte aber entweder »/etc/isdn/vboxgetty.conf« oder »/etc/vbox/vboxgetty.conf« lauten. »vboxgetty.conf« besteht aus einem globalen und mindestens einem lokalen Teil. Als globale Einstellungen gelten dabei alle Werte, die vor dem ersten port-Eintrag stehen. Dementsprechend beginnt mit jedem weiteren port-Eintrag ein neuer lokaler Teil. Globale Konfigurationen gelten dabei für alle Ports - insofern sie dort nicht überschrieben wurden - während lokale Konfigurationen nur dem entsprechenden Port zugeordnet sind. Die möglichen Optionen sind: alivetimeout Anzahl Anzahl Sekunden, nach der vboxgetty das Modem auf Aktivität testet
badinitsexit Anzahl Maximale Anzahl der Wiederholungen von modeminit (siehe unten)
commandtimeout Anzahl Anzahl Sekunden, die auf die Antwort eines Modemkommandos gewartet werden soll
compression Format
Format der Ablage der Anruftexte (komprimierte Audiodateien); zulässig sind
»adpcm-1«, »adpcm-2«, »adpcm-3«,
»adpcm-4«, und »ulaw«
debuglevel Stufe
Steuert die Menge der Statusinformationen, die vboxgetty zum Besten gibt.
Die Werte reichen von fatalen Fehlern (F) über behebbare Fehler (E), Warnungen
(W), Informationen (I) und reine Debug-Ausgaben (D) bis hin zu sehr detaillierten
Auskünften (J).
dropdtrtime Anzahl Anzahl Millisekunden, die Dtr-Line aktiv bleiben soll, um das Modem zurück zu setzen
echotimeout Anzahl Anzahl Sekunden, die auf ein Echo eines Modemkommandos gewartet werden soll
freespace Anzahl Anzahl Bytes, die auf der Partition mit dem Spoolverzeichnis mindestens frei sein müssen, damit vboxgetty Anrufe entgegen nimmt
group Gruppenname Der vboxgetty-Prozess wird mit den Rechten dieser existierenden Gruppe ausgestattet
initpause Anzahl Anzahl Millisekunden, die nach der Modem-Initialisierung zu warten ist
modeminit Intialisierung Eine Zeichenkette mit AT-Befehlen zur Initialisierung des Modem(treiber)s (siehe im Anschluss)
port Device Das ISDN-Device, für das die folgenden Einstellungen gelten sollen
ringtimeout Anzahl Anzahl Sekunden, die auf ein Freizeichen gewartet werden soll
spooldir Verzeichnis Verzeichnis zur Ablage von aufgezeichneten Anrufen, weiteren Konfigurationsdateien...
umask Maske Rechte der neu erzeugten Audiodateien; siehe Zugriffsrechte, umask
user Benutzername Der vboxgetty-Prozess wird mit den Rechten dieses existierendes Benutzers ausgestattet
vboxconfig Datei Konfigurationsdatei von vbox, Voreinstellung ist <spooldir>/vbox.conf
Für zahlreiche Optionen gelten Voreinstellungen, insofern sie nicht in der Konfigurationsdatei aufgeführt werden. Sie können davon ausgehen, dass diese Default-Werte in den allermeisten Fällen sinnvoll belegt sind, sodass nachfolgende Beispielkonfiguration für zwei Benutzer quasi das Minimum darstellt:
Modemtreiber-InitialisierungIm System emulieren die Gerätedateien »/dev/ttyIX« (X=0..15) ISDN-Modems. Jedes der konfigurierten virtuellen Modems überwacht den Steuerkanal am »echten« Modem und erkennt hieran für ihn bestimmte Anrufe. Die Konfiguration der virtuellen Gerätedatei wird durch den Eintrag modeminit in »vboxgetty.conf« vorgenommen. Wie bei »echten« Modems gelangt der so genannte AT-Befehlssatz (weil die Befehle mit AT beginnen) aus dem Hayes-Kode zum Einsatz (die Erläuterung der wichtigsten Befehle finden Sie im Abschnitt System-Administration Hardware-Installation Modem). Mit ATZ, was die Vorbelegung für modeminit ist, wird das Modem angewiesen, die internen Register auf »werkseitige« Standardeinstellungen zurückzusetzen. AT&B512 stellt die maximale Größe ausgehender Pakete ein. Für die meisten Modemtreiber ist 512 ein gängiger Wert. Beachten Sie, dass die meisten Treiber »zu große« Pakete einfach ohne Warnung ignorieren. Mit AT&E08150816 weisen Sie das mit dem Modem verbundene Gerät an, auf Anrufe der angegebenen Multiple Subscribe Number zu reagieren. Diese MSN-Nummer ist eine der Endgerätenummern (ohne Vorwahl!), die Ihnen für Ihren Anschluss zur Verfügung stehen. Anlegen der Spool-VerzeichnisseDie in »vboxgetty.conf« mittels spooldir angeführten Verzeichnisse müssen erzeugt und mit entsprechenden Attributen versehen werden. Jedes Verzeichnis muss dem im entsprechenden Abschnitt unter user deklarierten Benutzer und der jeweiligen Gruppe (group) gehören. Des Weiteren sind incoming und messages als Unterverzeichnisse anzulegen. Bezogen auf obige Beispielkonfiguration hat der Administrator Folgendes zu tun:
Jeder Benutzer mit eigenem Anrufbeantworter benötigt in seinem Spoolverzeichnis die beiden Dateien vbox.conf und standard.tcl, die die Konfiguration der Abfrage des Anrufbeantworters enthalten. Um eine brauchbare Anfangskonfiguration bereitzustellen, sollte der Administrator zwei dem i4l-Paket beiliegende Beispieldateien kopieren:
Die endgültige Anpassung beider Dateien obliegt dem jeweiligen Benutzer (siehe nachfolgend). Start und TestNach obigen Schritten muss init angewiesen werden, die Datei /etc/inittab neu einzulesen:
Eventuelle Fehlkonfigurationen erkennen Sie anhand der Dateien /var/log/vbox/vboxgetty-ttyIx.log. Nach angepasster Konfiguration genügt es nun, die betreffenden Gettys neu zu starten:
Den Eingang eines Anrufs kann der Systemverwalter außerdem anhand eines Eintrags in der Datei /var/log/messages überprüfen:
Konfiguration des AnrufbeantwortersErkennt vboxgetty einen einkommenden Anruf, so lädt es die der Rufnummer zugeordnete Datei vbox.conf (»vboxconfig«-Eintrag aus vboxgetty.conf). Diese Konfigurationsdatei bestimmt das weitere Verfahren von vboxgetty. I.d.R. wartet vboxgetty eine gewisse Anzahl Rufzeichen ab, bevor es ein Script standard.tcl startet, das die weitere Bearbeitung des Anrufs übernimmt. Die Datei »vbox.conf«vbox.conf sollte vom Benutzer angepasst werden, denn Anrufe werden nur von konfigurierten Rufnummern entgegen genommen. Die Datei besteht i.d.R aus den drei notwendigen Sektionen »[CALLERIDS]«, »[RINGS]« und »[STANDARD]« sowie den optionalen nutzerspezifischen Sektionen. Die Namen eigener Sektionen sind frei wählbar. Sie werden in eckige Klammern eingeschlossen; Groß- und Kleinschreibung wird nicht unterschieden. Alle einem Sektionsbezeichner folgenden Einträge zählen zu dieser Sektion und enden mit Beginn einer weiteren Sektion oder dem Dateiende. Zeilen, die mit dem Kommentarzeichen # beginnen, werden ebenso ignoriert wie Leerzeilen. Die Sektion [CALLERIDS] ordnet Rufnummern Personen(-gruppen) zu und ermöglicht somit den gezielten Ansprung einer nutzereigenen Sektion. Jeder Eintrag in [CALLERIDS] besteht aus drei durch Leerzeichen/Tabulatoren getrennten Werten:
Anstelle einer konkreten Rufnummer können Sie auch die shellüblichen Wildcards verwenden. Sektion ist entweder der Name einer existierenden Sektion oder "-", was gleichbedeutend mit [STANDARD] ist, oder aber '*', womit der Realname gleichzeitig als Sektionsbezeichner verwendet wird. Realname wird zumeist zur Beschreibung der unter dieser Nummer erreichbaren Person verwendet. Hier sind Leerzeichen gestattet, da alles dem zweiten Leerzeichen Folgende dem Realnamen zugeordnet wird.
Im Beispiel verwenden wir die letzte Zeile, um Anrufe uns »unbekannter« Rufnummern zu behandeln. Wir weisen ihnen die Standard-Sektion (-) zu. [RINGS] steuert das Verhalten beim Eintreffen eines Anrufs: Zu welcher Tageszeit sollen Anrufe entgegengenommen werden? Nach wie vielen Klingelzeichen soll der Anrufbeantworter abheben? Jeder Eintrag in der Sektion [RINGS] enthält drei Werte:
Die Zeit wird als »Startzeit-Endzeit« angegeben. Die Angabe kann sekundengenau erfolgen (12:00:05-14:01:59). Fehlen Minuten und/oder Sekunden, so wird intern im Falle der Startzeit auf den kleinstmöglichen (also 12 auf 12:00:00) bzw. im Falle der Endzeit auf den maximalen Wert ergänzt (12 wird zu 12:59:59). Wird auf Angabe der Endzeit verzichtet, so wird die Startzeit ggf. »gespreizt« (12 wird zu 12:00:00-12:59:59). »Jede Zeit« wird durch * und »niemals« durch ! repräsentiert. Mehrere Zeitspannen lassen sich durch Kommata getrennt angeben (keine Leerzeichen!). Als Tag sind sowohl die beiden ersten Buchstaben der deutschen Wochentagsnamen (Samstag statt Sonnabend) als auch die drei führenden Buchstaben der englischen Namen zulässig. Mehrere Werte lassen sich durch Kommata getrennt angeben (keine Leerzeichen!). Anzahl Klingelzeichen ist als Vielfaches der Zeitspanne von ca. 4-5 Sekunden zu verstehen.
Insofern Sie Anrufe unbekannter Nummern entgegennehmen, sollte zumindest eine allgemeine Sektion (vorgesehen ist [STANDARD]) enthalten sein. Auch ist für jede unter [CALLERIDS] benannte Sektion selbige zu konfigurieren. Mit diesen Sektionen können Sie gezielt auf konkrete Anrufe reagieren. Ein Eintrag in der nutzerspezifischen Sektion besteht aus folgenden Werten:
Mit Zeit und Tag können Sie analog zum Vorgehen in [RINGS] die Zeiten einschränken, in denen nachfolgende Einstellungen anzuwenden sind. Ansagetext ist der Dateiname mit der Nachricht, die Sie abzuspielen wünschen. Entweder geben Sie den vollständigen Pfad an oder die Datei muss in /var/spool/vbox/Benutzer//messages liegen. Die Aufzeichnungszeit (in Sekunden) beschränkt die maximal zulässige Länge des empfangenen Anrufs. Durch Kombination verschiedener Flags kann eine von der Voreinstellung abweichende Reaktion konfiguriert werden. Mit NOANSWER wird auf einen Anruf nicht geantwortet. NORECORD unterdrückt das Abspielen des Ansagetextes. NOTIMEOUTMSG verhindert die Benachrichtigung zur Überschreitung der Aufzeichnungslänge und NOBEEPMSG schaltet das Startzeichen der Aufzeichnung ab. Mit NOStdMSG wird auf einen Ansagetext verzichtet. Alle genannten Flags schalten die Voreinstellungen ab. Des Weiteren kann mittels RINGS=xxx die Voreinstellung in [RINGS] überschrieben werden. TOLLRINGS=xxx wirkt analog, jedoch erst nach Eintreffen der ersten neuen Nachricht (also für jeden weiteren Anruf). Mit TOLLCHECK=Verzeichnis kann ein von /var/spool/vbox/Benutzer/incoming abweichendes Verzeichnis angegeben werden, indem nach neuen Nachrichten gesucht wird. Ein vom Standardskript /var/spool/vbox/Benutzer/standard.tcl abweichendes Skript kann per SCRIPT=Skript spezifiziert werden.
Das Skript »standard.tcl«vboxgetty nimmt Anrufe nur entgegen, initialisiert anschließend anhand der Konfiguration aus vbox.conf interne Statusvariablen und überantwortet das weitere Vorgehen einem Tcl-Skript (in der Voreinstellung »standard.tcl«). Der Fluss in diesem Skript wird im Wesentlichen durch diese Statusvariablen von vboxgetty bestimmt. Tcl selbst erinnert an eine Mischung aus C- und Bash-Syntax und soll uns hier nicht näher interessieren. Wir vermitteln nur kurz anhand eines typischen Skriptbeginns den Umgang mit Tcl:
Sollten Sie in die Verlegenheit gelangen, »standard.tcl« anpassen zu müssen, so finden Sie eine vollständige Auflistung der vbox-relevanten Befehle im Manual »vboxtcl«. Der VBox-DaemonIn lokalen Netzwerken verfügt nicht jeder Rechner über eine direkte Anbindung an die Außenwelt. Meist regelt ein einzelner Rechner den Zugang und auch nur dieser Rechner wird ein ISDN-Modem integriert haben. Es wäre nun zweckmäßig, wenn die Benutzer an den anderen Rechnern sich nach dem Eingang neuer Anrufe erkundigen könnten. Genau die Beantwortung solcher Anfragen übernimmt ein eigener Hintergrundprozess - der vboxd. VorarbeitenZunächst sollten Sie sich vergewissen, dass vboxd in der Datei /etc/services aktiviert ist:
vboxd beendet seine Tätigkeit automatisch nach einer gewissen Zeitspanne der Inaktivität. Zwar lässt sich die Zeitspanne von 600 Sekunden per Option ändern, um seine permanente Verfügbarkeit dennoch zu garantieren, sollte er jedoch bei Bedarf vom inetd gestartet werden:
Bevorzugen Sie den sicheren xinetd, dann sieht ein Eintrag in der Datei /etc/xinetd.conf wie folgt aus:
Globale Konfiguration in /etc/vbox/vboxd.confDie Datei »vbox.conf« umfasst zwei Arten von Einträgen. Zum Einen die mit 'L' beginnenden Zeilen, die den Zugriff auf vboxd auf Rechnerebene steuern und zum Zweiten mit 'A' beginnende Zeilen, die Zugriffsrechte auf Benutzerebene steuern.
Die Angabe des Zugriffs auf Rechnerebene ist einfach: Dem 'L' folgt ein die Rechner beschreibendes Muster gefolgt von einem Zugangsflag. Die drei Werte werden durch Doppelpunkten voneinander getrennt.
Der Eintrag mit dem ersten zutreffenden Muster bestimmt die Rechte für einen Rechner. Im Beispiel sind also alle Rechner aus der Domain »galaxis.de« zum Zugriff auf vboxd berechtigt (Y). Allen anderen Rechner wird der Zugriff verweigert (N). Ein Eintrag auf Nutzerebene besteht aus 7 jeweils durch Doppelpunkt getrennten Werten. Dem anfäglichen 'A' folgt ein Rechnermuster, von dem aus der mit Name spezifizierte Benutzer aus zugreifen darf (4. Wert; natürlich muss dem Rechner selbst der Zugriff gestattet sein). Der Modus beschränkt den Zugriff auf Nur-Lesen (R) oder Nur-Schreiben (W) oder er lässt auch beides (RW) zu. Das Passwort wird zur Zugangskontrolle verwendet. Das Spoolverzeichnis ist dem Benutzer zugäglich. Hier werden Kontrolldateien abgelegt. Das letzte Verzeichnis beschreibt den Ablageort für neue Nachrichten.
Nutzerspezifische Anpassungen in ~/.vboxrcUm mit dem Konsolenprogramm vbox auf die Voicebox zugreifen zu können, muss die Datei .vboxrc im Heimatverzeichnis des Benutzers existieren. Drei wesentliche Variablen sollten angepasst werden: USERNAME
Name des Benutzers, unter dem die Anmeldung am vboxd vorgenommen wird.
Dieser Name muss in der vboxd.conf (4.Wert einer 'A'-Zeile) existieren!
PASSWORD Passwort zur Anmeldung (5.Wert der 'A'-Zeile aus vboxd.conf)
VOLUME Wert der Lautstärke, mit dem vboxplay einen Anruf abspielt.
Die weiteren möglichen Einträge in .vboxrc steuern das Aussehen der Anwendung. Im nachfolgenden Beispiel wird ihre Anwendung gezeigt; der Nutzen sollte aus den Variablennamen ersichtlich sein:
Zum Abschluss...Und wie generieren Sie nun Ihre Ansagetexte? Indem Sie sich selbst anrufen und den Begrüßung auf den Anrufbeantworter sprechen. Kopieren Sie die Nachricht anschließend entsprechend um... und fertig!
Bei faxgetty handelt es sich um den Hylafax-Server-Prozess, der das Modem auf einkommende Anrufe überwacht und diese entweder selbst behandelt oder sie an ein geeignetes Programm deligiert.
Wie schaufelt man eine Menge Daten zwischen zwei Rechnern hin und her? Mit zwei Netzwerkkarten kein Problem, aber extra solche besorgen, nur wegen eines sporadischen Datenaustauschs? Auch über ein ZIP-Laufwerk verfügen die wenigsten Computer und die Transaktion via Disketten ist wirklich nur dem gedultigen Benutzer zuzumuten. Worüber aber (fast) jeder Rechner verfügt, ist mindestens eine serielle Schnittstelle. Zu einer Verbindung dieser ist einzig ein preiswertes Kabel erforderlich und mit den heute üblichen Schnittstellenbausteinen ist eine Übertragungsrate nahe derer von langsamen Netzwerkkarten zu erwarten. Das ganze nennt sich Nullmodem und ist eine Low-Cost-Variante zur gelegentlichen Verbindung zweier Rechner. Sicher ist ein Datentransfer der häufigste Verwendungszweck, aber auch eine Fernadministration eines Rechners über dessen serielle Schnittstelle ist hier und da von Nutzen. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Korrekturen, Hinweise? |