Kapitel 6 Der Anschluss an die weite Welt ­ PPP, ISDN, Modem, Fax ... Neben der Netzwerkanbindung im lokalen Netz ist der Anschluss an ein grö- ßeres und verteiltes Netz, an ein WAN (engl. Wide Area Networks), oder aber auch das Nutzen von Mailboxen von Interesse. In der Unix-Welt haben sich zwei Standards zum Anschluss an große Net- ze durchgesetzt, UUCP und TCP/IP über Modemverbindungen bzw. über ISDN. Während UUCP (Unix to Unix CoPy) hauptsächlich dem Transport von News und E-Mail dient, stellt eine TCP/IP-Verbindung eine echte Netz- werkanbindung dar; eine solche echte Netzanbindung erlaubt es, alle aus dem LAN bekannten Dienste global zur Verfügung zu stellen ­ dem LAN liegt ja auch TCP/IP zu Grunde. Wird TCP/IP über eine Modem- oder ISDN-Verbindung gefahren, so kommt heutzutage zumeist PPP (Point to Point Protocol) zum Einsatz1. Bei ISDN wird zumeist syncPPP gewählt, manchmal aber auch rawip (vgl. Ab- schnitt 6.2.5 auf Seite 176). Wie solch eine WAN-Anbindung erfolgen kann, ist Thema der folgenden Ab- schnitte. PPP wird kurz vorgestellt (Abschnitt 6.1). Die ISDN-Konfiguration folgt dann (Abschnitt 6.2 auf Seite 169). Es wird der Anschluss eines ana- logen Modems besprochen (Abschnitt 6.5 auf Seite 186) und es wird die Konfiguration einer PPP-Verbindung für Modems erklärt (Abschnitt 6.6 auf Seite 186). E-Mail-Anschluss und News-System-Einrichtung (Abschnitt 6.8 auf Seite 200 und Abschnitt 6.9 auf Seite 203) sowie Fax-Möglichkeiten (Abschnitt 6.10 auf Seite 206) werden in den Grundzügen präsentiert. 6.1 PPP PPP (engl. Point to Point Protocol) bietet die Möglichkeit, TCP/IP über ei- ne serielle Leitung zu betreiben. PPP-Client und -Server können sich beim Verbindungsaufbau über diverse Protokollparameter verständigen, der Server kann dem Client seine IP-Adresse mitteilen und ihm eine IP-Adresse zuord- nen. PPP ist ­ im Gegensatz zu SLIP ­ ein definierter Standard und wird von den meisten Internet-Providern inzwischen als einzige Einwahlmöglichkeit angeboten. 1 SLIP (Serial Line Internet Protocol) gerät mehr und mehr aus der Mode. 167 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... Die zentrale Rolle bei PPP spielt der PPP-Daemon pppd, über den die PPP- Geräte angesprochen werden; der PPP-Daemon kann sowohl als Client, als auch als Server eingesetzt werden. Zum eigentlichen Verbindungsaufbau wird das Programm wvdial oder das Programm chat benötigt. 6.1.1 Voraussetzungen für PPP Die Voraussetzungen für PPP unter SuSE Linux sind: * Der Kernel muss TCP/IP und PPP unterstützen! Dies ist beim mitgeliefer- ten Standardkernel und den dazugehörigen Modulen der Fall ­ es besteht also keine Notwendigkeit, einen eigenen Kernel zu erzeugen. * Die Netzwerkpakete müssen installiert sein. Unbedingt erforderlich sind das Paket nkita und das Paket nkitb, Serie a. * Das grundlegende Paket ppp, Serie n, das den pppd und auch das Pro- gramm chat enthält. * Wenn ein analoges Modem zum Einsatz kommen soll, ist das Paket wv- dial, Serie n für den Verbindungsauf- und -abbau erforderlich. * Wenn ISDN konfiguriert werden soll, vgl. zudem Abschnitt 6.2.3 auf Seite 171. * Login und Passwort beim PPP-Server müssen bekannt sein. 6.1.2 Weitere Informationen zu PPP PPP bietet eine Fülle von Möglichkeiten, die Verbindung zu konfigurieren; es würde an dieser Stelle zu weit führen, sie alle vorzustellen. Werden mehr als die im Folgenden vorgestellten Optionen benötigt, so kann in den ent- sprechenden Manpages nachgelesen werden, z. B. in der Manual-Page von pppd (man 8 pppd); weiterhin gibt es ausführliche Darstellungen in den Dateien NET4-3-HOWTO.gz (früher: NET-3-HOWTO.gz) und PPP-HOWTO.gz im Verzeichnis /usr/doc/howto/en sowie in den Dokumentations-Dateien im Verzeichnis /usr/doc/packages/ppp oder /usr/doc/packages/wvdial. Detaillierte Informationen zu den von PPP benutzten Protokollen finden Sie in den zugehörigen RFCs: * RFC1144: Jacobson, V. Compressing TCP/IP headers for low-speed se- rial links." 1990 February; * RFC1321: Rivest, R. The MD5 Message-Digest Algorithm." 1992 April; * RFC1332: McGregor, G. PPP Internet Protocol Control Protocol (IP- CP)." 1992 May; * RFC1334: Lloyd, B. Simpson, W.A. PPP authentication protocols." 1992 October; * RFC1548: Simpson, W.A. The Point-to-Point Protocol (PPP)." 1993 De- cember; * RFC1549: Simpson, W.A. PPP in HDLC Framing." 1993 December; 168 6.2. Internet Zugang über ISDN ­ die Konfiguration 6.2 Internet Zugang über ISDN ­ die Konfiguration Neben den gewöhnlichen" Netzwerkverbindungen kann Linux vorzüglich Netzwerkverbindungen zu anderen Rechnern (z. B. zu Internet-Providern) über ISDN aufbauen und verwalten. Dies wird umso einfacher, als dass ein großer Teil der ISDN-Konfiguration von YaST aus durchgeführt werden kann. Diese Beschreibung ist für eine Standard-Anbindung an einen anderen Rech- ner via ISDN gedacht. Es ist natürlich noch viel mehr mit ISDN unter Linux möglich. Beachten Sie bitte, dass die hier beschriebenen Verfahren unter Umständen nicht zugelassen sind. Bei aktiven ISDN-Karten besitzt die Karte mitsamt der Firmware eine Zulassung, die gilt auch für den Betrieb unter Linux. Bei passiven Karten gilt generell die Zulassung der Karte nur dann, wenn Sie mit der Software des Herstellers betrieben wird. Eine Ausnahme sind die Karten ELSA Microlink PCI (früher Quickstep) und Eicon Diva 2.01 ­ diese sind unter Linux ebenfalls zugelassen. Wer auf eine Zulassung angewiesen ist, muss eine aktive Karte einsetzen oder die passive Karte an einer TK-Anlage anschließen. Im Gegensatz zu Modemverbindungen muss kein spezielles Kommando ge- startet werden, um eine Verbindung zu initiieren. Ist das Netzwerk gestartet kann jederzeit eine Verbindung zum Partner durch normale Aktivitäten wie telnet, http (WWW), ftp etc. hergestellt werden. Erst dann wird die Wählver- bindung aufgebaut; dieser Vorgang dauert in etwa 3 Sekunden. So ist es auch nicht-`root'-Benutzer möglich, eine Verbindung zu starten. Es kann ein- gestellt werden, wie viele Sekunden die Verbindung inaktiv sein soll, bevor automatisch aufgelegt wird. Während der gesamten ISDN-Konfiguration ist es ratsam, die Systemmel- dungen in der Datei /var/log/messages zu verfolgen. Laden Sie dazu in einem xterm (in KDE: Alt + F2 und dann xterm eingeben) bzw. in einer weiteren virtuellen Konsole die Datei in den Viewer" less 2: erde: # less +F /var/log/messages Die Option +F veranlasst, dass der Bildschirm dann immer die jeweils dazu- gekommenen Zeilen dieser Datei online" anzeigt; mit Strg + c verlassen Sie diesen Modus wieder. Sie haben auch die Möglichkeit, den ISDN-Verkehr grafisch mit dem Pro- gramm xisdnload zu überwachen. 6.2.1 ISDN einrichten ­ Schritt für Schritt Im folgenden Abschnitt wird eine Schritt-für-Schritt-Anleitung für den Ein- stieg ins Internet angeboten. Versuchen Sie es zuerst damit. Sollte es nicht klappen ­ oder falls Sie mehr Detailinformation brauchen ­ so lesen Sie bitte die weiteren Abschnitte durch. 1. Starten Sie als Benutzer `root' das Programm YaST ­ falls Sie in KDE sind: Alt + F2 drücken, dann xterm eingeben. Im neuen Fenster YaST starten. 2 Hinweise zu less finden Sie in Abschnitt 19.7.3 auf Seite 482 f. 169 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... 2. Gehen Sie auf `Administration des Systems', `Netzwerk konfigurieren' und `Netzwerk Grundkonfiguration'. 3. Legen Sie ein neues Device an (mit F5 ) und zwar ISDN SyncPPP. Drücken Sie `RETURN', um in das Menü `Eingabe der Netz- werk-Adressen' zu kommen. 4. Belassen Sie die Einstellungen ­ die IP-Adresse Ihres lokalen Rech- ners ist 192.168.0.99, die Adresse des PointToPoint-Partners ist 192.168.0.1 ­ und ändern Sie nur das Default-Gateway auf dieselbe Adresse wie Adresse des PointToPoint-Partners (192.168.0.1). Bei dynamischer Adressen-Zuweisung ist diese Option zu wählen. 5. Beenden Sie mit `Weiter'. 6. In der Maske `Auswahl des Netzwerks' müssen Sie die Karte noch mit F4 aktiv setzen. 7. Speichern Sie mit F10 . 8. Nun geht es weiter mit `Hardware in System integrieren' und dann mit `ISDN-Hardware konfigurieren'. 9. Füllen Sie die Maske aus. Falls Sie nicht genau wissen, was Sie eingeben sollen, so finden Sie die Dokumentation unter /usr/doc/packages/ i4l und in den nachfolgenden Abschnitten des Handbuches. 10. Wählen Sie in dem Fenster dann `Starten'. 11. War dies erfolgreich (positive Rückmeldung erscheint am Schirm), dann wählen Sie ISDN-Parameter. 12. Füllen Sie auch diese Maske aus. 13. Wählen Sie in dem Fenster dann `Starten'. 14. War dies erfolgreich (positive Rückmeldung erscheint am Schirm), dann wählen Sie `Speichern'. 15. Gehen Sie auf `Konfiguration Nameserver', beantworten Sie die Frage mit `Ja'. 16. Geben Sie die IP-Adresse des Nameservers (DNS) Ihres Providers an. Wenn Sie diese nicht wissen, so erfragen Sie diese bei Ihrem Provider, meist findet man das auch auf der Website des Providers. 17. Beenden Sie YaST. Geben Sie im Terminalfenster init 1 ein. Ein even- tuell laufendes KDE (und X) wird beendet. 18. Loggen Sie sich als `root' ein. 19. Starten Sie das Netzwerk mit init 2, falls Sie X mit startx starten. Loggen Sie sich jedoch sonst grafisch ein, so starten Sie mit init 3. 20. Nun starten Sie z. B. Netscape und können schon im Internet surfen. Star- ten Sie auch xisdnload um Ihren Verbindungsstatus beobachten zu können. 21. Bei manchen Providern müssen Sie in Netscape noch den Proxyserver Ihres Providers angeben: In Netscape `Edit', `Preferences', `Advanced', `Pro- xies', `Manual Proxy Configuration' und dann `View'. Jetzt sollte Ihr ISDN Zugang laufen und die Verbindung ins Internet automa- tisch aufbauen sobald Sie z. B. in Netscape eine Internetadresse angeben und 170 6.2. Internet Zugang über ISDN ­ die Konfiguration abbauen, sobald 60 Sekunden lang kein Datenpaket übertragen wird. Kon- trollieren Sie den Verkehr mit xisdnload! Sollte es doch nicht funktionieren, so lesen Sie bitte weiter! 6.2.2 Überblick SuSE Linux enthält das Paket isdn4linux, ein Programmpaket bestehend aus Hardware-Treiber, Netzwerkinterface und Modem-Emulation (nur digi- tales Modem). Außerdem ist z. B. Software für einen Anrufbeantworter ver- fügbar. Der Hardware-Treiber zur ISDN-Karte wird von dem Startskript /sbin/ init.d/i4l_hardware geladen (vgl. Kapitel 17 auf Seite 439). Die Konfiguration der ISDN-Seite übernimmt das Tool isdnctrl (Manual- Page von isdnctrl (man isdnctrl)). Die Konfiguration der zur Ver- fügung gestellten Netzwerk-Interfaces geschieht wie bei einem Ethernet- Interface durch die Befehle ifconfig (Manual-Page von ifconfig (man ifconfig)) und route (Manual-Page von route (man route)). Bei SuSE Linux werden diese Aufgaben von dem Skript /sbin/init.d/ i4l übernommen (vgl. Kapitel 17 auf Seite 439). Grundlage sind jeweils die in /etc/rc.config eingetragenen Parameter. Die Namensgebung für die dort verwendeten Variablen orientiert sich soweit wie möglich an den Optionen zu isdnctrl. Durch das Skript /sbin/init.d/route wird das Routing auf die in /etc/route.conf eingetragenen Werte gesetzt. Der Verbindungsaufbau geschieht bei Bedarf mit den durch isdnctrl, bzw. /sbin/init.d/i4l und /etc/rc.config festgelegten Parametern, die mit erde: # isdnctrl list all angezeigt werden können. Bei Bedarf bedeutet, dass eine der so entstande- nen Routen" das entsprechende (ISDN-)Interface anspricht. Das kann durch jeden Benutzer und jede Applikation geschehen. 6.2.3 ISDN-Hardware konfigurieren Voraussetzungen Um unter SuSE Linux eine ISDN-Verbindung aufbauen zu können, brauchen Sie folgendes: 1. einen ISDN-Anschluss 2. eine unterstützte ISDN-Karte 3. ein installiertes SuSE Linux 4. einen installierten Standard-Kernel von der SuSE Linux-CD Sie brauchen keinen eigenen Kernel zu generieren ­ wenn Sie gleichwohl einen eigenen Kernel kompilieren wollen, nehmen Sie unbedingt die Quel- len aus dem Paket lx_suse, Serie d! 171 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... 5. das Paket kernmod, Serie a 6. das Paket i4l, Serie n 7. für weitere Dokumentation am besten auch gleich das Paket i4ldoc, Serie doc Was Sie wissen müssen: * ISDN-Karten-Typ * Einstellungen der Karte: IRQ, Portadresse etc. (je nach Typ) * Welches ISDN-Protokoll Sie benutzen können: ­ 1TR6: (altes) nationales ISDN ­ DSS1: Euro-ISDN Bei älteren großen TK-Anlagen wird oft 1TR6 auf internen S0 gefahren. Was ist meine MSN/EAZ? Bei Euro-ISDN ist die MSN (engl. Multiple-Subscribe-Number) die Telefon- nummer, allerdings ohne Vorwahl. Bei einem privaten Neuanschluss bekom- men Sie meist drei unabhängige Nummern zugewiesen. Sie können sich eine beliebige davon für die ISDN-Verbindung auswählen, auch diejenige, wel- che Sie schon für eine Telefonverbindung benutzen, da anhand der ISDN- Dienstkennung der Typ einer Verbindung unterschieden werden kann. Typischerweise wird die ISDN-Karte direkt an einen NTBA angeschlossen, es kann aber auch sinnvoll sein, über eine TK-Anlage einen weiteren S0- Bus bereitzustellen. Wenn Sie Euro-ISDN an einer TK-Anlage fahren, ist die MSN (meist) nur die Durchwahl auf der Anlage oder die 0. Bei 1TR6 wird anstatt der MSN eine EAZ (Endgeräte-Auswahl-Ziffer) be- nutzt (ansonsten ist MSN/EAZ synonym zu verwenden). Die EAZ ist eine einzelne Ziffer, die Sie auswählen können. Wählen Sie eine zwischen 1 und 9. Verwenden Sie bei 1TR6 nicht die 0! 6.2.4 ISDN-Hardware mit YaST konfigurieren Der Treiber für die ISDN-Karte wird durch ein ladbares Kernelmodul be- reitgestellt. Dafür muss das System nicht neu gebootet werden. Die üblichen ISDN-Karten werden durch den HiSax-Treiber unterstützt. Manche Karten wie z. B. die ICN-Karten oder die AVM-B1 sowie PnP-Kar- ten (engl. plug and play) bedürfen einer Sonderbehandlung und können (bis- her) nicht direkt mit YaST konfiguriert werden. Siehe Einstellung des ISDN- Karten-Typs für weitere Informationen. So gehen Sie Schritt für Schritt vor: 1. Als Benutzer `root' einloggen 2. YaST starten 3. Wählen Sie das Menü `Administration des Systems', `Hard- ware im System integrieren', `ISDN Hardware kon- figurieren' an. Diese Menüstruktur sehen Sie in Abbildung 6.1 auf der nächsten Seite. 172 6.2. Internet Zugang über ISDN ­ die Konfiguration Abbildung 6.1: Menüstruktur zur ISDN-Konfiguration mit YaST 4. Tragen Sie in der Maske bitte folgende Parameter ein: * I4L Starten Nur wenn dieses Feld aktiv ist, wird beim Booten ISDN konfiguriert. Sie können also hiermit steuern, ob überhaupt automatisch eine ISDN- Verbindung nach dem Booten aufgebaut werden kann. * ISDN-Protokoll Wählen Sie zwischen dem alten nationalen, deutschen ISDN (1TR6) oder dem heute üblichen Euro-ISDN (EDSS1). Beachten Sie, dass bei Anschlüssen, die über eine TK-Anlage gehen, häufig 1TR6 gefahren wird. * Typ der ISDN-Karte Wählen Sie die vom HiSax-Treiber unterstützte Karte aus. Für PnP- und PCMCIA-Karten beachten Sie bitte die Datei /usr/doc/ packages/i4l/README.SuSE sowie den Abschnitt 10.2.1 auf Seite 290 ff. Bitte beachten Sie, dass bei PCI-Karten keine I/O-Adresse und kein Inter- rupt angegeben werden darf. * Kennung der Karte Die Kennung sollten Sie auf HiSax belassen. * Interrupt Memory-Basisadresse IO-Port IO0-Wert IO1-Wert Je nach Kartentyp sind weitere Angaben nötig. Es sind nur die für den ausgewählten Kartentyp notwendigen Parameter anwählbar. Die restlichen Werte werden ausgegraut. 173 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... * Optionen zum Laden des ISDN-Moduls Lassen Sie dieses Feld bitte leer. Weitere Information erhalten Sie durch Drücken der Taste F1 . Die Ein- gabemaske können Sie in Abbildung 6.2 sehen. Abbildung 6.2: Eingabemaske zur ISDN-Konfiguration mit YaST 5. Betätigen Sie den Button `Starten'. Erklärung: Es wird testweise das Modul geladen. Im Fenster erkennen Sie, ob die Karte korrekt erkannt wurde. Wenn OK: Betätigen Sie den Button `Speichern'. Erklärung: Die Einstellungen werden dauerhaft (in Variablen in den Dateien /etc/rc.config.d/i4l_*) gespeichert, sodass sie nach dem nächsten Booten oder Wechsel des Runlevels wieder aktiviert werden können. Nach dem testweisen Laden des Moduls bleibt der Treiber geladen. Wenn nicht OK: Versuchen Sie andere Parameter und betrachten Sie dabei die Veränderungen in der Datei /var/log/messages. Übliche Probleme sind: * Die IRQs 12 oder 15 sind bei einigen Mainboards nicht benutzbar. * Die angegeben Adressen oder IRQs sind schon in Benutzung. Ent- fernen Sie alle Steckkarten, die vorerst nicht benötigt werden, z. B. Sound- und Netzwerkkarten. * Das Modul ist schon geladen. Wechseln Sie auf eine andere Konsole und geben Sie folgenden Befehl zum Entladen des Moduls ein: erde: # rmmod hisax * Sie haben eine PnP-Karte. Lesen Sie dazu in der Datei /usr/doc/ packages/i4l/README.SuSE nach. * Sie haben keine vom HiSax-, sondern von einem anderen Treiber unterstützte Karte (z. B. ICN, AVM-B1). Lesen Sie dazu bitte in der Datei /usr/doc/packages/i4l/README.SuSE nach. 174 6.2. Internet Zugang über ISDN ­ die Konfiguration 6. Beenden Sie YaST. 7. isdnlog konfigurieren Bevor die Module geladen werden, sollte erst noch der isdnlog konfi- guriert werden. Dieser hat die Aufgabe, alle Aktivitäten auf dem S0-Bus zu protokollieren. Passen Sie die folgenden Dateien Ihren Gegebenheiten an: * /etc/isdn/isdn.conf: Der erste spezifiziert das Land, in dem isdn4linux eingesetzt wird. Für Deutschland müssen die Werte wie in Datei 6.2.1 gesetzt werden. Für Österreich ist der Countrycode 43. # /etc/isdn/isdn.conf [GLOBAL] COUNTRYPREFIX = + COUNTRYCODE = 49 AREAPREFIX = 0 Datei 6.2.1: /etc/isdn/isdn.conf Ebenfalls im der GLOBAL-Abschnitt wird der AREACODE (die Vor- wahl) ohne führende Null angegeben. Wenn Ihre Vorwahl z. B. 0911 ist, tragen Sie AREACODE = 911 ein. Dies ist (in Deutschland) der einzige Teil, der angepasst werden muss. Mit CHARGEMAX = 20.00 können Sie angeben, wie viel Geld (in DM) maximal pro Tag vertelefoniert werden darf. Dies schützt vor un- erwünschten Connects. Aber verlassen Sie sich nicht auf dieses auto- matische Feature! * /etc/isdn/callerid.conf: Hier können Sie alle bekannten Telefonnummern eintragen. In der Da- tei /var/log/messages und durch isdnrep werden dann die Namen anstatt der Telefonnummer angezeigt. Vgl. das Beispiel in Datei 6.2.2; Ihre eigene Nummer ist 4711 und die Ihres Providers ist 4712. * /etc/isdn/isdnlog.isdnctrl0.options: Hier können Sie Optionen für isdnlog eingeben. Dies ist normaler- weise nicht nötig. 8. Geben Sie die Befehle erde: # init 1 erde: # init 2 ein, um u. a. die Netzwerkdienste neu zu starten, oder aktivieren Sie ISDN erneut mit YaST (oder booten Sie neu). 6.2.5 ISDN-Internetanbindung einrichten ISDN-Konfiguration für Ihren Internetprovider 175 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... # /etc/isdn/callerid.conf [MSN] NUMBER = 4711 SI = 1 ALIAS = ich ZONE = 1 [MSN] NUMBER = 4712 SI = 1 ALIAS = Provider ZONE = 1 Datei 6.2.2: /etc/isdn/callerid.conf Die Protokollwahl Für den ISDN-Zugang gibt es drei wichtige ISDN-Protokolle: * syncPPP * rawip-HDLC * Terminal-Login mit X.75 Meist verwenden die Internetprovider das syncPPP Protokoll. Sie sollten Ihr Linux also damit konfigurieren. Voraussetzungen * Die ISDN-Hardwarekonfiguration hat funktioniert. * Der ISDN-Treiber ist geladen. * Sie wissen die von Ihnen zu verwendende MSN oder EAZ. * Sie wissen das von Ihrem Provider verwendete Protokoll (syncPPP, ra- wip). * Sie wissen die Zugangstelefonnummer. * Sie wissen den Benutzernamen und das Passwort. * Sie wissen den Domain Name Server (DNS) Ihres Providers. Erst wenn alle oben genannten Punkte erfüllt sind, können Sie den Internet- zugang erfolgreich einrichten. Das folgende Beispiel beschreibt den syncPPP-Zugang. rawip ist aber im Wesentlichen genauso ­ nur einfacher. Doch nun wieder Schritt für Schritt: 1. Starten Sie YaST und wechseln in das Menü `Administration des Systems', `Netzwerk konfigurieren', `Netzwerk- Grundkonfiguration'. Die nun erscheinende Eingabemaske sehen Sie in Abbildung 6.3 auf der nächsten Seite 2. Wählen Sie eine freie Nummer, z. B. 1. 3. Wählen Sie durch Drücken von F5 als Device `ISDN SyncPPP' aus. 176 6.2. Internet Zugang über ISDN ­ die Konfiguration Abbildung 6.3: Netzwerkkonfiguration mit YaST 4. Drücken Sie bitte F6 (`IP-Adresse') und geben Sie ein: * IP-Adresse Ihres Rechners (ISDN-Karte): 192.168.0.99 * Kreuzen Sie `Dynamische IP-Adresse' nur an, wenn eine Adresse von Ihrem Provider ( ISP) bei jeder Verbindung dyna- misch" zugewiesen bekommen. * IP-Adresse des Default-Gateways: 192.168.0.1 * IP-Adresse des PointToPoint-Partners: 192.168.0.1 5. Die Eingabemaske durch Betätigen des Buttons `Weiter' verlassen. 6. Das Netzwerk-Device mit F4 aktivieren, falls nicht schon geschehen. 7. Mit F8 (`ISDN') können Sie jetzt weitere ISDN-spezifische Parameter angeben. Dies können Sie in Abbildung 6.4 sehen. Abbildung 6.4: Konfiguration der ISDN-Parameter mit YaST Geben Sie dabei bitte die folgenden Werte an: 177 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... * Eigene Telefonnummer (MSN) Ihre eigene MSN, z. B. 123456 * Anzurufende Nummern: 012345678 Erklärung: die Nummer die angerufen werden soll. 012345678 ist die Nummer Ihres Internet-Providers. Bei TK-Anlagen müssen Sie eventuell eine zusätzliche 0 vorwählen. ­ Bit- te beachten Sie weiterhin, dass durch Leerzeichen getrennte Telefonnum- mern wie zwei unterschiedliche Telefonnummern behandelt werden. * Nummern, die anrufen dürfen: Nur für Dialin-Server nötig. * Nur angegebene Nummern erlaubt: Setzen Sie dieses Flag, damit niemand unerlaubt eine Verbindung zu Ihrem System aufbauen kann. * Wählmodus: Mit auto werden Verbindungen automatisch aufgebaut, wenn ver- sucht wird, auf Adressen zuzugreifen, die nur über die ISDN- Schnittstelle zu erreichen sind. Mit der Einstellung manual ist es notwendig, bei Bedarf die Verbindung per Hand herzustellen. Bei off ist es gar nicht möglich, Verbindungen über diese ISDN-Schnittstelle aufzubauen. * Idle-Time: Zeit, nach der automatisch aufgelegt wird, wenn keine Internet-Pakete über die ISDN-Leitung übertragen werden. * Name des PPP-Logins: Geben Sie hier den Benutzernamen für Ihren Provider an. * Passwort des PPP-Logins: Geben Sie hier das Passwort für Ihren Provider an. Das Passwort wird hier bei der Eingabe nur durch Sterne angedeutet. Es wird in der Datei /etc/ppp/pap-secrets gespeichert. Mit F1 erhalten Sie weitere Hilfe. 8. Betätigen Sie den Button `Starten'. Erklärung: Es wird testweise das Netzwerk konfiguriert. Im Fenster er- kennen Sie, ob dies funktioniert hat. Hier sollte es keine Probleme geben. Wenn OK: Betätigen Sie den Button `Speichern'. Erklärung: Die Einstellungen werden dauerhaft (in Variablen in den Dateien /etc/rc.config.d/i4l_*) gespeichert, sodass sie nach dem nächsten Booten oder Wechsel des Runlevels wieder aktiviert werden können. Nach dem testweisen Starten bleiben die Einstellung- en aber erhalten. Wenn nicht OK: Vermutlich sind dann die ISDN-Module nicht geladen. Beachten Sie außerdem die Meldungen in /var/log/messages. 178 6.2. Internet Zugang über ISDN ­ die Konfiguration 9. Gehen Sie in YaST in das Menü `Konfiguration Nameserver', beantworten Sie die Frage mit Ja. Geben Sie hier die IP-Nummern des Nameservers (DNS) Ihres Providers an. Wenn Sie die IP-Nummer nicht wissen, müssen Sie diese bei Ihrem Provider erfragen. Oder Sie bitten je- manden, der ein Linux schon im Internet hat, um Eingabe folgenden Be- fehls in einem Terminalfenster (als Beispiel sei hier T-Online angeführt): whois t-online.de Sie erhalten dann eine Ausgabe, die unter anderem folgende Zeilen in Ausgabe 6.2.1 enthält. domain: t-online.de descr: Deutsche Telekom AG, Telekom Online-Dienste descr: Generaldirektion, GK361 descr: Postfach 2000 descr: D-53105 Bonn descr: Germany admin-c: KHS252-RIPE tech-c: JS691-RIPE zone-c: FS340-RIPE nserver: dns00.btx.dtag.de Ausgabe 6.2.1: Ausgabe von whois t-online.de In der Zeile nserver: sehen Sie den Nameserver Ihres Providers. Dann brauchen sie nur noch die IP-Adresse des Namens. Dazu gibt man folgen- den Befehl ein: host dns00.btx.dtag.de Dann erfolgt z. B. eine Antwort wie in Ausgabe 6.2.2. dns00.btx.dtag.de has address 194.25.2.129 Ausgabe 6.2.2: Ausgabe von host Dies (194.25.2.129) wäre dann die IP-Adresse des Nameservers von T-Online. Falls der Verbindungsaufbau nicht klappt: * Prüfen Sie /var/log/messages auf verdächtige" Ausgaben. Die ISDN-Statusmeldungen (z. B. E001f) sind in Abschnitt 6.2.6 auf der nächsten Seite beschrieben. * Versuchen Sie auch den rawip-Zugang. * Ist die MSN/EAZ richtig eingestellt? * Müssen Sie eventuell eine 0 vorwählen? Weitere Hinweise finden Sie in der Support-Datenbank. Diese finden Sie entweder unter der URL http://sdb.suse.de/sdb/de/html/ auf unserem WWW-Server oder über die SuSE-Hilfe (Aufruf mit hilfe oder aus dem Menü) in Ihrem SuSE Linux-System, wenn Sie das Paket susehilf, Serie doc und das Paket sdb_de, Serie doc, installiert haben. 179 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... 10. Vermutlich hat der Verbindungsaufbau funktioniert. Dann wechseln Sie wieder in YaST, betätigen den Button `Speichern' und beenden YaST. Dynamische IP-Nummer bei syncPPP Im Fall von dynamischen IP-Adressen dienen die vergebenen Dummy- Adressen aus dem privaten Bereich nur als Platzhalter bis zum Verbindungs- aufbau. Weitere Informationen Weitere Informationen, wie Sie eine ISDN-Verbindung und Ihr ISDN-Sub- system konfigurieren, finden Sie in folgenden Quellen: * Datei /usr/doc/packages/i4l/README.SuSE * Support-Datenbank: http://sdb.suse.de/sdb/de/html/ * Im Paket i4ldoc (z. B. das ISDN-FAQ in der Datei: /usr/doc/ packages/i4ldoc/i4l-faq) * /usr/doc/inetcfg (Paket inetcfg): z. B.: T-Online über ISDN 6.2.6 ISDN-Meldungen Leider sind die Cause"-Meldungen die man vom ISDN Subsystem erhält auf Englisch und nicht immer leicht verständlich. Daher hier die deutsche Übersetzung. Eine typische Fehler"-Meldung (engl. Cause) von HiSaX besteht aus 2 Tei- len, der location und dem cause code. Sie besteht im Falle von Euro- ISDN aus 5 Zeichen, Exxyy wobei xx die Quelle der Fehlermeldung (hier nicht erläutert) und yy die Meldungsursache angibt. Diese Ausgabe macht HiSaX immer hexadezimal. Manche Meldungen sind auch kein Fehler in die- sem Sinne, sondern stellen normales Verhalten einer Telefonverbindung dar ( besetzt", Verbindung durch Auflegen beendet"). Im folgenden die Erläuterung der verschiedenen Meldungsursachen, den Causes"; mit freundlicher Genehmigung des Instituts für Elektroni- sche Systeme und Vermittlungstechnik der Universität Dortmund: http: //www-esv.e-technik.uni-dortmund.de. Beachten Sie bitte, dass HiSaX diesen Cause"-Wert Hexadezimal ausgibt. Cause# dez/hex Beschreibung Gruppe 0/1 normale Gründe #1 01 Die Nummer des gerufenen Teilnehmers ist zwar komplett und kann durch das Netzwerk interpre- tiert werden, ist aber zur Zeit keiner Endstelle zu- geordnet. Tabelle 6.1: Fortsetzung auf der nächsten Seite... 180 6.2. Internet Zugang über ISDN ­ die Konfiguration #2 02 Das spezifizierte Transitnetzwerk wird durch die meldende Stelle nicht erkannt. Dies kann entweder geschehen, weil das gewünschte Transitnetzwerk nicht existiert oder aber den geforderten Dienst ab- lehnt. #3 03 Es wurde kein Weg zum gewünschten Endteilneh- mer gefunden, da dieser vermutlich an einem an- deren als dem gewählten Netzwerk angeschlossen ist. #6 06 Der gerufene Teilnehmer kann den geforderten Kanal nicht verwenden. #7 07 Der Ruf wurde beim gerufenen Teilnehmer abge- wiesen, da der geforderte Kanal bereits belegt war (virtueller Kanal, X.31 bzw. X.25) #16 10 Dieser Grund wird verwendet, wenn einer der an dem Ruf beteiligten Endteilnehmer den Ruf been- det. #17 11 Der gerufene Teilnehmer ist besetzt und nicht in der Lage, auf einen weiteren Ruf zu reagieren oder diesen anzunehmen. #18 12 Der gerufene Anschluss wurde zwar erreicht, aber der Rufaufbauwunsch SETUP wurde nicht inner- halb der vorgesehenen Zeit beantwortet. #19 13 Trotz Annahme des Endgerätes wurde der Ruf nicht durch den Endteilnehmer akzeptiert, z. B. Te- lefon klingelt in leerer Wohnung. #21 15 Der gerufene Teilnehmer hat den Ruf explizit ab- gelehnt, z. B. als Reaktion auf einen Anklopfton. #22 16 Als Option der Zielvermittlungsstelle kann dieser Grund gesendet werden, wenn sich die Rufnum- mer des gerufenen Teilnehmers geändert hat. #26 1A Dem gerufenen Teilnehmer konnte der Ruf nicht angezeigt werden. #27 1B Die gerufene Teilnehmerschnittstelle (Anschluss) ist zur Zeit außer Betrieb. #28 1C Die gewählte Rufnummer ist ungültig oder kann durch das Netzwerk nicht interpretiert werden. #29 1D Ein mit dem Rufaufbau angefordertes Dienstmerk- mal kann durch das Netzwerk nicht bereitgestellt werden. #30 1E Es wird angezeigt, dass die STATUS Message, in der dieser Cause vorkommt, auf Grund einer STA- TUS ENQUIRY Message versendet wurde. Tabelle 6.1: Fortsetzung auf der nächsten Seite... 181 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... #31 1F Wenn kein anderer der in der Klasse Normal vor- handenen Gründe für die Ursache des Rufabbaus anwendbar ist, wird dieser Grund gesendet. Gruppe 2, nicht verfügbare Ressourcen #34 22 In der Vermittlungsstelle sind alle B-Kanäle (Sprechwege) oder alle virtuellen Kanäle (X.25) belegt. #38 26 Das Vermittlungsnetzwerk ist nicht betriebsbereit und wird dies für eine absehbare Zeit auch nicht mehr sein. #41 29 In der Vermittlungsstelle liegt ein vorübergehender Fehler vor, der in nächster Zukunft behoben sein wird. Es macht also Sinn, den Rufaufbauversuch zu wiederholen. #42 2A In der Vermittlungsstelle, die diesen Grund absen- det, ist zur Zeit aus Überlastgründen kein Kanal verfügbar. #43 2B Die durch den rufenden Teilnehmer übergebene Zugriffsinformation, wie z. B. Passwörter im UTU Element, LLC oder HLC Daten, konnten nicht an den gerufenen Teilnehmer weitergeleitet werden. #44 2C Der gewünschte Kanal kann durch das Interface auf der anderen Seite nicht bereitgestellt werden. #47 2F Sollte eine Ressource nicht verfügbar sein, die nicht durch die oben genannten Gründe der Grup- pe Ressource nicht verfügbar beschrie- ben werden kann, so wird dieser Grund gesendet. Gruppe 3, Dienst oder Option nicht verfügbar #49 31 Das geforderte Qualitätsmerkmal (Durchsatz oder Delay) nach X.213, kann nicht eingehalten wer- den. #50 32 Der Anwender ist zur Nutzung des angeforderten Dienstes nicht berechtigt, da er als Nutzer nicht eingetragen ist. #57 39 Der Anwender ist auf der auslösenden Anlage nicht berechtigt, den geforderten Dienst zu nutzen. #58 3A Der verlangte Übertragungsdienst ist zur Zeit nicht verfügbar. Tabelle 6.1: Fortsetzung auf der nächsten Seite... 182 6.2. Internet Zugang über ISDN ­ die Konfiguration #59 3B Eine nicht verfügbare Dienstleistung oder Option, die nicht durch die vorherigen Gründe zu beschrei- ben ist, wird hiermit angezeigt. Gruppe 4, Dienstleistung oder Option nicht im- plementiert #65 41 Das aussendende Gerät ist nicht in der Lage, die geforderte Eigenschaft (bearer capabiltiy) bereitzustellen. #66 42 Der angeforderte Kanaltyp ist nicht verfügbar. #69 45 Das angeforderte Dienstmerkmal ist nicht imple- mentiert. #70 46 Der Benutzer hat die uneingeschränkte Übertra- gung digitaler Information angefordert, aber nur eine eingeschränkte Übertragung ist zulässig. #79 4F Ein Dienst oder eine Option, die sich durch die oben genannten Gründe nicht beschreiben lässt, ist nicht implementiert. Gruppe 5, Ungültige Nachricht, unzulässiger Parameterbereich #81 51 Eine Nachricht wurde empfangen, die mit ei- nem im Netzwerk zur Zeit ungültigen Call Reference"-Wert versehen war. #82 52 Der angeforderte Nutzkanal existiert auf der Schnittstelle, die diesen Grund liefert, nicht. Dies kann z. B. bei CHI = 26 auf einem PCM 24 Inter- face vorkommen. #83 53 Es wurde versucht, einen Ruf mit einer ungültigen Call ID aus dem geparkten Zustand herauszuho- len. #84 54 Es wurde versucht, beim Übergang ins Parken eine Call ID zu verwenden, die im Bereich des zustän- digen Controllers bereits in Verwendung ist. #85 55 Es wurde versucht, einen Ruf wieder aufzuneh- men, obwohl kein Ruf geparkt worden ist. #86 56 Der Ruf mit der verlangten Call ID wurde bereits wieder ausgelöst. #88 58 Die gerufene Endteilnehmerschnittstelle ist nicht in der Lage, den geforderten LLC oder HLC oder anderen zusätzlichen Attributen zu genügen. #91 5B Ein Transit Netzwerk wurde in einer inkompati- blen Weise angefordert. Tabelle 6.1: Fortsetzung auf der nächsten Seite... 183 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... #95 5F Wenn keine andere der hier genannten Ursachen für eine ungültige Message zutrifft, wird dieser Grund versendet. Gruppe 6, Protokollfehler #96 60 Ein zwingend vorgeschriebenes Informationsele- ment ist nicht vorhanden. #97 61 Ein unbekannter oder nicht implementierter Mes- sage-Type wurde von der auslösenden Einheit empfangen. #98 62 Eine Message wurde empfangen, die im aktuellen Zustand des Rufes nicht zulässig war, oder es wur- de eine STATUS-Message mit einem ungültigen Zustand empfangen. #99 63 Ein Informationselement wurde empfangen, das nicht bekannt oder nicht implementiert ist. Das In- formationselement kann bei einem weiteren Ver- such weggelassen werden, um die gewünschte Funktion zu erreichen. #100 64 Der Inhalt eines Informationselementes ist ungül- tig und kann vom den Grund sendenden Gerät nicht verwendet werden. #101 65 Eine für den aktuellen Zustand des Rufes unzuläs- sige Message wurde empfangen. #102 66 Eine Prozedur zur Wiederherstellung eines stabi- len Zustandes wurde als Reaktion auf das Ablau- fen eines Timers eingeleitet. #111 6F Eine in dieser Gruppe nicht näher spezifizierte Ur- sache ist aufgetreten. Tabelle 6.1: Deutschsprachige ISDN-Causes 6.3 Kabelmodem In einigen europäischen Ländern sowie USA und Kanada ist der Internetzu- gang über das Fernsehkabelnetz weit verbreitet. Hier folgt als Beispiel eine Schritt-für-Schritt-Anleitung, um mit dem österreichischen Telekabel-Dienst ins Internet zu kommen. Diese Anleitung sollte sich auch auf andere Kabe- lanbieter übertragen lassen. 6.3.1 Grundlagen Der Telekabel-Teilnehmer bekommt von der Kabelfirma ein Modem", wel- ches einerseits an das Fernsehkabel, andererseits mittels 10Base-T-Leitung (Twisted-Pair) an eine Netzwerkkarte im Computer angeschlossen wird. Die- 184 6.3. Kabelmodem ses Modem stellt dann für den Computer eine Standleitung dar, meist mit einer fixen IP-Adresse. Vorgehensweise zur Installation 1. Falls Sie Ihre Netzwerkkarte schon eingerichtet haben, fahren Sie bei Punkt 8 fort. 2. Starten Sie als Benutzer `root' das Programm YaST ­ falls Sie in KDE sind: Alt + F2 drücken, dann xterm eingeben. Im neuen Fenster YaST starten. 3. Gehen Sie zu `Administration des Systems', `Hardwa- re in System integrieren', `Netzwerkkarte konfi- gurieren'. 4. Bei `Typ des Netzwerks' geben Sie eth0 an. 5. Bei `Art der Netzwerkkarte' wählen Sie Ihre Karte aus. 6. Bei `Optionen zum Laden des Moduls' geben Sie Parameter wie IO-Port usw. an; zu Kernel Parametern siehe Kapitel 14 auf Seite 361. Achtung, falls Sie eine PCI-Karte haben, brauchen Sie meist keine Para- meter anzugeben. 7. Gehen Sie auf `Weiter'. Kehren Sie in das YaST-Hauptmenü zurück (durch 2-maliges Drücken der Esc -Taste). 8. Gehen Sie zu `Administrieren des Systems', `Netzwerk konfigurieren', `Netzwerk Grundkonfiguration'. 9. Sie befinden sich nun im Fenster `Auswahl des Netzwerks'. 10. Drücken Sie bitte F5 , um das Device ethernet einzustellen (falls es noch nicht unter `Device-Name' dort steht, z. B. eth0). 11. Drücken Sie F3 und wählen Sie `DHCP'. 12. Drücken Sie F4 ,um dieses Device zu aktivieren. 13. Mit F10 wird die Konfiguration gespeichert. 14. Verlassen Sie YaST durch mehrmaliges Drücken der Esc -Taste. 15. Sie können nun durch Eingabe von rcdhclient start Ihren Netz- werkzugang aktivieren. Danach können Sie z. B. mit ping www.suse.de den Zugang testen. Diese Anleitung gilt für Versionen ab SuSE 6.4, sollten Sie jedoch noch SuSE 6.3 im Einsatz haben, dann muss noch ein Schritt durchgeführt werden. Setzen Sie mit YaST die rc.config-Variable auf yes (zum Vorgehen vgl. Abschnitt 3.6.12 auf Seite 114). Dann wird das Netz bei jedem Systemstart freigeschalten, ohne dass Sie explizit einen Befehl ausführen müssen. Eine Alternative wäre es ­ falls IP-Adresse, Netzwerkmaske und Gateway be- kannt und statisch sind ­ eine fixe Netzwerkkonfiguration einzustellen (siehe Abschnitt 5.1 auf Seite 152). Erkundigen Sie sich bei Ihrem Kabelbetreiber, ob Ihre IP-Adresse in Zukunft nicht geändert wird. Der Vorteil einer fixen Konfiguration: Sollte beim Booten der Kabelzugang gestört sein, so läuft der Bootvorgang problemlos weiter und sobald die Netz-Störung behoben ist, können Sie sofort wieder ins Internet. 185 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... 6.4 T-DSL, T-ISDN-DSL, ADSL ... Wenn Sie mit T-ISDN-DSL, ADSL usw. ins Internet wollen, so gibt es für Li- nux bereits Lösungen, die jedoch noch in der Entwicklungsphase sind. Daher geben wir zu diesem Thema keinen direkten Support. In der Supportdatenbank finden Sie jedoch einen Artikel zu diesem Thema, in dem wir jeweils Informationen zu den neuesten Entwicklungen anbieten. Lesen Sie den Artikel unter: http://sdb.suse.de/sdb/de/html/ hoe_adsl_pppoe.html. 6.5 Modemanschluss Der Anschluss eines Modems an den Rechner gestaltet sich genauso wie unter anderen Betriebssystemen auch. Das Modem wird entweder mit einem seri- ellen Kabel mit dem Rechner verbunden, oder (falls es sich um ein internes" Modem handelt) in einen freien Slot des Computers eingebaut. In YaST wird angegeben, an welcher Schnittstelle das Modem angeschlossen wird (siehe Abschnitt 3.6.1 auf Seite 100 und Abschnitt 17.6 auf Seite 447). Ein Link wird von der Device-Datei nach /dev/modem angelegt. Das Modem kann also über /dev/modem angesprochen werden, unabhängig davon, an welche Schnittstelle es angeschlossen wurde ­ wenn der Link richtig gesetzt wurde. Es befinden sich auch sog. WinModems" im Handel. Diese können mo- mentan nicht unter Linux betrieben werden. Siehe dazu auch http:// sdb.suse.de/sdb/de/html/cep_winmodem.html und http: //www.linmodems.org/; zu Modems im Allgemeinen vgl. das Modem-HOWTO.gz. Als normale Terminalprogramme können Sie z. B. minicom oder unter dem X Window System seyon einsetzen. Oder machen Sie die ersten Tests gleich mit wvdial (Abschnitt 6.6). Minicom Minicom ist ein einfach zu bedienendes Terminalprogramm, das in der Be- dienung an das DOS-Programm Telix angelehnt ist. Alle Anwender, die minicom benutzen wollen, müssen vorher in die Datei /etc/minicom.users eingetragen werden. Hier wird festgelegt, wer mit welcher Konfiguration auf welches Modem zugreifen darf. Konfiguriert wird Minicom, indem Sie es als `root' folgendermaßen star- ten: erde:/ # minicom -s Die für den Betrieb erforderlichen Einstellungen sind selbsterklärend. Die Tastenkombination Strg + L arbeitet nicht im xterm oder rxvt, jedoch in kvt und in der Textkonsole. 186 6.6. Mit dem Modem ins Internet: PPP mit wvdial 6.6 Mit dem Modem ins Internet: PPP mit wvdial Das Programm wvdial ist ein leistungsfähiges Tool, um analoge PPP- Verbindungen zu Internetprovidern, im Folgenden ISP (engl. Internet Service Provider) genannt, herzustellen. Da die ISPs oft verschiedene Ein- stellungen im PPP-Protokoll verwenden, ist es manchmal sehr mühsam, die richtigen Optionen herauszufinden. Das erledigt wvdial durch intelligente Algorithmen. In der Vergangenheit war es unter Linux immer erforderlich, bei der Internet- konfiguration auch den Nameserver (DNS ­ Domain Name System) des ISP anzugeben. Das ist mit wvdial nicht mehr nötig; es erkennt automatisch den Nameserver des Providers, sofern er diese Information übermittelt. 6.6.1 Konfiguration von wvdial Sie können wvdial bequem von YaST aus konfigurieren. Sie finden das Menü unter `Administration des Systems', `Netzwerk konfigu- rieren', `PPP-Netzwerk konfigurieren'. Das Menü sehen Sie in Abbildung 6.5. Abbildung 6.5: wvdial: Einstellung der Parameter Gehen Sie folgendermaßen vor: * Stellen Sie sicher, dass Sie in YaST bereits Ihr Modem eingerichtet ha- ben; dies ist entweder bereits während der Erstinstallation geschehen oder kann jetzt nachgeholt werden (wie in Abschnitt 3.6.1 auf Seite 100 ange- deutet). * Wählen Sie nun den Menüpunkt `Konfigurieren Sie Ihren Provider'. * Geben Sie dort Telefonnummer, Benutzerkennung und Passwort an (Ab- bildung 6.6 auf der nächsten Seite). Wird die Verbindung über eine Nebenstellenanlage hergestellt, so tragen Sie bitte nach der Netzkennziffer ( Amtsholung", z. B. 0) ein Komma oder ein w ein: 0, oder 0w . 187 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... Abbildung 6.6: wvdial: Provider konfigurieren Wenn Sie unter dem X Window System arbeiten und Schwierigkeiten ha- ben etwas einzugeben, weil die Pfeil- ( , ) oder Rücklöschtasten ( - ) nicht wunschgemäß reagieren, so sollten Sie YaST zunächst verlas- sen und mit Strg + Alt + F2 - F6 auf eine Textkonsole wechseln, sich als `root' einloggen und dort wieder YaST starten. * Wählen Sie die automatische Nameserver-Konfiguration aus. Falls diese nicht funktioniert, so müssen Sie den Nameserver in YaST wie gewohnt einstellen (vgl. Abschnitt 3.6.3 auf Seite 106). * Wählen Sie Ihr Wählverfahren. Meistens ist es Tonwahl. * Falls Sie an einer Telefonanlage angeschlossen sind, so wählen Sie den Punkt `Modem an Telefonanlage' aus; es wird dann kein Wähl- ton abgewartet. * Unter Einwahlmodus sollte meist `PPP-direkt-PAP/CHAP' funk- tionieren. * Verlassen Sie dieses Untermenü. * Nach der Providerkonfiguration geht es zur Modemerkennung. Einfach den Menüpunkt `Modemerkennung starten' anwählen. * Hat das geklappt, wählen Sie den Punkt `wvdial starten und Provider anwählen'. Sie bekommen dann ein Fenster, in dem Sie diverse Meldungen sehen können. * Wenn Sie die Meldung sehen, dass der PPP-Prozess gestartet wurde, kön- nen Sie das Internet schon benutzen. * Prüfen Sie eventuell, ob eine Verbindung zustande gekommen ist. Dazu öffnen Sie ein weiteres Terminalfenster (in KDE: Alt + F2 und dann xterm eingeben), geben Sie im Terminalfenster ein: erde: # su und dann das `root'-Passwort. Danach geben Sie ein: erde: # tail -f /var/log/messages 188 6.6. Mit dem Modem ins Internet: PPP mit wvdial Jetzt können Sie die Systemmeldungen mitverfolgen. Sobald Sie Zeilen sehen mit "Local IP:" und "Remote IP:" ­ jeweils gefolgt von einer IP-Nummer ­ haben Sie die Gewissheit, dass die Verbindung ins Internet steht. * Beenden Sie den Internetzugang mit Strg + c . * Wenn das alles geklappt hat, können Sie mit einem einfachen Aufruf von wvdial von der Kommandozeile aus den Internetzugang starten und ihn auch mit Strg + c beenden. * Sie können Ihre Konfiguration später auch ohne YaST mit dem Pro- gramm wvdial.lxdialog bzw. als grafisches Programm mit wvdial.tcl än- dern. Dies ist jedoch nur als Benutzer `root' möglich. Dokumentation zu wvdial finden Sie im Verzeichnis /usr/doc/packages/ wvdial. wvdial als Benutzer und die Sicherheit Wenn Sie wollen, dass außer `root' auch normale Benutzer PPP- Verbindungen mit wvdial aufbauen können, so müssen Sie den jeweiligen Benutzer mit YaST in die Gruppen `uucp' und `dialout' eintragen; zum Vorgehen vgl. Abschnitt 3.6.8 auf Seite 111. Diese Benutzer haben dann auch Zugriff auf die Datei /etc/wvdial. conf, die normalerweise auch das Login und das Passwort für den Inter- netzugang enthält. Um die Sicherheit zu erhöhen, können Sie das Passwort in eine geschützte Datei auslagern: 1. Wechseln Sie in der Verzeichnis /etc/ppp und legen Sie als Benutzer `root' die Datei wvpw mit den Rechten 600 an: erde: # cd /etc/ppp erde:/etc/ppp # touch wvpw erde:/etc/ppp # chmod 600 wvpw 2. Laden Sie die Datei wvpw den Editor und tragen Sie dort nur das Passwort ein. Speichern Sie die Datei. 3. Kontrollieren Sie, ob die Rechte der Datei wvpw weiterhin stimmen; ein erde:/etc/ppp # ls -l wvpw sollte Gewissheit schaffen; vgl. Ausgabe 6.6.1. -rw------- 1 root root 7 Jan 18 17:20 wvpw Ausgabe 6.6.1: Ausgabe von ls -l wvpw 4. Wiederholen Sie die Konfiguration, wie in Abschnitt 6.6.1 auf Seite 187 gesagt; geben Sie jedoch als Passwort @/etc/ppp/wvpw an (ja, mit dem vorangestellten Klammeraffen"). So weiß wvdial, dass das Pass- wort dieser Datei zu entnehmen ist. 189 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... Modem piepst immer laut Falls der Modem-Lautsprecher während der Verbindung zu laut ist, können Sie /etc/wvdial.conf editieren und die Zeile Init3 = ATM0 einfügen. Dieser Befehl schaltet den Modem-Lautsprecher ab. 6.6.2 Mehrere Provider mit wvdial wvdial kann eine beliebige Anzahl von Parametersätzen verwalten. Da- zu können Sie in der Datei /etc/wvdial.conf neben dem Abschnitt Dialer Default noch Zusatzabschnitte anlegen. Beim Starten von wvdial mit dem Namen eines solchen zusätzlichen Abschnitts werden dann zuerst die Parameter aus Default" gelesen. Alle Parameter, die in dem genannten Zusatzabschnitt nochmal angegeben sind, überschreiben die vorherigen Werte. Hier ein kleines Beispiel für T-Online und den Call-by-Call-Provider Arcor (Datei 6.6.1). Darin wird die Konfiguration von YaST erstellt. Erweitert wird Datei manuell um die Zeilen in Datei 6.6.2. [Dialer Defaults] Modem = /dev/ttyS0 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 S11=55 +FCLASS=0 Init3 = ATM0 Compuserve = 0 Tonline = 1 Dial Command = ATX3DT Baud = 115200 Auto DNS = 1 Stupid Mode = 0 New PPPD = 1 Phone =0,0191011 Username = ???????? Password = ??????? Datei 6.6.1: /etc/wvdial.conf: Standard-Abschnitt [Dialer arcor] Phone = 010700192070 Username = arcor Password = internet Datei 6.6.2: /etc/wvdial.conf: Zusatz-Abschnitt Wird wvdial ohne Parameter aufgerufen, wird eine Verbindung zu T- Online aufgebaut. Der Aufruf von wvdial arcor baut eine Verbindung zu Arcor auf. Lesen Sie dazu bitte auch die Manual-Page von wvdial (man wvdial). 190 6.6. Mit dem Modem ins Internet: PPP mit wvdial 6.6.3 ISDN-Terminaladapter Diese Geräte ermöglichen den Anschluss an ISDN. Im Gegensatz zu gewöhn- lichen ISDN-Karten, werden Rechner und Terminaladapter über ein serielles Kabel verbunden. Obwohl die Adapter im Prinzip ein analoges Modem simu- lieren, zeigen diese Adapter Besonderheiten; z. B. * benötigen sie spezielle Befehle, um eine Point-to-Point-Verbindung zu ermöglichen und * geben sie in der Voreinstellung erweiterte CONNECT-Meldungen aus. Deshalb muss die Modemkonfiguration angepasst werden: 1. Verwenden Sie nicht die automatische Modemerkennung, die sonst mit YaST, Menüpunkte `Administration des Systems' / `Netz- werk konfigurieren' / `PPP-Netzwerk konfigurieren' / `Modemerkennung starten' durchgeführt wird. 2. Legen Sie Ihre Modemschnittstelle in YaST fest mit dem Menü `Admi- nistration des Systems' / `Hardware in System in- tegrieren' / `Modem konfigurieren'. 3. Loggen Sie sich als `root' ein. 4. Erstellen Sie die Datei /etc/wvdial.conf per Hand; diese Datei wird sonst automatisch generiert. Die Datei sollte den Inhalt wie in Da- tei 6.6.3 haben. [Dialer Defaults] Modem = /dev/modem Baud = 115200 Init1 = Init2 = ; Phone = ; Username = ; Password = Datei 6.6.3: /etc/wvdial.conf: Terminal-Adapter Bei und müssen Sie ­ je nach Gerät ­ die folgenden Werte eintragen: Hersteller ELSA: ELSA MicroLink ISDN/TLpro und ISDN/TLV.34: Init1 = AT&F\N10%P1 Init2 = AT\V0 Hersteller ELSA: ELSA TanGo 1000 und ELSA TanGo 2000: Init1 = AT&F$IBP=HDLCP Init2 entfällt Hersteller Zyxel: Alle Modelle: Init1 = AT&FB40 Init2 = ATXO 191 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... Hersteller Hagenuk: Speed/Viper Dragon: Init1 = ATZ Init2 = AT&FB8X0 Andere Hersteller: Sie können den vom Hersteller angegebenen Init- string" in der Dokumentation des Adapters nachschlagen. Manchmal sind auch Skripten für Unix oder Linux beigefügt, denen dieser String entnommen werden kann. Oder Sie schauen nach, mit welchem Init- string sich der Adapter unter einem anderen Betriebssystem einwählt, z. B. unter MS-Windows. Alle anderen Konfigurationsschritte führen Sie wie im Handbuch Ihres Ad- apters beschrieben durch. Anmerkung: ISDN-TA dürfen nicht mit TK-Anlagen mit eingebauter ISDN- Karte verwechselt werden. Diese sind zwar auch über ein serielles Kabel angeschlossen, verwenden aber ein proprietäres Protokoll über die serielle Schnittstelle und können deshalb nicht unter Linux betrieben werden! Im PC muss ein mitgelieferter CAPI-Treiber installiert werden, der von den Herstel- lern z. Z. nicht für Linux zur Verfügung gestellt wird. Bekannt sind hier die Geräte: * Eumex 404 PC * Eumex 322 PCi * AVM Fritz!XPCDr. * Neuhaus Triccy Data LCR 6.6.4 Konfiguration von PCI-Modems Die IRQ und IO-Adresse der seriellen Schnittstellen sind in Linux auf die Werte voreingestellt, die von ISA-Karten benutzt werden. Diese Werte sind ein Quasi-Standard und sorgen in vielen PCs dafür, dass kein Ressourcen- Konflikt zustande kommt. Die Ressourcen von PCI-Karten werden jedoch vom BIOS beim Booten vergeben und stimmen, wenn man das BIOS alleine entscheiden lässt, nicht mit den traditionellen Werten überein. Gehen Sie deshalb vor der Konfiguration von wvdial folgendermaßen vor: 1. Bestimmen Sie die tatsächlichen Werte, die das BIOS den seriellen Schnittstellen zugeordnet hat, mit dem Befehls scanpci -v. Sie benö- tigen den Interrupt (IRQ) und die IO-Adresse (IO-port). 2. Integrieren Sie das Modem mit YaST über die Punkte `Administra- tion des Systems' / `Hardware in System integrie- ren' / `Modem konfigurieren'. Beachten Sie dabei eine eventuell vorhandene serielle Maus und ande- re serielle Schnittstellen; im Zweifelsfall wählen Sie /dev/ttyS2, um einen Konflikt mit einer zusätzlich eingebauten, herkömmlichen Schnitt- stellenkarte zu vermeiden. 3. Der Befehl setserial kann dazu verwendet werden, die Konfigura- tion der seriellen Schnittstelle zu verändern. Belegt das Modem z. B. den IRQ 5 und die IO-Adresse 0x220, der Kernel erwartet jedoch den Inter- rupt 4 und Port 0x02f8, so kann mit dem Befehl 192 6.6. Mit dem Modem ins Internet: PPP mit wvdial erde: # setserial /dev/ttyS2 irq 5 port 0x220 Abhilfe geschaffen werden. Dieser Befehl muss allerdings fortan bei jedem Booten ausgeführt wer- den. Hier bietet sich ein Eintrag in die Datei /sbin/init.d/boot. local an. ­ Alternativ möglich ist die Anpassung der Datei /sbin/ init.d/serial, im Abschnitt start: run_setserial /dev/ttyS2 irq 5 port 0x220 Nähere Informationen zu setserial findet man in der Manual-Page von setserial (man setserial). 4. Um zu testen, ob die Konfiguration der Schnittstelle erfolgreich war, können Sie wvdialconf /dev/null eingeben. Dabei werden alle ttySx-Schnittstellen geprüft und Ihr Modem sollte erkannt werden. Hinweis: Alternativ zur Konfiguration mit setserial, können Sie die IRQ- Einstellungen im BIOS ändern. Dies ist nur möglich, wenn Ihr BIOS das zulässt und die IO-Adresse nicht geändert werden muss. Stellen Sie dazu fest, in welchem PCI-Slot Ihre Schnittstellenkarte steckt. Im Setup-Programm mancher BIOSe gibt es ein Untermenü, in dem die Einstellungen der PCI-Schnittstellen festgelegt werden. Hier kann jedem Slot ein fester Interrupt (IRQ) zugewiesen werden. Tragen Sie hier den voreingestellten IRQ ein. In den meisten Fällen wird dies IRQ 3 oder IRQ 4 sein. Beim nächsten Start passt sich der tatsächliche IRQ dem voreingestellten an. 6.6.5 Manuelle PPP-Einrichtung für Profis Sollte Ihr Internetzugang mit wvdial aus irgendwelchen Gründen nicht klap- pen, so können Sie hier PPP auch manuell konfigurieren. Geben Sie aber nach Möglichkeit dem Programm wvdial den Vorzug. Einige Beispielkonfigurationen und Skripten befinden sich außerdem im Paket inetcfg, Serie n sowie in Paket ppp_nt und in Paket toppp, Serie doc. Hinweise zu T-Online Der T-Online Benutzername besteht aus der Anschlusskennung (12-stellig), gefolgt von der Telefonnummer des T-Online-Anschlusses mit Vorwahl (DxJ- Nr.) bzw. der T-Online-Nummer und der Mitbenutzernummer (4-stellig). Hat die Telefonnummer weniger als 12 Stellen, muss dahinter ein # angefügt werden. Aliasnamen scheinen nicht zu gehen. ­ Beispiel: Name: 01234567890123456789012#0001 Passwort: das normale T-Online-Passwort Hier noch mal eine Aufstellung der T-Online Server aus unserer Supportda- tenbank; diese Server benötigen Sie eventuell in Ihren Anwenungsprogram- men: 193 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... Nameserver: dns00.btx.dtag.de 194.25.2.129 SMTP-Server: mailto.btx.dtag.de Mails verschicken POP-Server: pop.btx.dtag.de Mails abholen via popclient" NNTP-Server: news.btx.dtag.de Newsserver Falls nötig und/oder möglich, tragen Sie auch die Proxy-Server ein: FTP-Proxy: ftp-proxy.btx.dtag.de FTP-Proxy HTTP-Proxy: www-proxy.btx.dtag.de WWW-Proxy Wais-Proxy: wais-proxy.btx.dtag.de Wais-Proxy Gopher-Proxy: gopher-proxy.btx.dtag.de Gopher-Proxy Der Verbindungsaufbau Der Aufbau einer PPP-Verbindung erfolgt in zwei Schritten. * Zunächst wird die Verbindung zwischen den beiden Modems aufgebaut. Diesen Part übernimmt Programm chat. * Steht die Verbindung, wickelt chat noch das Einloggen beim Server ab und übergibt dann die Kontrolle wieder dem PPP-Daemon. Dieser initiiert anschließend das PPP-Protokoll. Nachdem Sie das Paket inetcfg installiert haben, finden Sie im Verzeich- nis /usr/doc/packages/inetcfg das Skript ppp-up, das Sie ins Ver- zeichnis /etc/ppp kopieren und entsprechend Ihren Gegebenheiten modi- fizieren sollten. Über ppp-up wird dann eine PPP-Verbindung aufgebaut. #!/bin/sh ## /etc/ppp/ppp-up ## Aufbau einer PPP-Verbindung # localip=0.0.0.0 remoteip= device=/dev/modem pppflags="38400 modem debug defaultroute" /usr/sbin/pppd lock connect \ '/usr/sbin/chat -v -f /etc/ppp/ppp.chat' \ $device $pppflags $localip:$remoteip Datei 6.6.4: /etc/ppp/ppp-up Zunächst werden die IP-Adressen des Servers und des Clients gesetzt. Wird für den Client eine IP-Adresse 0.0.0.0 angegeben und die IP-Adresse des 194 6.6. Mit dem Modem ins Internet: PPP mit wvdial Servers freigelassen, so erfragt pppd die beiden Adressen beim Server. Stehen die Adressen im voraus fest oder wird keine dynamische Adresszuweisung gewünscht, so sind hier die entsprechenden IP-Adressen einzutragen. Dann wird das Device angegeben, an dem das Modem angeschlossen ist. Die Flags weisen pppd an, das Modem mit 38400 bps anzusprechen und die PPP- Verbindung als Default Route in die Routing-Tabelle des Kernels einzutragen. pppd kennt noch eine Fülle weiterer Flags und Optionen. Eine detaillierte Beschreibung findet sich in der Manual-Page von pppd (man 8 pppd) und in der Datei /usr/doc/howto/en/PPP-HOWTO.gz. Das gezeigte Beispiel sollte jedoch in den meisten Fällen funktionieren. chat übernimmt dann den Aufbau der Modemverbindung. Die Datei /etc/ ppp/ppp.chat legt fest, wie dieser Vorgang abläuft: TIMEOUT 30 ABORT "NO CARRIER" ABORT BUSY ABORT "NO DIALTONE" ABORT ERROR "" +++ATZ OK ATDT0911123456 CONNECT "" ogin:--ogin: word: Datei 6.6.5: /etc/ppp/ppp.chat Die ABORT-Zeilen legen fest, bei welchen Antworten des Modems der Ver- bindungsaufbau fehlschlug. Mit +++ATZ wird das Modem initialisiert. ATDT0911123456 stellt das Anwählen des Servers dar. Wird dann die Zei- chenkette CONNECT vom Modem empfangen, so startet der Login-Vorgang. Es wird zuerst der Loginname und dann das Passwort an den Server geschickt. Mehr zu chat kann in der Manual-Page von chat (man 8 chat) nachge- lesen werden. Sind die beiden Dateien passend konfiguriert und die Attribute richtig gesetzt, so reicht der Aufruf von ppp-up, um die PPP-Verbindung aufzubauen. Wenn Sie, wie in diesem Kapitel beschrieben, das Anwahlskript ppp-up unter /etc/ppp/ppp-up gespeichert haben, liegt dieses natürlich nicht im Suchpfad, der in der Umgebungsvariablen PATH angegeben ist. Aus diesem Grund müssen Sie beim Aufruf den vollen Pfad angeben: erde:/root # /etc/ppp/ppp-up Vorher sollten Sie das Attribut `x' dieser Datei z. B. mittels erde:/root # chmod 755 /etc/ppp/ppp-up setzen. Abgebaut wird die Verbindung durch Beenden des PPP-Daemonen. Dies kann z. B. durch das Skript /etc/ppp/ppp-down erfolgen: Wichtig ist hier das Hochkomma. Gemeint ist SHIFT + ` . Es handelt sich hierbei um eine Kommandosubstitution, durch die die Ausgabe von cat /var/run/ppp0.pid dem Programm kill übergeben wird. 195 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... #!/bin/sh ## /etc/ppp/ppp-down ## PPP Verbindung kappen # kill `cat /var/run/ppp0.pid` Datei 6.6.6: /etc/ppp/ppp-down Anpassen des Chat-Skripts Das Chat-Skript /etc/ppp/ppp.chat muss selbstverständlich immer an- gepasst werden. Neben dem Loginnamen und dem Passwort ändert sich auch oft die gesamte Login-Sequenz. In manchen Fällen muss sogar auf der Ge- genstelle das PPP-Protokoll durch einen entsprechenden Befehl, z. B. durch ppp default gestartet werden. All dies lässt sich nicht allgemein be- schreiben. Der Loginvorgang ist, falls keine spezielle Authentisierung über PAP, CHAP etc. durchgeführt werden muss, mit einem normalen Terminal-Login ver- gleichbar, nur dass dieser sonst manuelle Vorgang durch das Chat-Skript ab- läuft. Aus diesem Grund kann man folgenderweise vorgehen: * Man lese die Informationen des Service-Providers sorgfältig und frage nach, ob beim Provider vielleicht schon ein entsprechendes Skript exis- tiert. Schicken Sie uns in diesem Fall bitte Feedback, damit wir diese Skripten sammeln und in unserer Distribution verteilen können. Sie kön- nen diese gesammelten Informationen auch direkt über unsere Support- datenbank abrufen: http://sdb.suse.de/sdb/de/html/ * Man lege sich Bleistift und Papier bereit! * Mit einem Terminalprogramm (z. B. Minicom (minicom -s)) wird jetzt die Verbindung manuell durchgeführt; man loggt sich also direkt ein und notiere dabei peinlichst genau, was in welcher Reihenfolge gesendet wird, und welche Eingaben man dabei selbst machen muss. Die meisten Terminalprogramme, so auch minicom, ermöglichen ein automatisches Protokollieren des Textes auf dem Bildschirm. Bei Minicom erreicht man das durch die Tastenkombination Alt + l (mit Alt + z werden alle verfügbaren Tastenkombinationen aufgelistet!). * Dies wird bis zu der Stelle gemacht, an der die Gegenstelle in den PPP- Modus wechselt, was an einer entsprechenden Meldung zu erkennen sein sollte, etwa: "ppp-protocol started" * Die dann bestehende Verbindung wird dann einfach abgebrochen, d. h. aufgelegt (Minicom: Alt + h ) * Terminalprogramm beenden (Minicom Alt + x ) * Mit dem Protokoll kann nun das Chat-Skript entsprechend angepasst wer- den. 196 6.6. Mit dem Modem ins Internet: PPP mit wvdial Ein paar weitere Erklärungen zu chat. In der ersten Sequenz TIMEOUT 30 ABORT "NO CARRIER" ABORT BUSY ABORT "NO DIALTONE" ABORT ERROR wird chat initialisiert. Der TIMEOUT ist individuell abhängig von der Zeitdauer, die für den Ver- bindungsaufbau benötigt wird und muss in einigen Fällen höher gesetzt werden, z. B. auf 60. Mit den ABORT-Befehlen wird angegeben, bei welchen Antworten vom Mo- dem das Skript beendet werden soll. In den folgenden Zeilen wird immer nach folgendem Schema vorgegangen: Der erste Parameter (bis zum ersten Leerzeichen) gibt an, auf was gewartet werden soll. Wird dieser String vom Modem gesendet, wird der Rest der Zeile zurückgesendet. +++ATZ Hier wird auf keinen String gewartet, sondern sofort das Modem initiali- siert. Das hängt davon ab, welches Modem Sie haben und welches Profile gespeichert ist. Normalerweise wird mit ATZ Profile 0 (wie auch direkt nach dem Einschalten) geladen. Hier müssen Sie eventuell etwas anderes eintra- gen. Vergleichen Sie dies ggf. mit Ihrer DOS- bzw. Windows-Software. Falls Ihr Modem absolut nicht das macht, was es eigentlich sollte, kann das daran liegen, dass es völlig verstellt ist. Unter Umständen hilft dann auch kein ATZ mehr. In diesem Fall sollte der Befehl AT&F eingegeben werden (z. B. unter Minicom). Hierdurch wird das Modem in die Werkseinstellung zurückgesetzt. Jetzt wird gewählt und die Login-Sequenz durchgeführt, z. B.: OK ATDT CONNECT "" ogin:--ogin: word: Setzen Sie bitte für Ihre konkrete Installation anstelle von , und die entsprechenden Werte. Beachten Sie, dass in diesem hier z. B. nur nach word: gesucht wird, denn es könnte ja Password:, password: oder auch Spaßword: gesendet werden. Die Zeile ogin:--ogin: sollte flexibel genug sein, denn hier wird, falls der erste String (ogin:) nicht gefunden wird, ein `Return' gesendet und nachfolgend noch einmal auf ogin: gewartet. 197 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... Weitere Infos und Beispiele hierzu finden Sie in der Manual-Page von chat (man 8 chat). Dort finden Sie auch den motivierenden Hinweis: " In actual practice, simple scripts are rare. " Das gesamte Chat-Skript darf keine Leerzeile, keine Leerzeichen am Zei- lenanfang und keine Kommentare enthalten. Testen Sie nun die Verbindung mit dem Befehl /etc/ppp/ppp-up. Die Fehlermeldungen, die z. B. vom Chat-Skript erzeugt werden, sind nicht auf dem Bildschirm lesbar, sondern werden in der Datei /var/log/ messages protokolliert. Sie können auf einer zweiten Konsole durch Ein- gabe von erde:/ # tail -f /var/log/messages ein Protokoll derselben Datei nebenherlaufen lassen. Dann sieht man immer sofort, wenn es wichtige Meldungen zu beachten gibt. 6.7 Masquerading und Firewall ­ Freunde und Freunde" Viele SuSE Linux-Anwender betreiben Ihren Rechner als Einwahlrechner zum Internet oder auch als Router für einen Standleitungszugang; dabei wer- den im lokalen Netz oftmals private IP-Adressen verwendet werden ­ diese können also nicht direkt auf das Internet zugreifen. Um einen solchen Zugang für das interne Netz zu ermöglichen, gibt es die Möglichkeit des Masquera- ding". Installieren Sie dafür das Paket firewals aus der Serie sec. Dieses Paket enthält ein Skript für Masquerading und Firewall. Beides wird von der Konfigurationsdatei /etc/rc.firewall aus gesteuert. Es ist zweckmä- ßig, auch gleich einen Firewall mit einzurichten, damit das System gegen Angriffe von außen besser geschützt ist. Lesen Sie dazu unbedingt die Doku- mentation in /usr/doc/packages/firewals. Es gibt keine Gewähr, dass die hier vorgestellten Verfahren wirklich funk- tionieren. Wenn also Cracker in Ihr System eindringen, obwohl Sie alles richtig gemacht haben, machen Sie die Buchautoren bitte nicht verantwort- lich. Aber für Kritik und Anregungen ist feedback@suse.de jederzeit dank- bar. Und wenn es was zu verbessern gibt, wird es gewiß getan werden! 6.7.1 Grundlagen des Masquerading Für Masquerading braucht man zwei verschiedene Netzwerkdevices. Zumin- dest eines davon ist eine Ethernet-Netzwerkkarte, an der das innere (interne) Netz angeschlossen ist. Dieses Netz soll als Netzwerkadresse einen priva- ten Adressraum verwenden, der dafür vorgesehen ist, z. B. 192.168.0.0 bis 192.168.255.255. Wir gehen in dem Konfigurationsbeispiel da- von aus, dass der Router (den wir hier konfigurieren) auf dieser ins interne Netz zeigenden Netzwerkkarte die Adresse 192.168.0.1 eingestellt be- kommt. Die Rechner des internen Netzes haben dann z. B. die IP-Adressen 192.168.0.2, 192.168.0.3 usw. 198 6.7. Masquerading und Firewall ­ Freunde und Freunde" Das äußere Netzwerkdevice ist z. B. die ISDN-Karte, die für den Inter- netzugang verwendet wird, oder eine Standleitung, die an eine Ethernet- Netzwerkkarte angeschlossen ist. In unserem Beispiel nehmen wir dies an. Die Konfiguration ist weiter unten erklärt. 6.7.2 Grundlagen des Firewall Genaugenommen ist in dem Paket firewals kein Firewall", sondern ein Paketfilter" enthalten. Ein Paketfilter-Firewall schützt das Netz gegen Zu- griffe auf IP-Adressen und Ports, die man nicht ausdrücklich freigegeben hat. Ist Ihr Rechner jedoch Webserver und Sie geben den Port 80 für diesen Rech- ner frei ­ das müssen Sie auch, damit von aussen auf den Web-Server zu- gegriffen werden kann ­, so ist dieser Rechner natürlich gegen Angriffe auf diesen Port nicht geschützt. Dieser Paketfilter-Firewall soll und kann keinen Firewall auf Applikationsebene ersetzen; ein solcher Firewall sollte von ei- nem professionellen Dienstleister eingerichtet werden. Es ist jedoch der Si- cherheit des Systems sehr zuträglich, für den Heimgebrauch diesen Firewall einzusetzen. 6.7.3 Konfiguration Masquerading und/oder Firewall Dokumentation zum SuSE-Firewall finden Sie unter /usr/doc/packages/ firewall ­ theoretische Überlegungen dazu in Kapitel 18.1 auf Sei- te 459 ff. Die gesamte Konfiguration erfolgt in /etc/rc.firewall und ist in Eng- lisch erklärt. Hier folgt eine Schritt-für-Schritt-Anleitung für die erfolgreiche Konfiguration. Es ist bei jedem Punkt angeführt, ob er für Masquerading oder Firewall gilt. In der Konfigurationsdatei ist auch von einer DMZ ( Demili- tarisierte Zone") die Rede, auf die an dieser Stelle nicht näher eingegangen wird. Falls Sie wirklich nicht mehr als Masquerading brauchen, füllen Sie nur die mit Masquerading bezeichneten Zeilen aus. * FW_START (Firewall, Masquerading): Auf yes setzen, damit das Skript gestartet wird; so wird Firewall und/oder Masquerading ermöglicht. * FW_DEV_WORLD (Firewall, Masquerading): Zum Beispiel eth0. Dies ist das Device, das hinaus ins Internet zeigt. Bei ISDN ist es z. B. ippp0. * FW_DEV_INT (Firewall, Masquerading): Das Device, welches ins inne- re, private", Netz zeigt. Falls kein inneres Netz vorhanden ist, ­ z. B. der Firewall schützt nur diesen Rechner ­, einfach leer lassen. * FW_ROUTE (Firewall, Masquerading): Wenn Sie Masquerading brau- chen, müssen Sie hier yes eintragen. Bei einem Firewall ohne Mas- querading nur dann, wenn man von außen Zugang zum internen Netz haben will. Das funktioniert aber nur, wenn die internen Rechner offi- ziell zugewiesene IP-Adressen haben. Im Normalfall sollten Sie den Zu- gang von außen auf die internen Rechner nicht erlauben! Wenn Sie yes wegen des Masquerading eintragen, so sind Ihre internen Rechner trotz- dem nicht von aussen sichtbar, da diese ja private Netzwerkadressen (z. B. 192.168.x.x) haben und daher im Internet gar nicht geroutet werden. 199 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... * FW_MASQUERADE (Masquerading): Wenn Sie Masquerading brauchen, müssen Sie hier yes eintragen. Beachten Sie, dass es sicherer ist, wenn die Rechner des internen Netzes über Proxy-Server auf das Internet zu- greifen. * FW_MASQ_NETS (Masquerading): Tragen Sie hier die Rechner und/oder Netzwerke ein, für die Masquerading gemacht werden soll. Trennen Sie die einzelnen Einträge durch Leerzeichen. ­ Beispiel: FW_MASQ_NETS="192.168.0.0/24 192.168.10.1" * FW_PROTECT_FROM_INTERNAL (Firewall): Tragen Sie hier yes ein, wenn Sie den Firewall-Rechner auch durch Angriffe vom in- neren Netz schützen wollen. Dann müssen Sie die Services, die für das innere Netz verfügbar sind, explizit freigeben. Siehe auch FW_SERVICES_INTERNAL_TCP und FW_SERVICES_INTERNAL_UDP. * FW_AUTOPROTECT_GLOBAL_SERVICES (Firewall): Im Normalfall auf yes lassen. * FW_SERVICES_EXTERNAL_TCP (Firewall): Tragen Sie hier die Ser- vices ein, auf die zugegriffen werden soll; z. B. "www smtp ftp domain 443" ­ für den Rechner zu Hause, der keine Dienste anbieten soll, tragen Sie meist nichts ein. * FW_SERVICES_EXTERNAL_UDP (Firewall): Wenn Sie nicht gerade einen Nameserver betreiben, auf den von außen zugegriffen werden soll, lassen Sie dieses Feld leer. Ansonsten fügen Sie hier die benötigten Ports ein. * FW_SERVICES_INTERNAL_TCP (Firewall): Hier werden die für das innere Netz zur Verfügung stehenden Dienste deklariert. Die Angaben sind analog zu denen unter FW_SERVICES_EXTERNAL_TCP, beziehen sich hier aber auf das interne Netz. * FW_SERVICES_INTERNAL_UDP (Firewall): Siehe zuvor. * FW_TRUSTED_NETS (Firewall): Hier tragen Sie die Rechner ein, denen Sie wirklich vertrauen können ( Trusted Hosts"). Beachten Sie zudem, dass auch diese Rechner vor Eindringlingen geschützt sein müssen. Bei- spiel: "172.20.0.0/16 172.30.4.2" bedeutet, dass alle Rechner, deren IP-Adresse mit 172.20.x.x beginnt, sowie der Rechner mit der IP-Adresse 172.30.4.2 durch den Firewall hindurch können. * FW_SERVICES_TRUSTED_TCP (Firewall): Hier können Sie die TCP- Portadressen festlegen, die von den Trusted Hosts" benutzt werden kön- nen. Geben Sie z. B. 1:65535 ein, wenn die vertrauenswürdigen Rech- ner auf alle Services zugreifen dürfen. Normalerweise sollte es reichen, wenn man hier als Service ssh eingibt. * FW_SERVICES_TRUSTED_UDP (Firewall): Wie oben, nur auf UDP be- zogen. * FW_ALLOW_INCOMING_HIGHPORTS_TCP (Firewall): Wenn Sie mit normalem (aktivem) FTP arbeiten wollen, so tragen Sie hier ftp-data ein. * FW_ALLOW_INCOMING_HIGHPORTS_UDP (Firewall): Tragen Sie hier dns ein, damit Sie die in /etc/resolv.conf eingetragenen 200 6.8. Schreib mal wieder ­ zur Sendmail-Konfiguration Nameserver verwenden können. Mit yes geben Sie alle hohen Portnum- mern frei. * FW_SERVICE_DNS (Firewall): Falls bei Ihnen ein Nameserver läuft, auf den von außen zugegriffen werden soll, tragen Sie hier yes ein; zugleich muss in FW_TCP_SERVICES_* der Port 53 freigeschaltet sein. * FW_SERVICE_DHCLIENT (Firewall): Wenn Sie dhclient benützen, um Ihre IP-Adresse zu beziehen, so müssen Sie hier yes eintragen. * FW_LOG_*: Stellen Sie hier ein, was Sie mitloggen wollen. Für den lau- fenden Betrieb reicht yes bei FW_LOG_DENY_CRIT. * FW_STOP_KEEP_ROUTING_STATE (Firewall): Falls Sie automatisch per diald oder über ISDN (dial on demand) ins Internet gehen, so tragen Sie hier yes ein. Das war's. Vergessen Sie nicht, den Firewall zu testen (z. B. telnet von au- ßen); Sie sollten dann in /var/log/messages in etwa folgende Einträge sehen: Feb 7 01:54:14 www kernel: Packet log: input DENY eth0 PROTO=6 129.27.43.9:1427 195.58.178.210:23 L=60 S=0x00 I=36981 F=0x4000 T=59 SYN (#119) 6.8 Schreib mal wieder ­ zur Sendmail-Konfiguration Ist der Anschluss an die weite Welt erst einmal hergestellt ­ sei es über UUCP, PPP oder ISDN ­ so soll dieser natürlich auch genutzt werden. Eine typische Anwendung hierfür ist E-Mail , elektronische Post. Dieser Abschnitt be- schreibt die Konfiguration des Paketes sendmail3. Bei der Zustellung von E-Mail-Nachrichten entscheidet sendmail, wie die Nachrichten weiter transportiert werden sollen: über ein TCP/IP-Netzwerk mit dem Protokoll SMTP, in den lokalen E-Mail-Folder eines Benutzers oder über andere Transferprogramme wie UUCP. Die Hauptkonfigurationsdatei von sendmail ist /etc/sendmail.cf. Für eine einfache Konfiguration kann man mit YaST ein paar Parame- ter setzen und damit eine gültige /etc/sendmail.cf erstellen lassen; die Eintragungen stehen dann in der /etc/rc.config.d/sendmail. rc.config und SuSEconfig schreibt anhand dieser Eintragungen unter Verwendung von /sbin/conf.d/SuSEconfig.sendmail die Datei /etc/sendmail.cf. Da die Konfigurationsdateien des sendmail-Paketes sehr komplex sind, bein- haltet SuSE Linux zwei vorbereitete Konfigurationen, die die in der Regel vorkommenden Fälle weitgehend abdecken: Wenn sendmail innerhalb eines TCP/IP-Netzwerkes verwendet werden soll, sollte man unbedingt einen gültigen DNS-Server besitzen. Dort sollte man für jeden Namen einen Extra-Eintrag ( MX record", mail exchange record") für E-Mail machen. Die aktuellen Einstellungen kann man mit dem host-Befehl (aus dem Paket bind) überprüfen: 3 Eine Alternative zu sendmail ist postfix oder qmail ­ auf beide Pakete soll hier aber nicht eingegangen werden. 201 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... erde: # host sonne.kosmos.all sonne.kosmos.all address 192.168.0.1 sonne.kosmos.all mail is handled (pri=10) by son- ne.kosmos.all sonne.kosmos.all mail is handled (pri=100) by mail- relay.kosmos.all Falls da kein Eintrag für Mail existiert, sollte man seinen DNS-Administrator um Hilfe bitten. Folgende Parameter für eine E-Mail-Konfiguration können über YaST in der /etc/rc.config.d/sendmail.rc.config (vgl. Abschnitt 17.6 auf Seite 445 sowie z. Z. die Datei /etc/mail/README.linux) eingestellt werden: * SENDMAIL_TYPE="yes" Diese Variable muss auf yes stehen, wenn die sendmail-Konfigu- rationsdatei aus den in der /etc/rc.config.d/sendmail. rc.config gesetzten Werten gebildet werden soll. Wenn man die /etc/sendmail.cf selbst herstellen möchte, dann ist no der richtige Wert. * SENDMAIL_LOCALHOST=\ "localhost sonne.kosmos.all www.kosmos.all" sendmail muss wissen, welche E-Mail lokal abgespeichert und welche weiter an einen anderen Zielrechner verschickt werden muss. Nur E-Mail an den lokalen Hostnamen wird per default als lokale E-Mail abgespei- chert. Mit SENDMAIL_LOCALHOST kann man weitere Rechner-Namen ­ durch Leerzeichen getrennt ­ angeben, die auch als lokal angesehen werden sollen. Beispiel: Der Rechner heißt sonne.kosmos.all und ist zugleich WWW-Server für www.kosmos.all. Damit E-Mail an www.kosmos.all auch akzeptiert wird, muss man folgendes eintragen: SENDMAIL_LOCALHOST="localhost www.kosmos.all" * FROM_HEADER=kosmos.all Als Absenderadresse wird normalerweise einfach der lokale Rechnerna- me verwendet. Dies kann mit diesem Parameter auf einen beliebigen an- deren Namen verändert werden. Beispiel: Der Rechner heißt erde.kosmos.all, E-Mail soll aber in der Form tux@kosmos.all verschickt werden (also ohne Rechnernamen). Das geht über den Eintrag: FROM_HEADER=kosmos.all. * SENDMAIL_SMARTHOST=mail-server.provider.de Für alle nicht-lokale E-Mail fragt sendmail nach den DNS-Daten und will dann die E-Mail über das SMTP-Protokoll an den zuständigen Rechner schicken. Dieser Rechner kann irgendwo im Internet sein und hat u. U. nur eine langsame Verbindung zu unserem Rechner. Über diesen Parameter kann man daher einen Zwischenrechner angeben, der alle nicht-lokale E- Mail bekommt und diese dann weiter an den Zielrechner abliefert. Beispiel 1: Damit kann man auch bei einer Dialup-Verbindung alle E-Mail beim Provider abgeben, der dann für die Auslieferung in die weite Welt 202 6.8. Schreib mal wieder ­ zur Sendmail-Konfiguration des Internet zuständig ist: SENDMAIL_SMARTHOST=smtp:mail-server.provider.de. Beispiel 2: Ist man über UUCP angeschlossen, kann man alle nicht-lokale E-Mail an den UUCP-Server weitergeben: SENDMAIL_SMARTHOST=uucp-dom:uucp.kosmos.all. * SENDMAIL_NOCANONIFY=no sendmail schaut alle E-Mail-Adressen im Mail-Header nach und ersetzt die Namen mit den Fully Qualified Domain Names" (FQDN). Falls man beim E-Mail-Schreiben immer den vollständigen E-Mail-Namen angibt und vielleicht wegen einer Dialup-Verbindung nicht immer einen DNS- Server erreichbar hat, kann man das mit yes abschalten. * SENDMAIL_ARGS="-bd -q30m -om" Mit diesen Parametern wird sendmail beim Booten des Rechners gestar- tet. Mit -q30m schaut sendmail alle 30 Minuten nach, ob im Queue-Ver- zeichnis /var/spool/mqueue noch E-Mail liegt, die ausgeliefert werden muss. -bd startet sendmail im daemon mode", damit wird E-Mail über das TCP/IP-Netzwerk von anderen Rechnern akzeptiert. Für Dialup-Verbindungen könnte man z. B. -q30m weglassen und E-Mail nur über einen direkten Aufruf von sendmail -q ausliefern; diesen Aufruf könnte man z. B. über einen crontab-Eintrag einmal pro Tag tätigen. Eine andere Möglichkeit wäre es, sendmail -q noch in den Skripten zum Verbindungsaufbau unterzubringen. Dann wird bei jedem Verbindungsaufbau zusätzlich noch E-Mail übertragen. * SENDMAIL_EXPENSIVE=no sendmail versucht sofort eine E-Mail über SMTP an den nächsten Rech- ner weiterzugeben. Falls man nur zeitweise eine Verbindung zum Internet hat ( Dial-On-Demand"), möchte man u. U. nicht für jede E-Mail eine Verbindung zum Provider starten. Mit yes wird alle E-Mail zunächst im Queue-Verzeichnis /var/ spool/mqueue gehalten und nicht sofort weitergeschickt. Alle lokale E-Mail wird über das Programm procmail in die lokalen E- Mail-Folder /var/spool/mail/ abgespeichert. Bitte lesen sie die Manual-Page von procmailrc (man procmailrc) und die Manual- Page von procmailex (man procmailex) sowie die Manual-Page von procmail (man procmail) für eine genaue Beschreibung dieses sehr flexiblen Programms. Falls E-Mail nicht an den nächsten Rechner weitergegeben werden kann, wird sie in dem Queue-Verzeichnis /var/spool/mqueue gespeichert und beim nächsten Queue-Run" von sendmail nochmal übertragen. Das Zeitintervall der Queue-Runs" wird beim Starten von sendmail angegeben oder das Übertragen der Nachrichten wird explizit durch den Aufruf von sendmail -q gestartet. Weitere Einstellungen von sendmail kann man in den Dateien /etc/ aliases und einigen Dateien im Verzeichnis /etc/mail/ vornehmen. In den Dateien stehen auskommentierte Beispiele. Einige der Dateien müs- 203 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... sen von den Textdateien mit dem Programm makemap in Datenbankdateien übersetzt werden. Das geschieht automatisch beim Aufruf von SuSEconfig oder beim Verlassen von YaST. Für komplexere Konfigurationen sollte man die automatische Generierung von /etc/sendmail.cf durch SENDMAIL_TYPE=no abstellen und dann /etc/mail/linux.mc als Vorlage für eine eigene Konfiguration nehmen. linux.mc enthält m4-Anweisungen und erde: # m4 /etc/mail/linux.mc > /etc/sendmail.cf erstellt über die Makros im Verzeichnis /usr/share/sendmail eine gül- tige sendmail-Konfiguration. Weitere Dokumentation ist in den Verzeichnissen /etc/mail, /usr/ share/sendmail und /usr/doc/packages/sendmail zu finden. Als Startadresse für WWW sollte man bei http://www.sendmail. org/ anfangen. Für komplexere Aufgaben kommt man sicher nicht um das Sendmail-Buch aus dem O'Reilly-Verlag herum4, das eine sehr gute und ausführliche Dokumentation zur sendmail-Konfiguration bietet. 6.9 News: Die neuesten Meldungen des USENET Einer der wichtigsten Dienste, die das Internet zur Verfügung stellt, ist das Übermitteln und Verteilen von Nachrichten, die in verschiedenen Gruppen (engl. Newsgroups) organisiert sind; dieser Teil des Internet wird als das USE- NET bezeichnet. Erst durch die Existenz dieses Mediums war die Entwick- lung von Linux überhaupt möglich, und nur durch diese ungehinderte, hoch- effiziente Art der Kommunikation ist die rapide Weiterentwicklung sowie das schnelle Entfernen von Fehlern aus dem System möglich5. Weiterhin ist das USENET ein wichtiges Medium, wenn es um die gegenseitige Unterstützung der Linux-Anwender untereinander geht. Da eine komplette Beschreibung eines Newssystems mit all seinen vielfälti- gen Möglichkeiten (wie das Weiterreichen an andere Rechner) den Rahmen dieses Buches bei weitem sprengen würde, soll hier nur die Konfiguration eines lokalen Newssystems beschrieben werden. Größere Systeme sollten auf Paket inn, Serie n zurückgreifen; Hinweise zur INN-Installation liegen unter /usr/doc/packages/inn; der INN ist auch für UUCP-Systeme zu bevorzugen. ­ Für die Einrichtung des INN kann kein Installationssupport in Anspruch genommen werden (vgl. Abschnitt H.1.2 auf Seite 548); wir sind aber gern bereit, im Rahmen der kostenpflichtigen Professional Services zu helfen (vgl. Abschnitt H.3 auf Seite 551). 6.9.1 Das News-System Leafnode Das Paket leafnode ist ein bestens geeignetes News-System für klei- nere Netze oder Einzelplatz-Rechner mit einer einfachen, nicht unbedingt 4 Vgl. [CAR93]. 5 Es soll nicht verschwiegen werden, dass diese Funktion mittlerweile in vielen Bereichen von Mailinglisten" übernommen wurde. 204 6.9. News: Die neuesten Meldungen des USENET schnellen Verbindung ins Internet. Das Paket besteht aus mehreren Tei- len: dem eigentlichen NNTP-Server leafnode, dem Programm fetchnews (früher: fetch) zum Holen der Nachrichten und dem Programm tex- pire zum Löschen der alten bzw. nicht mehr interessierenden Nachrich- ten; als Add-Ons gibt es Tools zum Verwalten des Datenbestands unter /var/spool/news. Dokumentation zu all diesen Komponenten finden Sie unter /usr/doc/packages/leafnode sowie in Manual-Page von leafnode (man 8 leafnode) und den dort genannten Manpages. Bitte beachten Sie die Update-Hinweise in Abschnitt 15.2.8 auf Seite 408. Voraussetzung für den Einsatz von Leafnode * Einen externen NNTP-Server müssen Sie über Modem (PPP), eine ISDN- Verbindung oder eine andere Netzverbindung (z. B. Ethernet) direkt er- reichen können; von einem solchen NNTP-Server können Sie dann die News" beziehen. Fragen Sie bei Ungewissheit Ihren Internet Service Provider" ( ISP) nach den Daten des zu benutzenden NNTP-Servers. * Das Paket leafnode, Serie n muss installiert sein. * Plattenplatz unter /var/spool/news ;-) * Die im Folgenden genannten Konfigurationsschritte müssen durchgeführt werden. Lokaler NNTP-Server Zunächst ist sicherzustellen, dass Leafnode als lokaler NNTP-Server läuft. 1. In der Datei /etc/rc.config die Variable auf den Wert localhost setzen. Freilich können Sie auch den richtigen" Namen Ihres Linux-Rechners anstelle von localhost verwenden (z. B. erde), wenn Sie Ihren Rechner entsprechend konfiguriert haben; in ver- netzten Umgebungen ist dies zwingend erforderlich! ­ Das Setzen der Variablen erledigen Sie am sichersten mit YaST (vgl. zum Vorgehen Abschnitt 3.6.12 auf Seite 114); denn YaST ruft nach dem Verlassen der Maske mit F10 das Skript SuSEconfig automatisch auf. 2. In der Datei /etc/leafnode/config mit einem Editor notwen- dige bzw. gewünschte Anpassungen vornehmen. Dort muss unbedingt der Name des NNTP-Servers Ihres Providers eingetragen werden (bei server =). 3. Treffen Sie Vorkehrungen, damit leafnode vom inetd gestartet wird. Schalten Sie zu diesem Zweck den nntp-Eintrag in /etc/inetd. conf durch Entfernen des Kommentarzeichens (`#', alles in einer Zeile bitte!) frei; vgl. Datei 6.9.1. 4. Starten Sie den inetd von Hand erneut, damit diese Konfiguration zum Tragen kommt; dazu kann der Befehl rcinetd restart verwendet werden. Nun ist lokal alles vorbereitet, damit zum ersten Mal Kontakt zum Newsser- ver des Providers aufgenommen werden kann. 205 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... nntp stream tcp nowait news /usr/sbin/tcpd /usr/sbin/leafnode Datei 6.9.1: inetd-Eintrag für leafnode Mit telnet localhost 119 können Sie überprüfen, ob leafnode sich meldet; falls ja, geben Sie quit ein, um wieder zur Kommandozeile zurückzukommen. Das Newssystem initialisieren und betreiben Nun kann das System initialisiert werden. Falls noch nicht geschehen, stellen Sie eine IP-Verbindung zu Ihrem ISP nun her (in der Regel per Modem oder ISDN). Bei der ersten Kontaktaufnahme mittels fetchnews werden vom ent- fernten Newsserver die Informationen zu den verfügbaren Newsgroups geholt und unter /var/spool/news/interesting.groups abgelegt; wenn Sie im Detail verfolgen wollen, was fetchnews tut, verwenden Sie die Op- tion -vvv: erde:~ # fetchnews -vvv Jetzt sind noch keine Artikel verfügbar ­ gleichwohl muss man nun einen NNTP-fähigen Newsreader aufrufen und in die (noch leeren) Gruppen ein- mal hineinschauen (vgl. Abschnitt 6.9.1 auf der nächsten Seite). leafnode registriert dies; beim nächsten fetchnews-Aufruf werden genau diese an- gewählten Gruppen mit Nachrichten gefüllt werden. Wenn nicht jedes Mal beim Online-Gehen" der fetchnews-Aufruf von Hand eingegeben werden soll, dann nehmen Sie ihn z. B. in Ihr /etc/ppp/ ip-up-Skript auf. Das Newssystem verwalten leafnode wurde nach dem Prinzip entworfen, dass es sich weitgehend selbst verwalten soll. Dies bedeutet, wenn bestimmte Newsgruppen von keinem Benutzer mehr gelesen werden, dann werden diese nach einer vorgegebenen Frist nicht mehr von fetchnews geholt werden. Man hat im Grunde nur dafür zu sorgen, dass alte Artikel entfernt werden; diese Aufgabe erledigt texpire; in /etc/crontab ist ein passender Ein- trag bereits vorgesehen ­ entfernen Sie das Kommentarzeichen `#', wie in Datei 6.9.2 gezeigt (alles in einer Zeile bitte!). 0 22 * * * root test -x /usr/sbin/texpire && /usr/sbin/texpire Datei 6.9.2: Expire-Eintrag für leafnode in /etc/crontab Erklärungen zu Einstellmöglichkeiten, die über die Datei /etc/leafnode/ config vorgenommen werden können, finden Sie ­ wie bereits gesagt ­ in Manual-Page von leafnode (man leafnode). 206 6.10. Linux macht Faxen Lesen der News Für das Lesen der News stehen verschiedene Programme zur Verfügung, wie z. B. nn, tin oder pine; auch Netscape oder der Emacs können zum Newsle- sen verwendet werden. Die Wahl des Newsreaders ist oftmals eine reine Frage des persönlichen Geschmackes. Die Newsreader können sowohl für den Zu- griff auf einen Newsserver ­ wie in einem Netzwerk üblich ­ als auch für den Zugriff auf das lokale Spoolverzeichnis konfiguriert werden. Entsprechend vorkonfigurierte Pakete finden sich in der Serie n von SuSE Linux. Wenn Sie mit tin auf den leafnode-NNTP-Server zugreifen wollen (vgl. Ab- schnitt 6.9.1 auf Seite 204 ff.), dann rufen Sie diesen Newsreader mit dem Kommando rtin auf. 6.10 Linux macht Faxen Um einen Linux-PC als Faxmaschine zu nutzen, hat man zwei Möglichkeiten: * Man benutzt mgetty in Kombination mit sendfax und z. B. die Tools aus dem Paket g3utils, * oder man benutzt den Faxserver HylaFAX z. B. in Kombination mit Su- SEFax, dem neuen Fax-Frontend von SuSE, das komplett in Java ge- schrieben wurde. Ab SuSE Linux 6.3 ist das Paket mgetty in drei Pakete aufgeteilt, in das Paket mgetty, das Paket g3utils und das Paket sendfax; ein Grund dafür ist, dass das Paket hylafax ein paar Kommandos beinhaltet, die den selben Namen haben, wie Kommandos aus dem Paket sendfax. In den folgenden zwei Abschnitten wird beschrieben, wie man SuSEFax und HylaFAX unter SuSE Linux konfiguriert und benutzt. 6.10.1 SuSEFax ­ Ein Client für HylaFAX Wie schon erwähnt, ist SuSEFax in Java geschrieben. Das bedeutet, dass das Java Developers Kit" in Kombination mit dem Paket susefax installiert werden muss. Wenn man SuSEFax auf einer anderen Plattform benutzen möchte, so installiert man am Besten das Paket susefax und kopiert alle Dateien, die unter /usr/lib/SuSEFax zu finden sind. Der Wrapper SuSEFax wird über ein kleines Skript gestartet. Bei diesem Skript handelt es sich um einen so genannten Wrapper", der den Java-Interpreter mit den erforderlichen Parametern aufruft und überprüft, ob gewisse Bedingungen erfüllt sind. Dieses Skript findet man unter /usr/X11/bin/susefax. SuSEFax lässt sich durch systemunabhängige Environment Parameter, den System Properties, voreinstellen. Tabelle 6.2 zeigt die dem Programm be- kannten Properties, ihre Bedeutung und die internen Standardwerte, die benutzt werden, falls diese Parameter dem Interpreter nicht übergeben wer- den. Bis auf den Parameter susefax.images ist es i. Allg. wenig sinnvoll, 207 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... diese Parameter anzugeben, wenn das Programm auf einem Betriebssystem mit der Fähigkeit der Verwaltung unterschiedlicher Benutzer läuft. Gemeint sind Systeme, auf denen es möglich ist, einem bestimmten Benutzer ein be- stimmtes Homeverzeichnis zuzuordnen (alle UNIX-Systeme und Windows NT, nicht OS/2). Auf Systemen, bei denen das nicht möglich ist, sollten die Werte für susefax.setup.path, susefax.setup.file und su- sefax.phonebook.file gesetzt werden, da das Programm ansonsten evtl. nicht funktioniert. Getestet wurde es allerdings bislang nicht. Property Default Wert Bedeutung susefax.setup.path $HOME Pfad auf das Verzeichnis, in dem die Konfigurations- datei und die Telefonbuch- Datenbank abgelegt werden soll susefax.setup.file .susefaxrc Name, unter dem die Kon- figurationsdatei gespeichert wird susefax.phonebook.file .susephone Name, unter dem die Telefonbuch-Datenbank gespeichert werden soll susefax.images ./images Pfad auf das Verzeichnis, in dem die für die Dialoge be- nötigten Bilder liegen Tabelle 6.2: Die System Properties von SuSEFax Wenn einer oder mehrere dieser Parameter geändert werden sollen, müssen lediglich die entsprechenden Kommentarzeichen hinter den Variablennamen entfernt werden (siehe Datei 6.10.1 auf der nächsten Seite). # if you want to store the settings other than # $HOME/.susefaxrc, then you may place ano- ther path and/or # filename here SETUPDIR= # -Dsusefax.setup.path=/wo/auch/immer SETUPFILE= # -Dsusefax.setup.file=/was/auch/immer # even the phonebook can be renamed to whatever PHONEBOOK= # -Dsusefax.phonebook.file=wieauchimmer Datei 6.10.1: Ausschnitt des Wrappers: /usr/X11/bin/susefax Bedienung Die Abbildung 6.7 zeigt die Erscheinungsart des Hauptfensters, nachdem der Button `Sende Queue' aktiviert und mittels des Buttons `Hole Sta- 208 6.10. Linux macht Faxen Abbildung 6.7: Sende Queue tus' Informationen über die Jobs geholt wurden, die sich gerade in der Sende-Queue befinden, d. h. Faxe, die innerhalb der letzten Minuten abgesen- det wurden. Wenn der Button `Empfangs Queue' aktiviert wurde, wer- den die Faxe aufgelistet, die innerhalb der letzten Tage empfangen wurden. Wenn man den Button `Automatische Aktualisierung' anwählt, wird in Abständen, die man in dem darunterliegenden Feld eingeben kann ­ das eingegebene Intervall wird mittels bestätigt ­, der Status des Servers aktualisiert. Je nach aktiviertem Button `Empfangs Queue' oder `Sen- de Queue', wird rechts neben der Jobliste angezeigt, was ein Doppelklick auf einen Listeneintrag zur Folge hat. Im Modus `Sende Queue' kann man außerdem entscheiden, ob ein Doppelklick das Löschen eines sich gera- de in der Queue befindlichen Jobs zur Folge hat, oder ob man dessen Parame- ter ändern will. Über das Menü `Extras' lässt sich die bevorzugte Sprache wählen (deutsch oder englisch). Zuerst die Einstellungen Bevor überhaupt irgendwelche Informationen über den Server geholt, bzw. Aktionen ausgeführt werden können, muss das Programm konfiguriert werden. Das geschieht über den Menüpunkt `Einstellungen' im `Programm'-Menü. Sämtliche Einstellungen werden beim Verlassen ir- 209 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... gendeines Einstellungsdialoges gespeichert. Ebenso bewirkt das Verlassen des Programms eine Speicherung des aktuellen Zustandes der Konfiguration. Globale Einstellungen Abbildung 6.8: Der Dialog für die globalen Einstellungen Die einzelnen Felder haben folgende Bedeutung: Benutzername: Hier wird der Vor- und Zuname des Benutzers angegeben. Diese Information wird für die automatische Erzeugung eines Cover-Fax benötigt. EMail: An die E-Mail-Adresse, die hier angegeben wird, werden Nachrich- ten des Faxservers an den jeweiligen Benutzer gesendet, z. B. wenn ein Fax aus der Sende-Queue entfernt wurde, ohne dass der Server es versen- den konnte. Benutzer Account: Der Faxserver ist in der Lage, unterschiedlichen Benut- zern den Zugang zu erlauben bzw. zu verweigern. Aus diesem Grund muss hier der Accountname eingetragen werden, unter dem der Benutzer dem Server bekannt ist. Es ist auch möglich, einem Benutzer ein Passwort zuzuordnen. Rechnername des Faxservers: Hierbei handelt es sich um den Namen des Rechners, auf dem der Faxserver läuft. Automatisches Faxen: Wenn dieser Button aktiviert ist, wird in Sekunden- abständen die Datei überprüft, die unter `Pfad auf Spool Datei' angegeben wurde. Wenn diese Datei sich geändert hat, wird automatisch der `Fax senden'-Dialog geöffnet. Diese Option ist vor allem sinn- voll, wenn man aus einer Anwendung über einen Druckertreiber direkt 210 6.10. Linux macht Faxen in eine Datei druckt. Auf diese Art und Weise kann aus beliebigen An- wendungen ein Fax versendet werden, vorausgesetzt diese kann das Do- kument in PostScript wandeln (siehe Abschnitt 6.10.3 auf Seite 217). Pfad auf Spool Datei: Hier muss der vollständige Pfad auf die Spool Da- tei angegeben werden, wenn automatisches Faxen gewünscht ist. Durch Anklicken des Buttons `Suchen' öffnet sich ein Dateibrowser, mit des- sen Hilfe man eine solche Datei suchen kann. Pfad des Faxcovers: Für die automatische Erzeugung eines Faxcovers wird eine spezielle PostScript-Datei benötigt. Der vollständige Pfad auf diese Datei wird hier angegeben. Zeitzone: Hier sollte die Zeitzone aktiviert werden, die man auch auf dem lokalen System konfiguriert hat. Land: Die Einstellung des Landes entscheidet die Darstellung von Datums- und Uhrzeitangaben, z. B. auf dem Fax-Cover. Job-Einstellungen Abbildung 6.9: Der Dialog für die Job Parameter Nachdem die globalen Einstellungen korrekt ausgeführt worden sind, kann das erste Fax schon gesendet werden. Ein Fax, bzw. eine Datei, die gesendet wurde, wird auf dem Faxserver zu einem Job, der in der Sende Queue evtl. zusammen mit anderen Jobs darauf wartet, gesendet zu werden. Zu jedem Job gehören Jobparameter. Diese lassen sich vor und nach dem Einreihen, bzw. Senden in die Sende-Queue bestimmen. Vor dem Senden geschieht das über den Dialog `Job Einstellungen', der über das Menü `Extras' zu erreichen ist. Die einzelnen Parameter haben folgende Bedeutung: 211 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... Benachrichtigungs Schema: Hierdurch wird festgelegt, wann der Faxser- ver dem Benutzer über die konfigurierte E-MailAdresse eine Nachricht zukommen lassen soll. Es gibt vier verschiedene Schemata: * Nie (nur bei Fehlern): Der Benutzer wird nur benachrichtigt, wenn ein Fehler beim Senden auftrat, der im Endeffekt das Senden des Jobs verhindert hat. * Nach dem Senden: Der Benutzer wird auch nach dem Senden eines Jobs benachrichtigt. * Nach einem `Requeue': Der Benutzer wird benachrichtigt, wenn ein Sendeversuch scheiterte, weil die Gegenstelle z. B. gerade besetzt war. * Nach `Requeue' und `Senden:' Eine Mischung aus den beiden vorherigen Schemata. Das erste Schema gilt grundsätzlich, d. h. wenn z. B. Schema zwei ange- wählt wurde, wird der Benutzer auch benachrichtigt, wenn das Senden des Jobs fehlschlug. Auflösung: Hiermit wird die Auflösung des gesendeten Fax eingestellt. Die Auflösung wird in Zeilen pro Inch (lpi) gemessen. Priorität: Die Priorität eines Jobs in der Sende Queue. Der Standardwert beträgt 127. Der Faxserver setzt die Priorität bei Bedarf neu, wenn z. B. das Senden eines Jobs aufgrund des Besetztzeichens fehlschlug. Maximale Anzahl Sendeversuche: Hier wird festgelegt, wie oft der Server einen Job versuchen soll zu senden, wenn z. B. aufgrund einer schlechten Leitungsqualität Übertragungsfehler auftraten. Maximale Anzahl Wählversuche: Anzahl der Wahlwiederholungen, wenn z. B. die Gegenstelle gerade besetzt ist oder nicht abhebt. Papierformat: Es werden drei Papierformate von SuSEFax unterstützt: A4, A3 und North American Letter". Diese Einstellung hängt von dem For- mat des zu sendenden PostScript-Dokumentes ab. Wenn im Hauptfenster neben der Jobliste `Job-Parameter ändern' aktiviert ist, öffnet sich bei einem Doppelklick auf einen Job ein um seine Parameter reduzierter Dialog. Hier können nachträglich die Parameter `Be- nachrichtigungs Schema', `Maximale Anzahl Sendever- suche' und `Maximale Anzahl Wählversuche' des angewählten Jobs eingestellt werden. Externer Viewer Wenn die Jobliste im Hauptfenster die Empfangs-Queue anzeigt, ist es mög- lich über einen externen Viewer diesen empfangenen Job anzuzeigen. Die- ser Job liegt dem Faxserver im tiffg3-Format vor. Der externe Viewer muss also dieses Format anzeigen können. Dieses Format erlaubt es, meh- rere Bilder in einer Datei zu verstauen. Dem Programm SuSEFax liegt ein kleines Skript bei, das mit Hilfe des fax2ps Befehls aus der TIFF Softwa- re von Sam Leffler (Paket tiff) ein PostScript-Dokument erzeugt. Dieses wird dann einem PostScript-Viewer übergeben. Das Skript sucht zuerst nach 212 6.10. Linux macht Faxen dem Programm gv von Johannes Plass (Paket gv) und dann nach GhostView von Timothy O. Theisen (Paket gs_x11). Es heißt docview und ist un- ter /usr/lib/SuSEFax zu finden. Die Einträge im Einstellungsdialog für den externen Viewer haben folgende Bedeutung: Pfad für Temporär-Dateien: In diesem Verzeichnis legt SuSEFax das vom Server geholte tiffg3-Bild ab und ersetzt den Platzhalter $F mit dem vollständigen Pfad auf diese Datei. Der Benutzer, der SuSEFax gestartet hat, muss sowohl Schreib- als auch Leserechte in diesem Verzeichnis haben! Viewer-Aufruf: Hier muss der vollständige Pfad auf das Programm oder Skript, das die Datei anzeigen soll, angegeben werden. Dieses Programm oder Skript muss als Parameter den Pfad auf die anzuzeigende Datei ak- zeptieren. Senden eines Fax Nachdem die wichtigsten Einstellungen gemacht wurden, sollte man zuerst überprüfen, ob man den Status des Servers abfragen kann (siehe auf Sei- te 208). Wenn nicht, kann auch kein Fax gesendet werden. Ggf. muss die Konfiguration von SuSEFax oder vom HylaFAX-Server überprüft werden. Wenn jedoch alles korrekt eingestellt wurde, dann erscheint bei Anwahl des Menüpunktes `Fax senden' ein Dialog, dessen Felder folgende Bedeu- tung haben: Telefonnummer des Empfängers: Die Telefonnummer des Empfängers. Ein Klick auf den Button `Vom Telefonbuch' bewirkt das Öffnen desselben. Es kann auf diese Art eine Telefonnummer direkt aus dem Telefonbuch gewählt werden. Zu sendendes Dokument: Hier muss der vollständige Pfad auf das zu sen- dende PostScript-Dokument erscheinen. Bei Anwahl des Buttons `Su- chen' öffnet sich ein Dateibrowser, mit dessen Hilfe die zu sendende Datei ausgewählt werden kann. Mit Cover-Fax: Dieser Button lässt sich nur aktivieren, wenn in den glo- balen Einstellungen ein Pfad auf eine Faxcover-Datei angegeben wurde. Wenn dieser Button aktiviert wurde, kann man die folgenden Felder aus- füllen und ein Faxcover wird aus diesen Informationen generiert und mit- gesendet. Nicht sofort senden: Wird dieser Button aktiviert, öffnet sich ein Dialog- fenster, in dem man die Sendezeit des Faxjobs einstellen kann. Wird die- ses mit `Abbruch' verlassen, wird das Fax sofort gesendet, genauso als wenn man den Dialog für die Empfänger-Informationen mit `Sende Fax' verlassen hätte. Bei der Eingabe der Daten für Datum und Uhrzeit ist auf folgendes zu achten: * Falls eine Eingabe innerhalb irgendeines Feldes gemacht wurde, sollte die Eingabetaste betätigt werden, weil auf diese Weise das Programm automatisch überprüft, ob es sich bei der Eingabe um ein gültiges Da- 213 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... tum handelt und falls nicht, wird die Eingabe auf ein korrektes Datum umgerechnet. Name des Senders: Hier wird immer der Name eingetragen, der in den glo- balen Einstellungen eingetragen wurde. Name des Empfängers: Das bedarf wohl keiner Erklärung... Regarding: Der Betreff! An Firma: Das ist wohl auch klar... Kommentar: No comment... Die Anwahl des Buttons `Polle Fax' setzt voraus, dass Sie die Telefon- nummer des Faxpolling-Servers eingegeben haben. Hierfür ist natürlich keine Angabe einer zu sendenden Datei notwendig. Bedeutung der Joblisten-Einträge Wie schon erwähnt, kann in der Jobliste sowohl der Inhalt der Sende-Queue, als auch der Inhalt der Empfangs-Queue angezeigt werden. Im folgenden wird erläutert, was die einzelnen Elemente dieser Einträge zu bedeuten haben. Die Empfangs-Queue Abbildung 6.10: Beispiel zu einer Empfangs-Queue Von links nach rechts gelesen werden zuerst die Zugriffsrechte, die Größe in Bytes, die Anzahl der Seiten, die TSI und der Dateiname eines empfange- nen Fax angezeigt. Bei der TSI (engl. Transmission Subscriber Identification) handelt es sich um die Identifizierungsinformation, die der Benutzer der Ge- genstelle in seinem Faxgerät eingestellt hat. Das muss nicht unbedingt eine Telefonnummer sein. Es kann sich dabei auch um einen Firmennamen oder ähnliches handeln. Empfangene Faxe können nur per Doppelklick angesehen werden, wenn der Faxserver so konfiguriert ist, dass die Leserechte für alle gelten. Dazu sind in der Datei /var/spool/fax/etc/config.device (siehe Abschnitt 6.10.4 auf Seite 219) hinter dem Schlüsselwort RecvFileMode: die Rechte 0644 einzutragen. Die Sende-Queue Von links nach rechts gelesen wird zuerst die Job-ID (Job Identifikation), die Priorität, der Benutzer-Account, die Zieltelefonnummer, die Sendezeit und/oder die Anzahl der Wählversuche sowie die maximale Anzahl Wähl- versuche angezeigt. Falls ein Fehler auftrat, wird die entsprechende Fehler- meldung ebenfalls an die betreffende Zeile angehängt. Die Job-ID wird vom 214 6.10. Linux macht Faxen Abbildung 6.11: Beispiel zu einer Sende-Queue Fax-Server automatisch vergeben. Die Priorität kann für jeden Job eingestellt werden, wird allerdings bei Bedarf vom Fax-Server verändert. Der Benutzer- Account zeigt an, welcher Benutzer diesen Job gestartet hat. Nur dieser Be- nutzer kann diesen Job löschen oder seine Parameter ändern. Das Telefonbuch Abbildung 6.12: Das Telefonbuch Im Telefonbuch (vgl. Abbildung 6.12) können Namen und Faxnummern ver- waltet werden. Es erlaubt die Anzeige und Sortierung nach Name, Vorname, Faxnummer oder Firma. Ein Doppelklick auf einen Eintrag in der Telefonliste bewirkt das Öffnen des Eintrag-Editors. Der Eintrag-Editor ist in diesem Fall ein Eintrag-Viewer. Wenn man jetzt einen anderen Eintrag in der Telefon- buchliste anwählt, wird dieser im Eintrag-Editor angezeigt. Durch Anwählen des `Bearbeiten'-Buttons im Telefonbuch werden die Felder des Edi- tors beschreibbar. Jetzt kann dieser Eintrag bearbeitet werden. Durch Akti- vieren von `Eintrag übernehmen' werden die Änderungen übernom- men. Voraussetzung dafür ist, dass die Felder `Vorname', `Nachname' und `Telefonnummer' ausgefüllt wurden. Wenn sich der Eintrag-Editor im `Eintrag ansehen'-Modus befindet, bewirkt ein Klick auf den Button `Sende Fax' das Öffnen des `Fax Sende Dialoges', und die Elemente `Vorname', `Nachname', `Telefonnummer', `Firma' und `Kommentar' werden in die Felder für die Covererzeugung übernommen (siehe auf Seite 212). Das Cover wird jedoch selbstverständlich nur gesendet, wenn der Button `Mit Cover- Fax' angewählt wird. Wenn im Telefonbuch eine Aktion ausgeführt wurde, 215 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... die den Auswahlbalken verschwinden lässt, z. B. `Sortieren', dann wird der `Sende Fax'-Button deaktiviert. Aktivieren lässt er sich wieder durch Anwahl irgendeines Eintrages. Bei Betätigung des Buttons `Hinzufügen' im Telefonbuch, wird ein neu- er Eintrag an das Ende der Telefonliste angehängt. `Löschen' löscht den Eintrag, der gerade mit einem Balken markiert ist. Sortiert wird immer nur, wenn der `Sortieren'-Button angewählt wird, und zwar nach dem Krite- rium unter `Angezeigt wird' in aufsteigender numerischer und alpha- betischer Reihenfolge. Die Buttons `Änderungen speichern' und `Speichern & Be- enden' werden erst anwählbar, wenn einer der Buttons `Eintrag übernehmen' im Eintrag-Editor, `Sortieren' oder `Löschen' an- gewählt wird. Das Telefonbuch kann auch `standalone' gestartet werden. Dafür ist der Wrapper susephone zuständig: einfach susephone in der Shell einge- ben. In diesem Fall können jedoch keine Faxe versendet werden. Es ist nicht ratsam, das Telefonbuch-Programm unter einem Benutzer Ac- count zweimal zu starten. Wenn doch, sollte man darauf achten, dass nicht gleichzeitig das Telefonbuch gespeichert wird. Der Serienfax-Dialog Der Serienfax-Dialog ermöglicht das Erstellen einer Serienfaxliste aus den Einträgen des Telefonbuchs. Um einen oder mehrere Einträge zur Serienfax- liste hinzuzufügen oder zu entfernen, müssen diese selektiert sein. Das Selek- tieren kann durch Anwahl mittels Maustaste erfolgen, oder durch einen der beiden `Toggle'-Buttons. Wenn beispielsweise der Button ` Toggle' angewählt wird, werden alle Einträge der Telefonliste, die nicht selektiert sind, selektiert, und alle, die selektiert sind, werden deselektiert. Genauso verhält es sich mit der Serienfaxliste. Die Anwahl des `Faxe senden'- Buttons bewirkt die Versendung aller in der Serienfaxliste befindlichen Ein- träge. Für Serienfaxe kann kein automatisches Faxcover erzeugt werden. 6.10.2 Automatische Generierung des Fax-Covers Wie schon erwähnt, erfordert die Generierung eines automatischen Fax- Covers ein PostScript-Template. Bei dieser Datei handelt es sich nicht um eine von einem PostScript-Interpreter interpretierbare Datei, vielmehr sind in einer solchen Datei Platzhalter für die Informationen eingefügt, die erst bei der Erzeugung des Covers eingefügt werden. Die Erzeugung eines solchen Templates kann unterschiedlich schwierig sein. Wenn man das Schriftsatz- system LATEX einigermaßen beherrscht, kann man sich glücklich schätzen, dass das Paket latex-cover6 von R. Krienke existiert. Dieses Paket bringt einen TEX-Style mit, der es erlaubt auf eine für einen TEX-Kenner recht ein- fache Art, ein solches Template zu erzeugen. Das Cover, welches diesem Paket und dem Paket hylafax beiliegt, wurde mittels latex-cover erzeugt. 6 Dieses Paket wird bei der Installation vom Paket hylafax unter /usr/doc/packages/ hylafax installiert. 216 6.10. Linux macht Faxen Wenn man dieses nicht benutzen will, so ist man gezwungen, eine normale PostScript-Datei zu erzeugen, und die entsprechenden Makros und Platzhal- ter, die benötigt werden, von Hand einzutragen. Welche Schlüsselworte kennt SuSEFax? Wenn man gerade dabei ist, das TEX-Dokument für das Template zu bearbei- ten, sollte man wissen, dass die jetzige Version von SuSEFax nur die folgen- den Makros ersetzt: \toperson \from \regarding \tocompany \todaysdate \comments Wenn man das selbst gebastelte Template testen möchte, so kann man das Programm faxcover aus dem Paket hylafax dafür benutzen. Dieses erzeugt aus dem Template eine fertige PostScript-Datei, welche man ansehen oder drucken kann. Oder man benutzt das Java-Binary FaxCovergen.class aus dem Paket susefax zum Testen. Dazu kann man in einem beliebigen Verzeichnis folgenden Aufruf eingeben: tux@erde:/home/tux > java -classpath /usr/lib/java/lib/classes.zip:/usr/lib SuSE- Fax.FaxCovergen Folgende Ausgabe sollte erscheinen: Aufruf: FaxCovergen quellcover.ps docna- me.ps zielcover.ps Das Quellcover ist in diesem Fall das Template, hinter docname.ps ver- birgt sich das Dokument, welches im Falle eines tatsächlichen Sendens als Fax verschickt werden soll und in zielcover.ps wird das so erstellte Co- ver gespeichert, welches man sich dann ebenfalls ansehen kann. Diese Argu- mente werden dann einfach hinten an den obigen Aufruf angehängt. 6.10.3 Fax-Spooling unter UNIX/Linux Der Spoolingmechanismus unter SuSEFax ist eigentlich für die Anwendung unter Windows vorgesehen. Jedoch auch unter Linux kann man sich dieses Feature nutzbar machen. Um dieses Feature zu nutzen, installieren Sie einfach das Paket faxprint, Serie n (Netzwerk-Support). Wenn man jetzt z. B. mittels a2ps -nP /etc/passwd | lpr -Pfax die Datei /etc/passwd nach PostScript wandelt und diese über den neu eingerichteten Druckerfilter schickt, sollte unter dem Verzeichnis /tmp eine Datei zu finden sein, die fax_accountname.ps heißt. Mit accountname ist der Name gemeint, unter dem man sich im System angemeldet hat. Wenn diese Datei jetzt vorhanden ist, kann man wie unter Abschnitt 6.10.1 auf 217 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... Seite 209 beschrieben, diese Datei als Spooldatei eintragen und den Button `Automatisches Faxen' aktivieren. Der Spool-Mechanismus kann nur funktionieren, wenn das Programm Su- SEFax gestartet ist. In diesem Fall wird der Zeitstempel Lastmodified der Spool-Datei regelmäßig überprüft und bei einer Änderung der Fax- Empfänger-Dialog von SuSEFax geöffnet. 6.10.4 HylaFAX ­ Verteiltes Faxen Funktionsweise Für die Einrichtung von HylaFAX kann kein Installationssupport in Anspruch genommen werden (vgl. Abschnitt H.1.2 auf Seite 548); wir sind aber gern bereit, im Rahmen des kostenpflichtigen Business-Supports zu helfen (vgl. Abschnitt H.3 auf Seite 551). Abbildung 6.13 auf der nächsten Seite zeigt die Funktionsweise des Fax- Servers und das Prinzip der Interaktion mit den Clients. Wie in der Abbildung zu sehen ist, existieren drei Kommunikationswege zwischen den Clients und dem Server. Das Protokoll, das sich hinter Port 4557 verbirgt, ist aus Kom- patibilitätsgründen zu alten Versionen von HylaFAX vorhanden. Ein unter den alten Windows-Versionen laufender Client namens WinFlex von Peter Bentley nutzt z. B. noch dieses Protokoll. Neuere Clients sollten das neue Protokoll benutzen, das sich hinter Port 4559 verbirgt. Dieses Protokoll ist stark an das File Transfer Protocol, RFC959 angelehnt. Das dritte Protokoll ist das SNPP (Simple Network Paging Protocol, RFC1861). Der Server selbst setzt sich aus drei Daemonen zusammen, von denen jeder bestimmte Aufgaben erfüllt: hfaxd ist der Protokollserver. Dieser ist zuständig für die Kommunikation zwischen Client und Server. Er kann entweder standalone, z. B. beim Hochfahren des Systems vom Init-Prozess, oder über den Inetd gestartet werden. Er kommuniziert über ein FIFO special file" mit dem faxq- Prozess. faxq ist der Queueing Agent". Er ist zuständig für die Verwaltung der ein- und ausgehenden Faxe und der Job-Queue. Dieser Prozess läuft die ganze Zeit, und es sollte nur einer laufen. faxgetty ist für die Kommunikation mit dem Modem zuständig. Als Alter- native zu faxgetty kann das Programm faxmodem benutzt werden, falls man lediglich Faxe versenden, nicht aber empfangen möchte. Außerdem kann er über eine FIFO-Datei7 administrative Kommandos empfangen. Die Verzeichnisstruktur Der gesamte Server läuft in einer Change-Root"-Umgebung. Standardmä- ßig liegt das Server-Root unter /var/spool/fax. Die Server-Prozesse 7 Eine FIFO-Datei (engl. FIFO = First In First Out) ist eine Datei, in die man etwas hinein- schreiben kann, was bei einem Auslesen dieser Datei in gleicher Reihenfolge wieder ausgelesen wird. 218 6.10. Linux macht Faxen Fax Modem HylaFAX (TM) Fax Server Die drei Netz Protokolle 4557 altes Protokoll (Kompatibilität) TCP/IP 4559 Neues Protokoll (ähnelt dem FTP Protokoll) Klienten SNPP Simple Network Pager Protocol Abbildung 6.13: Die Funktionsweise des HylaFAX-Servers und das Server-Root-Verzeichnis gehören dem Benutzer und der Gruppe `uucp'. Tabelle 6.3 auf der nächsten Seite zeigt alle Verzeichnisse, die im Server-Root zu finden sind und erläutert ihre Funktion. archiveHier werden Jobs archiviert, wenn der job archival support aktiviert wurde. bin In diesem Verzeichnis werden Skripten abgelegt, die von den Programmen faxq, faxsend, pagesend und faxgetty benutzt werden. client Dieses Verzeichnis beinhaltet FIFO-Dateien, die für die Kom- munikation mit dem Programm faxq benötigt werden. config Die Konfiguration, die Zugriffskontrolle und die Benutzerver- waltung befinden sich in diesem Verzeichnis und im Verzeich- nis etc. dev Da das ganze System in einer chroot-Umgebung läuft, befin- den sich hier Charakter-Devices, die benötigt werden (null, socksys und tcp). Tabelle 6.3: Fortsetzung auf der nächsten Seite... 219 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... docq Dieses und das Verzeichnis tmp werden u. a. für die Vorberei- tung ausgehender Jobs benötigt. doneq Hier werden Jobs gespeichert, die beendet, aber nicht entfernt oder archiviert wurden. etc siehe config. info In diesem Verzeichnis werden Informationen über die Leistungsmerkmale von Maschinen gespeichert, mit denen HylaFAX schon einmal in Verbindung war. log Dieses Verzeichnis beinhaltet Logging-Informationen über Sende- und Empfangs-Sitzungen. pollq Hier werden Dokumente gespeichert, die über Polling vom Server abgeholt werden sollen. sendq Rausgehende Faxe werden hier gespeichert und... recvq ...hier werden eingehende Faxe gespeichert. status Hier werden Dateien abgelegt, in denen der Server Informatio- nen über seinen momentanen Zustand speichert. tmp siehe docq. Tabelle 6.3: Die Server-Root-Verzeichnisse und ihre Funktion Zusätzlich zu diesen Verzeichnissen gibt es noch FIFO-Dateien. Die Datei /var/spool/fax/FIFO und für jedes von faxgetty verwaltete Modem eine Datei /var/spool/fax/FIFO.devname, wobei devname für den Device Namen steht, mit dem das Modem verbunden ist. Konfiguration Die Konfiguration des Servers verteilt sich auf 2 bis 2+n Konfigurationsda- teien. `n' steht für die Anzahl der zu verwendenden Fax-Modems. Im Ver- zeichnis /var/spool/fax/etc sind die Konfigurationsdateien config und config.device zu finden. Letztere bestimmt die Konfiguration des am Gerät device angeschlossenen Modems. Wenn beispielsweise das Modem an /dev/ttyS0 angeschlossen wäre, würde diese Datei config.ttyS0 heißen. In der Datei config werden allgemein gültige Einstellungen gemacht, die vom Scheduler-Prozess faxq benötigt werden. In config.device be- finden sich modemspezifische Einstellungen. In config befinden sich die Einstellungen für den Queueing-Agent und die Einstellungen für den Proto- kollserver befinden sich in der Datei /usr/lib/fax/hfaxd.conf. Die- se Konfigurationsdateien werden automatisch erzeugt, wenn man das Skript faxsetup nach der Installation ausführt. Beispiel Konfigurationssitzung Im Folgenden ein Beispiel für eine Konfigurationssitzung mittels faxsetup. Es wird in dieser Sitzung von den Daten in Tabelle 6.4 ausgegangen. 220 6.10. Linux macht Faxen Telefonnummer (0)49(0)911-1234568 Modem Fax-Klasse 2.0 Tabelle 6.4: Die in Fettdruck gesetzten Buchstaben bezeichnen die eingegebenen Daten. Scheduler-Konfiguration * Should an entry be added to /etc/inetd.conf [no]? * Country code [1]? 49 * Area code []? 911 * Long distance dialing prefix [1]? 0 * International dialing prefix [011]? 00 * Dial string rules file (relative to /var/spool/fax) ["etc/dialrules"]? * Tracing during normal server operation [1]? 527 * Default tracing during send and receive sessions [0xffffffff]? 527 * Continuation cover page (relative to /var/spool/fax) []? etc/cover.templ * Timeout when converting PostScript documents (secs) [180]? * Maximum number of concurrent jobs to a destination [1]? * Define a group of modems []? "any:.*" * Time of day restrictions for outbound jobs ["Any"]? * Pathname of destination controls file (relative to /var/spool/fax) []? * Timeout before purging a stale UUCP lock file (secs) [30]? * Max number of pages to permit in an outbound job [0xffffffff]? 30 * Syslog facility name for ServerTracing messages [daemon]? Nach Eingabe obiger Daten wird die Zusammenfassung in Ausgabe 6.10.1 auf der nächsten Seite ausgegeben. Server-Konfiguration Nachdem der Scheduler konfiguriert ist, fragt faxsetup, ob ein Modem mittels faxaddmodem konfiguriert werden soll. Diese Frage beantwortet man natürlich mit yes. Danach wird gefragt, an welchem seriellen Port das Modem angeschlossen ist, hier antwortet man mit dem Namen des Devices, ohne jedoch den vollen Pfad anzugeben ­ aus /dev/modem wird modem. 8 Hier müssen Sie natürlich von Ihrer Telefonnummer ausgehen und während der Ausführung von faxsetup entsprechend reagieren. 221 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... The non-default scheduler parameters are: CountryCode: 49 AreaCode: 911 LongDistancePrefix: 0 InternationalPrefix: 00 ServerTracing: 527 ContCoverPage: etc/cover.templ MaxSendPages: 30 ModemGroup: "any:.*" SessionTracing: 527 Ausgabe 6.10.1: * Country code [49]? * Area code [911]? * Phone number of fax modem [+1.999.555.1212]? +49.911.123456 * Local identification string (for TSI/CIG) ["NothingSetup"]? "SuSE GmbH" * Long distance dialing prefix [0]? * International dialing prefix [00]? * Dial string rules file (relative to /var/spool/fax) ["etc/dialrules"]? * Tracing during normal server operation [1]? 527 * Tracing during send and receive sessions [11]? 527 * Protection mode for received facsimile [0600]? 0644 * Protection mode for session logs [0600]? * Protection mode for modem [0600]? 0666 * Rings to wait before answering [1]? * Modem speaker volume [off]? * Command line arguments to getty program ["-h %l dx_%s"]? "-r -b -s %s %l" * Pathname of TSI access control list file (relative to /var/spool/fax) [""]? * Pathname of Caller-ID access control list file (relative to /var/spool/fax) [""]? * Tag line font file (relative to /var/spool/fax) [etc/lutRS18.pcf]? * Tag line format string ["From %%l|%c|Page %%p of %%t"]? * Time before purging a stale UUCP lock file (secs) [30]? 222 6.10. Linux macht Faxen * Hold UUCP lockfile during inbound data calls [Yes]? * Hold UUCP lockfile during inbound voice calls [Yes]? * Percent good lines to accept during copy quality checking [95]? * Max consecutive bad lines to accept during copy quality checking [5]? * Max number of pages to accept in a received facsimile [30]? * Syslog facility name for ServerTracing messages [daemon]? * Set UID to 0 to manipulate CLOCAL [""]? Die Zusammenfassung in Ausgabe 6.10.2 wird nach Eingabe der obigen Da- ten erstellt. The non-default server configuration parameters are: CountryCode: 49 AreaCode: 911 FAXNumber: +49.911.123456 LongDistancePrefix: 0 InternationalPrefix: 00 DialStringRules: "etc/dialrules" ServerTracing: 527 SessionTracing: 527 RecvFileMode: 0644 DeviceMode: 0666 RingsBeforeAnswer: 1 SpeakerVolume: off GettyArgs: "-r -b -s %s %l" LocalIdentifier: "SuSE GmbH" TagLineFont: etc/lutRS18.pcf TagLineFormat: "From %%l|%c|Page %%p of %%t" MaxRecvPages: 25 Ausgabe 6.10.2: Damit wäre die Konfiguration des Schedulers und des Servers abgeschlossen. Jetzt wird noch gefragt, ob man faxmodem für jedes konfigurierte Modem starten möchte. Hierbei handelt es sich um eine Alternative zu faxgetty, die nur einen Send-Only"-Betrieb zulässt, d. h. man muss sich für eines von beidem entscheiden. Adaptive Answer Support Ein sehr brauchbares Feature ist der Adaptive Answer Support". Das bedeu- tet, dass der Faxserver (faxgetty) ein beliebiges anderes getty starten kann, wenn er feststellt, dass es sich nicht um einen Faxanruf, sondern z. B. um 223 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... einen Datenanruf handelt. Dazu wurde in der modemspezifischen Konfigura- tionsdatei (siehe auf Seite 219) während der Beispiel-Konfigurationssitzung der Eintrag in Datei 6.10.2 zugefügt: GettyArgs: "-r -b -s %s %l" Datei 6.10.2: Eintrag für Adaptive Answer Support Der Platzhalter %s steht für die DTE/DCE Rate zwischen Computer und Modem. Standardmäßig handelt es sich dabei um 38400 bps (engl. bits per second). Manche Modems der Firma USRobotics kommen im Fax Betrieb mit dieser Bitrate nicht zurecht (siehe Dokumentation [Lef96]), es kann zu Problemen beim Faxempfang kommen. Abhilfe schafft man, indem man hier unter in der modemspezifischen Konfigurationsdatei den Wert auf 19200 setzt. Als getty wird mgetty aus dem Paket mget- ty, Serie n (Netzwerk-Support) benutzt. Dazu ist jedoch noch notwendig, dass man die Konfigurationsdatei von mgetty (/etc/mgetty+sendfax/ mgetty.config) um den Eintrag in Datei 6.10.3 erweitert. port modem direct y toggle-dtr n Datei 6.10.3: Eintrag in der Konfigurationsdatei von mgetty Der Bezeichner modem9 steht für den Gerätenamen, über den das Modem angesprochen wird. Wichtig ist, dass sowohl faxgetty, als auch mgetty auf dasselbe Device zugreifen. Fax Dispatching Ein weiteres interessantes Feature ist die automatische Weiterleitung einge- hender Faxe an eine bestimmte E-Mail-Adresse. Möglich wird das, indem man die Datei etc/FaxDispatch im Server-Root-Verzeichnis erzeugt. Datei 6.10.4 zeigt, wie eine solche Datei aussehen kann. case "$SENDER" in *0815*) SENDTO=tux;; *) SENDTO=FaxMaster;; esac Datei 6.10.4: Beispiel zu etc/FaxDispatch Identifiziert werden die eingehenden Faxe anhand ihrer TSI. In diesem Fall würden alle Faxe, die die Ziffernkombination 0815 in ihrer TSI verborgen hätten, an den Benutzer `tux' per Mail verschickt, indem sie als Attach- ment im PostScript-Format10 an die jeweilige Mail angehängt werden wür- 9 Bei /dev/modem handelt es sich um einen Link auf /dev/ttySx. 10 Das Dateiformat lässt sich selbstverständlich ändern, indem man das Skript bin/faxrcvd im Server-Root entsprechend ändert. 224 6.10. Linux macht Faxen den. Weiterhin werden alle eingehenden Faxe an den `FaxMaster' wei- tergeleitet. Falls Sie Probleme mit der Installation oder Konfiguration von HylaFAX haben, so werfen Sie auf jeden Fall einen Blick in unsere Supportdaten- bank (Hilfesystem, Paket susehilf, Serie doc (Dokumentation)). Dort finden Sie unter dem Stichwort "fax" jede Menge Hinweise. 225 6. Der Anschluss an die weite Welt ­ PPP, ISDN, Modem ... 226