fli4l-Doku

March 5, 2018 | Author: Anonymous | Category: N/A
Share Embed


Short Description

Download fli4l-Doku...

Description

fli4l - floppy-isdn4linux Frank Meyer 2004-03-07

Inhaltsverzeichnis 1. Einleitung

2

2. Installation

5

3. Varianten 3.1. Router auf nur einer Floppy – Die bisherige Installation . . . . . . 3.2. Typ A: Router auf Festplatte – nur eine Fat-Partition . . . . . . . . 3.3. Typ B: Router auf Festplatte – je eine Fat- und ext2-Partition . . . 3.4. Typ C: Router auf Festplatte, manuelles Erstellen der Partitionen .

. . . .

. . . .

. . . .

. . . .

6 7 7 7 8

4. Basiskonfiguration 4.1. Beispiel-Datei . . . . . . . . . . . . 4.2. Allgemeine Einstellungen . . . . . 4.3. Ethernet-Netzwerkkarten-Treiber 4.4. Ethernet-Karten/Netzwerke . . . . 4.5. Zusätzliche Routen (optional) . . . 4.6. Masquerading . . . . . . . . . . . . 4.7. Routing/Firewall . . . . . . . . . . . 4.8. Domain-Konfiguration . . . . . . . 4.9. Spezielle DNS-Server . . . . . . . . 4.10.imond-Konfiguration . . . . . . . . 4.11.Allgemeine Circuit-Konfiguration .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

8 9 13 16 20 21 21 25 29 31 32 35

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

5. Weitere Programmpakete

35

6. Packages

40

7. Optionale Dateien und Programme

42

8. Erstellen der Bootdiskette

44

9. Anbindung von PCs im LAN

45

10. Client-/Server-Schnittstelle imond 10.1.imon-Server imond . . . . . . . . . . . . . . . 10.1.1. Least-Cost-Routing – Funktionsweise 10.2.Windows-Client imonc.exe . . . . . . . . . . 10.2.1. Einleitung . . . . . . . . . . . . . . . . 10.2.2. Startparameter . . . . . . . . . . . . . 10.2.3. Seite Summary . . . . . . . . . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

. . . . . .

47 47 50 53 53 54 56

1

1 10.2.4. Seite Config . . . . . . . . . . . . 10.2.5. Seite Calls . . . . . . . . . . . . . 10.2.6. Seite Connection . . . . . . . . . 10.2.7. Seite Fax . . . . . . . . . . . . . . 10.2.8. Seite EMail . . . . . . . . . . . . 10.2.9. Admin . . . . . . . . . . . . . . . . 10.2.10.Seiten Error, Syslog und Firewall 10.3.Unix/Linux–Client imonc . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

EINLEITUNG

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

57 62 62 63 64 64 65 65

A. Anhang A.1. Nullmodemkabel . . . . . . . . . . . . . . . . . . . . . . . . A.2. IPX-Beispiel-Konfiguration . . . . . . . . . . . . . . . . . . A.3. Programme . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.4. Treiber . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.5. Andere i4l-Tools . . . . . . . . . . . . . . . . . . . . . . . . . A.6. libc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . A.7. Shell und weitere Kommandos . . . . . . . . . . . . . . . . A.8. Fehlersuche . . . . . . . . . . . . . . . . . . . . . . . . . . . A.9. Fehler im Zusammenhang mit Festplatten/CompactFlashs A.10.Literaturhinweise . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

. . . . . . . . . .

67 67 68 70 71 71 71 72 72 72 74

B. Anhang

74

C. Keine Gewähr und Haftung

75

D. wie „Danke“

75

E. Feedback

77

1. Einleitung fli4l ist ein Linux-basierender ISDN-, DSL- und Ethernet-Router, der lediglich 1 Diskette zum Arbeiten benötigt. Ein 486er mit 16MB RAM ist dafür vollkommen ausreichend. Die notwendige Bootdiskette kann unter Unix, Linux oder Windows erstellt werden. Dabei sind keine Linux-Kenntnisse erforderlich, aber evtl. nützlich. Grundkenntnisse von Netzwerken, TCP/IP, DNS und Routing sollten jedoch vorhanden sein. Für eigene Erweiterungen/Entwicklungen, welche über die Standardkonfiguration hinausgehen, sind ein lauffähiges Linux-System und Unix/Linux-Kenntnisse notwendig. Mit der Version 2.0 unterstützt fli4l nun auch „offiziell“ andere Bootmedien als nur Disketten. Damit wird es nun endlich möglich, noch mehr Software-Pakete auf dem fli4l-Router zu installieren, als auf eine Diskette passen. Bevor man sich aber an eine Installation auf Festplatte oder CompactFlash heranwagt, sollte man vorher einmal die Diskettenversion als Basis-Installation konfigurieren und ausprobieren. Die meisten optionalen Softwarepakete laufen bereits auch bei der Installation auf einer Diskette, so dass ein Massenspeicher (wie Festplatte) nur dann sinnvoll wird, wenn die komplette für fli4l verfügbare Software-Palette installiert werden soll.

2

1

EINLEITUNG

Features: • Erstellen der Boot-Diskette unter Unix, Linux und Windows • Konfiguration über eine einzige ASCII-Datei • Unterstützung von IP-Masquerading und Port-Forwarding • Least-Cost-Routing: automatische Auswahl des Providers, je nach Uhrzeit • Anzeige/Berechnung/Protokollierung von Verbindungszeiten und -kosten • Windows/Unix/Linux-Client imonc mit Schnittstelle zu imond und telmond • Upload von neuen Konfigurationsdateien über Windows-Client imonc • Bootdiskette mit vfat-Dateisystem zum dauerhaften Speichern von Dateien • Unterstützung von 1680KB-Disketten • Paketfilter: Logging bei Zugriff von außen auf gesperrte Ports • Einheitliche Abbildung von WAN-Schnittstellen auf sogenannte Circuits • Betrieb/Routing von ISDN- und DSL-Circuits parallel möglich

Router: • Linux-Kernel 2.2.22 • Paketfilter und IP-Masquerading • DNS-Server, damit nicht jede Anfrage von Windows-PCs ins WAN geht • Netzwerkfähiger imond-Server mit Monitor-/und LCR-Steuerfunktionen • Netzwerkfähiger telmond-Server zur Ausgabe von eingehenden Telefonanrufen

Ethernet-Support: • Aktuelle Netzwerkkartentreiber: Unterstützung von über 40 Kartenfamilien

DSL-Support: • Roaring Penguin PPPoE-Treiber, mit Dial-on-Demand (abschaltbar) • PPTP für DSL-Anbindungen in Österreich und Holland (EXPERIMENTAL)

3

1

EINLEITUNG

ISDN: • Aktuelle HiSaX-Treiber: Unterstützung von 37 ISDN-Kartentypen • Mehrere ISDN-Verbindungsmöglichkeiten: in/out/callback, raw-ip/ppp • Kanalbündelung: automatische Bandbreitenanpassung oder manuelle Zuschaltung des 2. Kanals über Windows-/Unix-Client • optionales IPX-Routing

Optionale Programmpakete: • DNS-Server • DHCP-Server • SSH-Login • Telnet- und/oder FTP-Dienst • Einfache Online-/Offline-Anzeige über LED • LCD-Anzeige-Programm mit konfigurierbarem Ausgabeformat • Serielle Console als Option (HOWTO auf www.fli4l.de) • Mini-Web-Server für ISDN- und DSL-Monitoring • IPSEC-Module ipsec und pptp • Zugangserlaubnis für bestimmte konfigurierte Netzwerke von außen • PCMCIA-Support (EXPERIMENTAL) • Protokollierung von Systemmeldungen: syslogd und klogd • Konfiguration von ISA-PNP-Karten: isapnp tools • Zusätzliche Werkzeuge zum Debugging • Konfiguration der seriellen Schnittstelle • Notfallsystem zur Fernwartung über ISDN • LCD-Display als Monitor: Anzeige von Verbindungen und Übertragungsraten • PPP-Server/Router über serielle Schnittstelle • ISDN-Modem-Emulator über serielle Schnittstelle • Druckerserver • Zugriff auf Time-Server zur Synchronisierung der Uhrzeit im Netz • Ausführen von Kommandos/Prozeduren bei Telefonanruf (z.B. Internet-Einwahl)

4

2

INSTALLATION • Unterstützung von IP-Aliasing (mehrere IPs auf einer Netzwerkkarte) Hardwarevoraussetzungen: • ISDN: 386er CPU ab 25 MHz, besser 486er ab 33 MHz • DSL: 486er CPU ab DX2/66, besser 486er DX4/100 oder Pentium ab 75 MHz • 8 MB Speicher, besser 16 MB • Ehernet-Netzwerkkarte (Unterstützung von 26 verschiedenen Typen-Familien) • ISDN: HiSax unterstützte ISDN-Karte (Typ 1-28) oder AVM-B1 ISA/PCI • Keine Laufwerke ausser Diskettenlaufwerk • 1 Boot-Diskette, alles notwendige drauf • optional eine IDE-Festplatte oder ein Compact-Flash-Medium (welches genauso wie eine IDE-Festplatte angesprochen wird)

Zusätzlich gibt es zur Steuerung/Statusanzeige des fli4l-Routers noch den Client imonc. Dieses Programm ist für Windows (windows/imonc.exe) und auch für Linux (unix/gtkimonc) vorhanden. Und nun ... Viel Spaß mit fli4l! Frank Meyer mailto: [email protected]

2. Installation Unter Linux: tar xvfz fli4l-2.0.8.tar.gz Unter Unix: gtar xvfz fli4l-2.0.8.tar.gz Ist gtar nicht vorhanden, geht’s auch so: gzip -d Konfiguration die sogenannte „Smart TAR cr conversion“ abzuschalten. Ist diese eingeschaltet, werden einige (aber wichtige) Dateien von WinZip falsch extrahiert.

5

3

VARIANTEN

Tabelle 1: Installationsverzeichnisse und ihr Inhalt Dokumentation doc/deutsch/* doc/english/*

Deutsche Dokumentation Englische Dokumentation

Konfiguration config/*.txt

Konfigurationsdateien, diese müssen bearbeitet werden

Scripts/Prozeduren mkclean.sh mkclean.bat mkfloppy.sh mkfloppy.bat

Aufräumen: Linux/Unix-Version Aufräumen: Windows-Version Boot-Diskette erzeugen: Linux/Unix-Version Boot-Diskette erzeugen: Windows-Version

Kernel/Root-Filesysteme img/kernel Linux Mini-Kernel 2.2.22 img/rootfs.gz Komprimiertes ext2-Filesystem als Image Treibermodule opt/*

Beschreibungsdatei opt.txt und optionale KernelModule, Dateien und Programme

Source src/*

Sources/Tools für Linux, siehe src/README

Programme unix/mkfli4l* windows/* unix/imonc* windows/imonc.exe

Erzeugen der Boot-Disk: Unix/Linux-Version Erzeugen der Boot-Disk: Windows-Version imond-Client für Unix/Linux imond-Client für Windows

Alternativ ist das Freewareprogramm Powerarchiver (http://www.powerarchiver.com), welches ebenso mächtig wie WinZip ist, sehr zu empfehlen. Es werden Dateien im Unterverzeichnis fli4l-2.0.8/ installiert wie in Tabelle 1 gezeigt. Zur Konfiguration von fli4l müssen lediglich die Dateien config/*.txt angepasst werden. Anschließend kann man dann mit einem Befehl die Bootdiskette erstellen. ACHTUNG: Man sollte keineswegs alte Konfigurationsdateien aus einer vorherigen fli4l-Version als Vorlage verwenden. Diese sind inkompatibel!

3. Varianten In den vorhergehenden Versionen von fli4l wurde lediglich das Booten von einer Diskette unterstützt. Im Normalfall, wenn man fli4l tatsächlich nur als Router verwendet, reicht dies auch vollkommen aus. Aufgrund der stark angewachsenen Anzahl von möglichen (aber nicht unbedingt not-

6

3

VARIANTEN

3.1

Router auf nur einer Floppy – Die bisherige Installation

wendigen!) Softwarepaketen für fli4l ist ab Version 2.0 nun auch die Installation von fli4l auf Festplatten oder Compact-Flashs möglich. Man sollte jedoch zunächst erst einmal fli4l in der 1-Disketten-Version installieren und damit Erfahrungen sammeln. Natürlich ist die Kapazität einer Diskette beschränkt. Möchte man fli4l zusätzlich als Anrufbeantworter und als HTTP-Proxy einsetzen, stößt man schnell an die Kapazitätsgrenzen einer einzigen Diskette. Für diesen Fall nun ist die Installation von fli4l auf einer Festplatte oder eines CompactFlash-Moduls vorgesehen. Jedoch ist die Installation auf Fesplatte etwas komplizierter, so dass man sich erst als fortgeschrittener fli4l-User daran wagen sollte. Wie gesagt: zum Betrieb als Router reicht auch weiterhin eine Diskette, Festplatten sind nicht erforderlich! Für die Installation unterscheiden wir insgesamt 4 Varianten: • Router auf nur einer Floppy – die bisherige Installation • Typ A: Router auf Festplatte – nur eine Fat-Partition • Typ B: Router auf Festplatte – je eine Fat- und ext2-Partition • Typ C: Router auf Festplatte, manuelles Erstellen der Partitionen

3.1. Router auf nur einer Floppy – Die bisherige Installation Alle benötigten Dateien liegen auf einer DOS-formatierten Diskette. Das rootfs wird in eine 1,5 MB große Ramdisk entpackt, die Dateien des Archivs opt.tgz kommen in eine zweite Ramdisk mit variabler Größe (mindestens 1 MB). In einer Minimalkonfiguration ist damit ein Betrieb des Routers mit nur 8 MB RAM möglich. Die maximale Konfiguration wird nur durch die Kapazität der Diskette und des Hauptspeichers limitiert.

3.2. Typ A: Router auf Festplatte – nur eine Fat-Partition Dies entspricht der Diskettenversion, nur dass die Dateien hierbei auf einer Festplatte liegen, wobei der Begriff „Festplatte“ hier auch Compact-Flash-Medien ab 2 MB und andere Geräte, welche Linux als IDE-Festplatte ansprechen kann, mit einschließt. Eine SCSI-Festplatte, ein ZIP-Drive oder ein LS120 kann hier (noch) nicht verwendet werden, weil diese Geräte andere Treiber im Kernel benötigen. Die Beschränkung des Archivs opt.tgz durch die Diskettenkapazität wird aufgehoben, aber alle diese Dateien müssen in einer Ramdisk mit der entsprechenden Größe (mit der Variable RAMSIZE einstellbar) beim Boot installiert werden. Dies erhöht den RAM-Bedarf beim Einsatz vieler Pakete. Für ein Update der Softwarepakete (d. h. des Archivs opt.tgz über das Netzwerk) muss die FAT-Partition genügend Platz für den Kernel, das Rootfs und die doppelte Größe des opt.tgz haben! Falls auch die Notfall-Option genutzt werden soll, erhöht sich der Platzbedarf noch um weitere 1 − 1,5 MB.

3.3. Typ B: Router auf Festplatte – je eine Fat- und ext2-Partition Im Gegensatz zum Typ A wird hier auf eine zweite Ramdisk verzichtet. Die Dateien aus dem Archiv opt.tgz werden beim Start des Routers direkt auf eine ext2-Partition

7

3.4

Typ C: Router auf Festplatte, manuelles Erstellen der 4 Partitionen BASISKONFIGURATION

kopiert und im späteren Betrieb von dort geladen. Bei dieser Version ist der Speicherbedarf für die Ramdisk am geringsten und die Anzahl der Pakete im Archiv opt.tgz (fast) nur durch die Plattengröße limitiert.

3.4. Typ C: Router auf Festplatte, manuelles Erstellen der Partitionen Hier wird keine Neupartitionierung durch das Setup-Script duchgeführt. Statt dessen muss man vor dem Start des Setup-Scripts mindestens eine FAT-Partition angelegen, formatieren und als bootfähig markieren. Das Setup-Script fragt später nach der Bezeichnung dieser Partition. Zusätzlich können noch Swap- und Datenpartitionen angelegt und formatiert werden, wobei hier auch erweiterte Partitionen möglich sind. Dabei ist darauf zu achten, für die Boot-Partition kein FAT32 zu verwenden! Syslinux als Boot-Programm kann nämlich nur von DOS-Partitionen den Linux-Kernel laden. Es ist also zwingend FAT16 erforderlich. Zusätzlich müssen die richtigen Parameter beim Erstellen des Dateisystems angegeben werden. Die FAT-Partition kann man aber auch mit einer normalen DOS-Diskette formatieren. Dieser Installations-Typ ist nur für Benutzer mit Linux-Erfahrung gedacht, deshalb wird hier auf eine genaue Erklärung des Programmes fdisk verzichtet. Weitere Informationen zur Installation auf Festplatten sind im Kapitel 6 auf Seite 40 zu finden – beginnend bei der Beschreibung der Variablen OPT_HDINSTALL.

4. Basiskonfiguration Ab Version 2.0 ist die fli4l-Distribution modular aufgebaut und in mehrere Pakete aufgeteilt, die extra heruntergeladen werden müssen. Im Paket fli4l-2.0.8.tar.gz ist lediglich die Basis-Software für einen Ethernet-Router enthalten. Für DSL, ISDN und weitere Software müssen die Pakete separat heruntergeladen werden und ausgehend vom Verzeichnis fli4l-2.0.8/ (!) installiert werden. Siehe Tabelle 2 auf der nächsten Seite für einen Überblick über die verfügbaren Module. Die zur Konfiguration des fli4l-Routers verwendete Datei config/isdn.txt wird hier im folgenden beschrieben. Diese Datei kann mit einem Text-Editor oder neuerdings auch mit einem WindowsKonfigurationsprogramm angepasst werden. Mit Hilfe des „fli4l-Wizard“ kann man sich dann die Konfiguration mit der Maus quasi „zusammenklicken“. Das Programm wurde von Carsten Cerny und Jürgen Bauer in einer völlig neuen Fassung für die fli4lVersion 1.4 erstellt. Ziel ist, mit Hilfe von fliwiz auch mit wenig Netzwerkkenntnissen eine Standard-Router-Konfiguration zu generieren. Dabei sind evtl. in dieser neuen Version noch nicht alle speziellen Features von fli4l einstellbar; für eine Standard-RouterKonfiguration ist es aber auf jeden Fall geeignet. Weil fliwiz auch selbst eine ASCIIDatei als Konfigurationsdatei erzeugt, die der mitgelieferten Datei entspricht, kann jeder selbst entscheiden, ob er fliwiz und/oder einen Text-Editor verwenden möchte. Sollte jemand Anregungen zur Verbesserung des Programms haben, freuen sich Carsten bzw. Jürgen bestimmt auf eine Mail dazu.

8

4

BASISKONFIGURATION

4.1

Beispiel-Datei

Tabelle 2: verfügbare Module Download-Archiv fli4l-2.0.8 dsl isdn dhcp hd httpd imodem inet ipx lcd lpdsrv pcmcia ppp proxy scsi serial time tools

Paket BASIS, erforderlich! DSL-Router (PPPoE, PPTP) ISDN-Router DHCP-Server Installation auf Festplatte Mini-Webserver für Status-Ausgaben ISDN-Modem-Emulator Telnet/FTP/SSH-Server IPX über ISDN LCD-Treiber-Software + Statusanzeige Druckerserver (ohne Spooling) Unterstützung von PCMCIA-Karten PPP-Anbindung über serielle Schnittstelle HTTP-Proxy SCSI-Treiber Tools für serielle Schnittstelle Time-Server/Client Diverse Linux-Programme als Tools

Die aktuelle Version von fliwiz findet man – wie auch fli4l – unter http://www.fli4l. de/ Sind spezielle Anpassungen/Erweiterungen erforderlich, die über die unten aufgeführten Einstellungsmöglichkeiten hinausgehen, benötigt man ein lauffähiges LinuxSystem, um Anpassungen im rootfs vorzunehmen. In diesem Fall hilft src/README weiter.

4.1. Beispiel-Datei Die Beispiel-Datei base.txt im Verzeichnis config hat folgenden Inhalt: #-----------------------------------------------------------------------------# General settings: #-----------------------------------------------------------------------------HOSTNAME=’fli4l’ # name of fli4l router PASSWORD=’fli4l’ # password for telnetd, ftpd and sshd MOUNT_BOOT=’rw’ # mount boot device (floppy): ro, rw, no RAMSIZE=’2048’ # size of ramdisk for unzipped opt.tgz # the variables MOUNT_OPT, PART_OPT and UPDATE_MODE will be ignored if # RAMSIZE is not empty. see docu MOUNT_OPT=’ro’ # mount opt device: ro, rw PART_OPT=’hda2’ # location of opt-files? ram1 or disk-partition UPDATE_MODE=’full’ # add, cfg, full, none, see documentation #-----------------------------------------------------------------------------# Ethernet card drivers: # uncomment your ethernet card

9

4.1

Beispiel-Datei

4

BASISKONFIGURATION

#-----------------------------------------------------------------------------ETH_DRV_N=’1’ # number of ethernet drivers to load, usually 1 #ETH_DRV_1=’3c505’ # ISA: 3COM Etherlink Plus (3c505) #ETH_DRV_1=’3c507’ # ISA: 3COM Etherlink 16 (3c507) #ETH_DRV_1=’3c509’ # ISA: 3COM EtherLinkIII (3c509) #ETH_DRV_1=’3c515’ # ISA: 3COM EtherLink XL ISA (3c515) #ETH_DRV_1=’3c59x’ # PCI: 3COM Vortex/Boomerang 3c59x,3c900,3c905 #ETH_DRV_1=’82596’ # Apricot Xen-II on board Ethernet #ETH_DRV_1=’8390 3c503’ # ISA: 3COM EtherLinkII (3c503) #ETH_DRV_1=’8390 e2100’ # ISA: Cabletron E21xx ISA #ETH_DRV_1=’8390 hp’ # ISA: HP PCLAN (27245, 27xxx) ISA #ETH_DRV_1=’8390 hp-plus’ # ISA: HP PCLAN+ (27247B and 27252A) ISA ETH_DRV_1=’8390 ne’ # ISA: NE2000 ISA clone (eg. Realtek 8019, # Accton 16xx, NatSemi 8390, UMC 9003/9008) #ETH_DRV_1=’8390 ne2k-pci’ # PCI: NE2000 PCI clone (eg. Realtek 8029, # Winbond 89c940) #ETH_DRV_1=’8390 smc-ultra’ # ISA: SMC ULTRA #ETH_DRV_1=’8390 smc-ultra32’ # EISA: SMC ULTRA32 (NEW) #ETH_DRV_1=’8390 wd’ # ISA: SMC WD80*3 #ETH_DRV_1=’at1700’ # ISA: AT1700 (Fujitsu 86965) ISA #ETH_DRV_1=’cs89x0’ # ISA: IBM Etherjet, cs89x0 based Cards (Option io=0xnnn necessary!) #ETH_DRV_1=’de4x5’ # PCI/EISA: Digital DE425, DE434, DE435, DE450, DE500 #ETH_DRV_1=’depca’ # ISA: DEPCA, DE10x, DE200, DE201, DE202, DE422 #ETH_DRV_1=’dgrs’ # PCI: Digi International RightSwitch PCI/EISA #ETH_DRV_1=’dmfe’ # PCI: DM9102 compatible PCI cards from Davicom #ETH_DRV_1=’elp486’ # ISA: Intel Professional Workstation/panther 82596 #ETH_DRV_1=’eepro’ # ISA: Intel EtherExpress Pro/10 #ETH_DRV_1=’pci-scan eepro100’ # PCI: Intel EtherExpressPro PCI 10+/100B/100+ #ETH_DRV_1=’eexpress’ # ISA: EtherExpress16 ISA #ETH_DRV_1=’epic100’ # PCI: SMC EPIC/100 (EtherPower II) PCI #ETH_DRV_1=’eth16i’ # ISA/EISA: ICL EtherTeam 16i/32 #ETH_DRV_1=’ewrk3’ # ISA: EtherWORKS 3 ISA (DE203, DE204, DE205) #ETH_DRV_1=’fealnx’ # PCI: ASOUND LAN 8139 card - not RTL8139 (NEW) #ETH_DRV_1=’hp100’ # ISA/EISA/PCI: HP 10/100VG PCLAN (ISA, EISA, PCI) #ETH_DRV_1=’lance’ # ISA: AMD LANCE and PCnet (AT1500, NE2100) ISA #ETH_DRV_1=’old_tulip’ # PCI: Old DECchip Tulip (dc21x4x) PCI #ETH_DRV_1=’pcnet32’ # PCI: AMD PCI PCnet32 #ETH_DRV_1=’pci-scan rtl8139’ # PCI: RealTek 8129/8139 (not 8019/8029!) (NEW) #ETH_DRV_1=’8139too’ # PCI: RealTek 8139 10/100 MB (NEW) #ETH_DRV_1=’sis900’ # PCI: SiS 900/7016 #ETH_DRV_1=’sundance’ # PCI: DFE-550FX or DFE-530TXS (NEW) #ETH_DRV_1=’tlan’ # PCI: TI ThunderLAN (Compaq Netelligent ...) #ETH_DRV_1=’tulip’ # PCI: DECchip Tulip (dc21x4x) PCI #ETH_DRV_1=’pci-scan natsemi’ # PCI: Nat Semi #ETH_DRV_1=’pci-scan starfire’ # PCI: Starfire #ETH_DRV_1=’pci-scan via-rhine’ # PCI: VIA Rhine PCI (3043, VT86c100A, dfe-530tx) #ETH_DRV_1=’pci-scan winbond-840’ # PCI: Winbond 840 #ETH_DRV_1=’lanstreamer’ # Token Ring: IBM Auto LANStreamer PCI Adapter #ETH_DRV_1=’olympic’ # Token Ring: IBM cards (Pit/Pit-Phy/Olympic) #ETH_DRV_1=’ibmtr’ # Token Ring: IBM 16/4 #ETH_DRV_1=’8390 pcnet_cs’ # PCMCIA: NS8390-based cards (NE2000, DLINK etc) #ETH_DRV_1=’3c574_cs’ # PCMCIA: 3Com 574 #ETH_DRV_1=’3c575_cb’ # PCMCIA: 3Com 575 #ETH_DRV_1=’3c589_cs’ # PCMCIA: 3Com 589 #ETH_DRV_1=’airo’ # PCMCIA: Airo 4500 & 4800 series cards #ETH_DRV_1=’airo_cs’ # PCMCIA: Airo 4500 & 4800 series cards #ETH_DRV_1=’eepro100_cb’ # PCMCIA: EtherExpress Pro 100 #ETH_DRV_1=’epic_cb’ # PCMCIA: SMC 83c170 EPIC/100 #ETH_DRV_1=’ibmtr_cs’ # PCMCIA: IBM Token Ring #ETH_DRV_1=’netwave_cs’ # PCMCIA: Netwave AirSurfer Wireless LAN #ETH_DRV_1=’nmclan_cs’ # PCMCIA: New Media Ethernet LAN #ETH_DRV_1=’pcnet_cs’ # PCMCIA: NS8390 Based cards #ETH_DRV_1=’ray_cs’ # PCMCIA: Raylink wireless cards #ETH_DRV_1=’smc91c92_cs’ # PCMCIA: SMC91c92-based cards #ETH_DRV_1=’tulip_cb’ # PCMCIA: DEC 21040-family cards #ETH_DRV_1=’wavelan_cs’ # PCMCIA: WaveLAN

10

4

BASISKONFIGURATION

4.1

#ETH_DRV_1=’wavelan2_cs’ #ETH_DRV_1=’wvlan_cs’ #ETH_DRV_1=’xirc2ps_cs’ #ETH_DRV_1=’wl24_cs’ #ETH_DRV_1=’cs89x0_cs’

# # # # #

PCMCIA: PCMCIA: PCMCIA: PCMCIA: PCMCIA:

ETH_DRV_1_OPTION=’’

# additional option, e.g. ’io=0x340’ for ne

Beispiel-Datei

WaveLAN2 Lucent WaveLAN/IEEE 802.11 Xircom: CE2, CEM28, CEM33, or CE3 ELSA Airlancer MC-2 IBM EtherJet Ethernet Adapter

#-----------------------------------------------------------------------------# Ether networks used with IP protocol: #-----------------------------------------------------------------------------IP_ETH_N=’1’ # number of ip ethernet networks, usually 1 IP_ETH_1_NAME=’’ # optional: other device name than ethX IP_ETH_1_IPADDR=’192.168.6.1’ # IP address of your n’th ethernet card IP_ETH_1_NETWORK=’192.168.6.0’ # network of your LAN IP_ETH_1_NETMASK=’255.255.255.0’ # netmask of your LAN #-----------------------------------------------------------------------------# Additional routes, optional #-----------------------------------------------------------------------------IP_DEFAULT_GATEWAY=’’ # normally not used, read documentation! IP_ROUTE_N=’0’ # number of additional routes IP_ROUTE_1=’192.168.7.0 255.255.255.0 192.168.6.99’ # network netmask gateway #-----------------------------------------------------------------------------# Masquerading: #-----------------------------------------------------------------------------MASQ_NETWORK=’192.168.6.0/24’ # networks to masquerade (e.g. our LAN) MASQ_MODULE_N=’1’ # load n masq modules (default: only ftp) MASQ_MODULE_1=’ftp’ # ftp MASQ_MODULE_2=’h323’ # h323 (netmeeting) MASQ_MODULE_3=’icq’ # icq (use with caution!) MASQ_MODULE_4=’irc’ # irc MASQ_MODULE_5=’raudio’ # raudio MASQ_MODULE_6=’vdolive’ # vdolive MASQ_MODULE_7=’quake’ # quake MASQ_MODULE_8=’cuseeme’ # cuseeme MASQ_MODULE_9=’mms’ # MSN-Filetransfer MASQ_MODULE_10=’pptp’ # pptp MASQ_MODULE_11=’ipsec’ # ipsec MASQ_MODULE_12=’dplay’ # dplay (direct play) MASQ_MODULE_13=’msn-0.02’ # msn zone (use version 0.01 or 0.02) MASQ_MODULE_14=’udp_dloose’ # pseudo mod: some internet games need it MASQ_FTP_PORT_N=’0’ MASQ_FTP_PORT_1=’21’ MASQ_FTP_PORT_2=’2021’

# using ftp masq-module on different ports # standard ftp port # additional port

#-----------------------------------------------------------------------------# Optional package: PORTFW # # If you set OPT_PORTFW=’yes’, you can also edit opt/etc/portfw.sh #-----------------------------------------------------------------------------OPT_PORTFW=’no’ # install port forwarding tools/modules PORTFW_N=’0’ # how many portforwardings to set up PORTFW_1=’8080 192.168.6.15:80 tcp’ # sample 1: forward ext. port 8080 to int. # host 192.168.6.15 to port 80 (use tcp) PORTFW_2=’3000-3010 192.168.6.15 tcp’ # sample 2: forward portrange to int. host # 192.168.5.15 (use tcp)

#-----------------------------------------------------------------------------# Routing without masquerading #-----------------------------------------------------------------------------ROUTE_NETWORK=’’ # optional: route from/to network, no masq

11

4.1

Beispiel-Datei

4

BASISKONFIGURATION

#-----------------------------------------------------------------------------# Routing: internal hosts to deny forwarding #-----------------------------------------------------------------------------FORWARD_DENY_HOST_N=’0’ # number of denied hosts FORWARD_DENY_HOST_1=’192.168.6.5’ # optional: 1st denied host FORWARD_DENY_HOST_2=’192.168.6.6’ # optional: 2nd denied host #-----------------------------------------------------------------------------# Routing: ports to reject/deny forwarding (from inside and outside!) #-----------------------------------------------------------------------------FORWARD_DENY_PORT_N=’1’ # no. of ports to reject/deny forwarding FORWARD_DENY_PORT_1=’137:139 REJECT’ # deny/reject forwarding of netbios FORWARD_TRUSTED_NETS=’’ # but allow forwarding between LANs #-----------------------------------------------------------------------------# Firewall: ports to reject/deny from outside (all served ports) # # here we leave two ports untouched: # # 53 dns # 113 auth #-----------------------------------------------------------------------------FIREWALL_DENY_PORT_N=’6’ # no. of ports to reject/deny FIREWALL_DENY_PORT_1=’0:52 REJECT’ # privileged ports: reject or deny FIREWALL_DENY_PORT_2=’54:112 REJECT’ # privileged ports: reject or deny FIREWALL_DENY_PORT_3=’114:1023 REJECT’ # privileged ports: reject or deny FIREWALL_DENY_PORT_4=’5000:5001 REJECT’ # imond/telmond ports: reject or deny FIREWALL_DENY_PORT_5=’8000 REJECT’ # proxy access: reject or deny FIREWALL_DENY_PORT_6=’20012 REJECT’ # vbox server access: reject or deny FIREWALL_DENY_ICMP=’no’ FIREWALL_LOG=’yes’

# deny icmp (ping): yes or no # log access to rejected/denied ports

#-----------------------------------------------------------------------------# Domain configuration: #-----------------------------------------------------------------------------START_DNS=’yes’ # start dns server: yes or no DNS_FORWARDERS=’192.76.144.66’ # DNS servers of your provider, e.g. MSN DNS_VERBOSE=’no’ # log queries in /usr/local/ens/ens.log DOMAIN_NAME=’lan.fli4l’ # your domain name DNS_FORBIDDEN_N=’0’ # number of forbidden domains DNS_FORBIDDEN_1=’foo.bar’ # 1st forbidden domain DNS_FORBIDDEN_2=’bar.foo’ # 2nd forbidden domain HOSTS_N=’4’ # number of hosts in your domain HOST_1=’192.168.6.1 fli4l’ # 1st host: ip and name HOST_2=’192.168.6.2 client2’ # 2nd host: ip and name HOST_3=’192.168.6.3 client3’ # 3rd host: ip and name HOST_4=’192.168.6.4 client4’ # 4th host: ip and name #-----------------------------------------------------------------------------# Special DNS configuration #-----------------------------------------------------------------------------DNS_N=’0’ # number of special dns servers, normally 0 #DNS_1=’firma.de 192.168.1.12’ # 1st special dns server for firma.de #DNS_2=’lan.firma.de 192.168.2.12’ # 2nd special dns server for lan.firma.de #-----------------------------------------------------------------------------# imond configuration: #-----------------------------------------------------------------------------START_IMOND=’no’ # start imond: yes or no IMOND_PORT=’5000’ # TCP-Port, see also FIREWALL_DENY_PORT_x! IMOND_PASS=’’ # imond-password, may be empty IMOND_ADMIN_PASS=’’ # imond-admin-password, may be empty IMOND_LED=’’ # tty for led: com1 - com4 or empty IMOND_BEEP=’no’ # beep if connection going up/down IMOND_LOG=’no’ # log /var/log/imond.log: yes or no

12

4

BASISKONFIGURATION

IMOND_LOGDIR=’/var/log’ IMOND_ENABLE=’yes’ IMOND_DIAL=’yes’ IMOND_ROUTE=’yes’ IMOND_REBOOT=’yes’

4.2

# # # # #

Allgemeine Einstellungen

log-directory, e.g. /var/log accept "enable/disable" commands accept "dial/hangup" commands accept "route" command accept "reboot" command

#-----------------------------------------------------------------------------# Generic circuit configuration: #-----------------------------------------------------------------------------IP_DYN_ADDR=’yes’ # use dyn. ip addresses (most providers do) DIALMODE=’auto’ # standard dialmode: auto, manual, or off #-----------------------------------------------------------------------------# optional package: syslogd #-----------------------------------------------------------------------------OPT_SYSLOGD=’no’ # start syslogd: yes or no SYSLOGD_DEST_N=’1’ # number of destinations SYSLOGD_DEST_1=’*.* /dev/console’ # n’th prio & destination of syslog msgs SYSLOGD_DEST_2=’*.* @192.168.6.2’ # example: loghost 192.168.6.2 SYSLOGD_DEST_3=’kern.info /var/log/dial.log’ # example: log infos #-----------------------------------------------------------------------------# optional package: klogd #-----------------------------------------------------------------------------OPT_KLOGD=’no’ # start klogd: yes or no #-----------------------------------------------------------------------------# optional package: y2k correction #-----------------------------------------------------------------------------OPT_Y2K=’no’ # y2k correction: yes or no Y2K_DAYS=’’ # correct hardware Y2K-Bug: add x days #-----------------------------------------------------------------------------# Optional package: PNP #-----------------------------------------------------------------------------OPT_PNP=’no’ # install isapnp tools: yes or no

Zu beachten ist, dass diese Datei im DOS-Format gespeichert ist. Das heißt, sie enthält jeweils am Zeilenende ein zusätzliches Carriage-Return (CR). Da die meisten UNIXEditoren damit keine Probleme bekommen, habe ich mich für dieses Format entschlossen, denn umgekehrt hat Windows-Notepad bei fehlendem CR am Zeilenende keine Chance! Sollte es wider Erwarten unter Unix/Linux doch Probleme mit dem Lieblingseditor geben, kann die Datei vor dem Editieren mit einem Befehl in das Unix-Format konvertiert werden: sh unix/dtou config/base.txt Für die Erstellung der Boot-Diskette ist es völlig unerheblich, ob die Datei CRs am Zeilenende enthält oder nicht. Sie werden beim Schreiben auf die Bootdiskette einschließlich der Kommentare komplett ignoriert. Jetzt aber zum Inhalt:

4.2. Allgemeine Einstellungen HOSTNAME

Als erstes sollte man seinem fli4l-Router einen Namen geben. Im Beispiel ist dies "fli4l". Dieser sollte auch wieder weiter unten in der Domain-Konfiguration bei HOST_x wieder auftauchen (s. u.).

PASSWORD

Möchte man einen der optionalen Dienste telnet, ssh oder ftp nutzen, sollte man ein gut gewähltes Password setzen – auch wenn die-

13

4.2

Allgemeine Einstellungen

4

BASISKONFIGURATION

se Dienste wegen der Firewall sowieso nur vom LAN aus erreichbar sind. Das Password ist ab Version 1.5 zwingend. Siehe dazu auch: OPT_TELNETD OPT_SSHD OPT_FTPD Standard-Einstellung: PASSWORD=’fli4l’ MOUNT_BOOT

Hier wird eingestellt, wie die Boot-Floppy "gemountet"werden soll. Es gibt 3 Möglichkeiten: 1.

rw Read/Write Schreiben/Lesen

2.

ro Readonly Nur-Lesen

3.

no None Diskette wird nach dem Boot wieder abgemeldet.

Bei bestimmten Konfigurationen ist es unbedingt erforderlich, die Diskette Read/Write anzumelden, z. B. wenn man den DHCP-Server einsetzen oder die imond-Log-Datei auf der Diskette anlegen möchte. Standard-Einstellung: MOUNT_BOOT=’rw’ RAMSIZE

RAMSIZE gibt die Größe der Ramdisk für optionale Pakete und Treiber an. Der Minimalwert ist 1024. Wenn die Dateien des opt.tgz auf der ext2-Partition (Standard-Linux-Dateisystem) einer Festplatte abgelegt werden sollen, muss diese Variable leer bleiben: RAMSIZE=’’ Diese Variable gibt nicht den gesamten Speicher des Routers an! Eine kleine Beispielrechnung: •

der Router hat 16 MB RAM



es werden diverse opts eingesetzt, die nach dem Entpacken des opt.tgz insgesamt 2,5 MB belegen. Diesen Wert kann man durch Addieren der Werte im Kapitel 6 auf Seite 40 ermitteln.



mit diesen Erkenntnissen wird die Variable RAMSIZE auf einen Wert eingestellt, der etwas über den 2,5 MB liegt. (also RAMSIZE=’3000’)



damit bekommt man folgende Speichernutzung des Routers: –





1,5 MB für das rootfs.gz, falls das Standard-Rootfs eingesetzt wird. Auf www.fli4l.de sind auch alternative Rootfs mit anderen Größen verfügbar. 3 MB für die zweite Ramdisk, deren Größe mit RAMSIZE eingestellt wurde. Damit sind von der 16 MB RAM schon 4,5 MB mit der „Simulation von Festplatten“ belegt! 16 − 1, 5 − 3 = 11, 5 MB für die Ausführung des LinuxKernels und der Programme nutzbarem RAM.

14

4

BASISKONFIGURATION

4.2

Allgemeine Einstellungen

Falls im Betrieb des Routers Fehlermeldungen try-to-freepages auftreten, ist zuwenig für Programme nutzbares RAM übrig. Als Abhilfe kann stehen dann folgende Optionen zur Verfügung: – – – –

mehr RAM einbauen RAMSIZE etwas verkleinern weniger opts einsetzen eine Festplatteninstallation nach Typ B durchführen und RAMSIZE danach leer lassen

Im Kapitel 6 auf Seite 40 ist aufgezählt, welche opt-Pakete wieviel Speicherplatz im RAM benötigen. Je nach Installationsumfang sollte man daher diesen Wert entsprechend anpassen. Einen Punkt sollten Sie immer bedenken: Es gibt keinen „optimalen Wert für einen Router mit 64 MB RAM“, sondern nur einen „optimalen Wert für einen Router mit den von Ihnen ausgewählten optPaketen“. Hier noch ein kleiner Tip: Nach der Installation kann man sich mit dem Befehl df direkt auf dem Router anschauen, wieviel Platz in der Ramdisk noch frei ist. Beispiel: Filesystem /dev/ram /dev/ram1 /dev/hda1

1k-blocks 1307 7931 8168

Used Available Use% Mounted on 977 255 79% / 1878 6053 24% /opt 3032 5136 37% /boot

Wichtig ist die Zeile /dev/ram1 .... /opt. Im Beispiel ist die Ramdisk mit einer Größe von 8 MB nur zu 24 % belegt. Dieser Wert sollte nicht über 90 % liegen. Standard-Einstellung: RAMSIZE=’2048’ MOUNT_OPT

Hiermit wird angegeben, ob der Router die in PART_OPT angegebene Partition Read-Only oder Read-Write montieren („mounten“) soll. Wenn die Partition eine Ramdisk ist (also die Variable RAMSIZE ausgefüllt ist), wird dieser Parameter ignoriert. Ein entpacktes opt.tgz auf einer Festplatte kann schreibgeschützt (ro) gemountet werden. Standard-Einstellung: MOUNT_OPT=’ro’

PART_OPT

PART_OPT gibt an, wohin die Datei opt.tgz entpackt werden soll, bzw. wo diese Dateien bereits in entpackter Form liegen. Ein möglicher Wert ist z. B. ’hda2’, wenn fli4l auf einer Festplatte oder Compact-Flash installiert werden soll. Hierbei gilt: ’hda2’ für eine Festplatte als Master am primären IDE-Port ’hdb2’ für eine Festplatte als Slave am primären IDE-Port ’hdc2’ für eine Festplatte als Master am sekundären IDE-Port

15

4.3

Ethernet-Netzwerkkarten-Treiber

4

BASISKONFIGURATION

’hdd2’ für eine Festplatte als Slave am sekundären IDE-Port Falls Sie sich für eine manuelle Partitionierung entschieden haben, müssen Sie hier die ext2-Partition eintragen, welche Sie hierfür vorgesehen haben. Wichtig: Alles klein schreiben! Dieser Wert wird ignoriert, solange die Variable RAMSIZE nicht leer ist. Bei einem Router auf Diskette oder nach Festplatten-Setup Typ A wird diese Variable ignoriert! Standard-Einstellung: PART_OPT=’hda2’ UPDATE_MODE

Hiermit wird festgelegt, wie das Entpacken des opt.tgz auf einer Festplatte durchgeführt werden soll. Möglichkeiten: add: das opt.tgz wird einfach über die bereits existierenden Dateien kopiert. Dateien gleichen Namens werden dabei überschrieben. Andere Dateien, welche Sie manuell auf den Router kopiert haben, werden nicht gelöscht. cfg: alle bereits existierenden Konfigurationsdateien in den Verzeichnissen etc und var werden vor dem Entpacken des opt.tgz gelöscht. full: die Verzeichnisse etc, var und files (also alle im opt.tgz enthaltenen Dateien), werden vor dem Entpacken des opt.tgz gelöscht. Dies ist die sicherste Einstellung, Sie haben damit immer eine saubere und vollständige Konfiguration auf dem Router. none: das opt.tgz wird nicht entpackt, es werden keine automatischen Updates vorgenommen. Bitte auch bei dieser Variable auf die Kleinschreibung achten! Standard-Einstellung: UPDATE_MODE=’full’

4.3. Ethernet-Netzwerkkarten-Treiber ETH_DRV_N

Anzahl der benötigten Netzwerkkarten-Treiber. Wird der Router nur fuer ISDN verwendet, so gibt es in der Regel nur eine Netzwerkkarte, der Standard-Wert ist also 1. Bei DSL werden jedoch meistens zwei Netzwerkkarten verwendet. Hierbei muss man zwei Fälle unterscheiden: 1.

Beide Karten sind vom gleichen Typ. Dann muss nur ein Treiber geladen werden, der dann beide Karten anspricht, also ETH_ DRV_N=’1’.

16

4

BASISKONFIGURATION 2.

4.3

Ethernet-Netzwerkkarten-Treiber

Es werden zwei verschiedene Karten verwendet, dann muss man hier ’2’ angeben und den Treiber fuer die zweite Karte angeben.

Ab Version 1.5 können nun auch Token-Ring-Karten eingesetzt werden. Für diese gilt im folgenden dasselbe wie für Ethernetkarten. ETH_DRV_x ETH_DRV_x_OPTION

Benötigter Netzwerkkarten-Treiber

Über die Variable ETH_DRV_1 wird standardmäßig der Treiber für eine NE2000-kompatible Netzwerkkarte geladen. Weitere verfügbare Treiber für eine große Anzahl von Netzwerkkartenfamilien sind bereits in der Beispiel-Datei eingetragen. Bei einigen Treibern, wie z. B. für die SMC-Karte WD8013, müssen zwei Treiber geladen werden: 8390 und wd. Für diese Karten sind bereits diese Treiber-Pärchen in der Beispiel-Datei vorgegeben, so dass man sie nur noch auskommentieren muss. Die 3COM EtherLinkIII (3c509) muss über ein Dostool 3c509cfg.exe (ftp://ftp.ihg.uni-duisburg.de/Hardware/3com/3c5x9n/3C5X9CFG.EXE) konfiguriert werden. Dabei sollten irq und io-Port und gegebenenfalls auch der Anschluss (BNC/TP) eingestellt werden. Der Eintrag ETH_ DRV_x_OPTION=’’ kann in der Regel leer bleiben. Bei manchen ISA-Karten braucht der Treiber zusätzliche Informationen, um die Karte zu finden, z. B. die I/O-Adresse. Bei NE2000kompatiblen ISA-Karten und bei der EtherExpress16 ist dies zum Beispiel der Fall. Hier ist z. B. ETH_DRV_x_OPTION=’io=0x340’ zu setzen (oder der entsprechende numerische Wert). Ist keine Option nötig, kann die Variable leer gelassen werden. Sind mehrere Optionen nötig, sind diese durch Leerzeichen zu trennen, z. B ETH_DRV_x_OPTION=’irq=9 io=0x340’ Werden zwei identische Netzwerkkarten verwendet, z. B. NE2000ISA-Karten, müssen die verschiedenen I/O-Werte durch Komma getrennt werden, also ETH_DRV_x_OPTION=’io=0x240,0x300’ Die beiden IO-Werte müssen durch Komma ohne Blank getrennt werden! Dieses funktioniert nicht bei allen Netzwerkkarten-Treibern. Einige muss man auch doppelt laden, also dann ETH_DRV_N=’2’. In diesem Fall müssen aber mit der Option -o verschiedene Namen vergeben werden, z. B. ETH_DRV_N=’2’ ETH_DRV_1=’3c503’ ETH_DRV_1_OPTION=’-o 3c503-0 io=0x280’ ETH_DRV_2=’3c503’ ETH_DRV_2_OPTION=’-o 3c503-1 io=0x300’

17

4.3

Ethernet-Netzwerkkarten-Treiber

4

BASISKONFIGURATION

Da ich in meinem fli4l-Router keine 2 Netzkwerkkarten habe, kann ich leider nicht mehr dazu sagen. Mein Tip: erst die Komma-Methode ausprobieren, danach das mehrfache Laden mit Option -o versuchen. Achtung: Wer zwei NE-Clones verwendet, und zwar jeweils eine ISA- und eine PCI-Karte, muss für die ISA-Karte zusätzlich ’probe_ pci=0’ als Option angeben, also z. B. ETH_DRV_1_OPTION=’io=0x240 probe_pci=0’ Wer mit 2 Netzwerkkarten Erfahrungen gesammelt hat, kann mir diese gerne mitteilen. Ich werde sie dann in die Dokumentation einfließen lassen. Nachfolgend noch einige Beispiele von Netzwerkkarten: •

1 x NE2000 ISA ETH_DRV_1=’8390 ne’ ETH_DRV_1_OPTION=’io=0x340’



1 x 3COM EtherLinkIII (3c509) ETH_DRV_1=’3c509’ ETH_DRV_1_OPTION=’’ Siehe zu dieser Karte auch http://www.fli4l.de/german/extern/faq/faq05.htm#faq5_18 http://www.fli4l.de/german/extern/faq/faq05.htm#faq5_19 http://www.fli4l.de/german/extern/faq/faq05.htm#faq5_17



2 x NE2000 ISA ETH_DRV_1=’8390 ne’ ETH_DRV_1_OPTION=’io=0x320,0x340’ Oft muss man hier noch die IRQ-Werte mit angeben, also ETH_DRV_1_OPTION=’io=0x320,0x340 irq=3,5’ Man sollte es hier zunächst ohne Angabe der Interrupts probieren und lediglich dann die Interrupts eintragen, wenn ohne Angabe der Interrupts die Netzwerkkarten nicht gefunden werden.



2 x NE2000 PCI ETH_DRV_1=’8390 ne2k-pci’ ETH_DRV_1_OPTION=’’



1 x NE2000 ISA, 1 x NE2000 PCI

18

4

BASISKONFIGURATION

4.3

Ethernet-Netzwerkkarten-Treiber

ETH_DRV_1=’8390 ne’ ETH_DRV_1_OPTION=’io=0x340 probe_pci=0’ ETH_DRV_2=’ne2k-pci’ ETH_DRV_2_OPTION=’’ •

1 x SMC WD8013, 1 x NE2000 ISA ETH_DRV_1=’8390 wd’ ETH_DRV_1_OPTION=’io=0x270’ ETH_DRV_2=’ne2k’ ETH_DRV_2_OPTION=’io=0x240’

Tabelle 3 zeigt eine Liste der möglichen Treiber (s. a. die vollständige Liste in config/base.txt). Info: Bei Verwendung des elp486-Treibers muss der verwendete IRQ über die EISA-Konfiguration auf den Default-Wert IRQ=10 gestellt werden.

Tabelle 3: Ethernet-/TokenRing-Treiber und Kartenfamilien ETH_DRV_x Kartenfamilie ’3c505’ ’3c507’ ’3c509’ ’3c515’ ’3c59x’ ’82596’ ’8390 3c503’ ’8390 cs89x0’ ’8390 e2100’ ’8390 hp’ ’8390 hp-plus’ ’8390 ne’ ’8390 ne2k-pci’ ’8390 smc-ultra’ ’8390 wd’ ’at1700’ ’de4x5’ ’depca’ ’dgrs’ ’dmfe’ ’elp486’ ’eepro’ ’eepro100’ ’eexpress’ ’epic100’

3COM Etherlink Plus (3c505) 3COM Etherlink 16 (3c507) 3COM EtherLinkIII (3c509) 3COM EtherLink XL ISA (3c515) 3COM Vortex/Boomerang 3c59x,3c900,3c905 Apricot Xen-II on board Ethernet 3COM EtherLinkII (3c503) CRYSTAL LAN CS8900/CS8920 Cabletron E21xx ISA HP PCLAN (27245, 27xxx) ISA HP PCLAN+ (27247B and 27252A) ISA NE2000 ISA clone NE2000 PCI clone SMC ULTRA SMC WD80*3 AT1700 (Fujitsu 86965) ISA Digital DE425, DE434, DE435, DE450, DE500 DEPCA, DE10x, DE200, DE201, DE202, DE422 Digi International RightSwitch PCI/EISA DM9102 compatible PCI cards from Davicom Intel Professional Workstation/panther 82596 Intel EtherExpress Pro/10 Intel EtherExpressPro PCI 10+/100B/100+ EtherExpress16 ISA SMC EPIC/100 (EtherPower II) PCI

19

4.4

Ethernet-Karten/Netzwerke

4

BASISKONFIGURATION

Tabelle 3: Ethernet-/TokenRing-Treiber und Kartenfamilien (Forts.) ETH_DRV_x Kartenfamilie ’eth16i’ ICL EtherTeam 16i/32 ’ewrk3’ EtherWORKS 3 ISA (DE203, DE204, DE205) ’hp100’ HP 10/100VG PCLAN (ISA, EISA, PCI) ’lance’ AMD LANCE and PCnet (AT1500, NE2100) ISA ’old_tulip’ Old DECchip Tulip (dc21x4x) PCI ’pcnet32’ AMD PCI PCnet32 ’rtl8139’ RealTek 8129/8139 (not 8019/8029!) PCI ’sis900’ SiS 900/7016 ’tlan’ TI ThunderLAN (Compaq Netelligent ...) ’tulip’ DECchip Tulip (dc21x4x) PCI ’via-rhine’ VIA Rhine PCI (3043, VT86c100A, dfe-530tx) ’lanstreamer’ Token Ring: IBM Auto LANStreamer PCI Adapter ’olympic’ Token Ring: IBM cards (Pit/Pit-Phy/Olympic) ’ibmtr’ Token Ring: IBM 16/4 ’8390 pcnet_cs’ PCMCIA: NS8390-based cards (NE2000, DLINK etc) ’3c574_cs’ PCMCIA: 3Com 574 ’3c589_cs’ PCMCIA: 3Com 589 ’netwave_cs’ PCMCIA: Netwave AirSurfer Wireless LAN ’nmclan_cs’ PCMCIA: New Media Ethernet LAN ’smc91c92_cs’ PCMCIA: SMC91c92-based cards ’wavelan_cs’ PCMCIA: Wavelan ’xirc2ps_cs’ PCMCIA: Xircom: CE2, CEM28, CEM33, or CE3

4.4. Ethernet-Karten/Netzwerke IP_ETH_N

IP_ETH_x_NAME

Anzahl der Ethernet- oder Token-Ring-Netzwerkkarten, die an das IP-Protokoll gebunden werden sollen. Im Normalfall also ’1’. Optional: Interface-Name der Ethernetkarte. Normalerweise wird der Interface-Name (auch Device-Name) von fli4l automatisch gesetzt, nämlich in der Reihenfolge ’eth0’, ’eth1’ usw. In einzelnen Fällen, wenn z. B. IP-Aliasing (mehrere IP-Adressen auf einer Netzwerkkarte) genutzt werden soll, ist die manuelle Vergabe der Interface-Namen sinnvoll. Sonst lässt man die Variable einfach leer. Achtung! Das Füllen dieser Variablen kann zu Fehlern führen. Im Zweifel ist diese Variable leer zu lassen. Beispiel: IP_ETH_1_NAME=’eth0’ IP_ETH_2_NAME=’eth0:0’ Standard-Einstellung: IP_ETH_1_NAME=’’

20

4

BASISKONFIGURATION

4.5

Zusätzliche Routen (optional)

IP_ETH_x_IPADDR

Die IP-Adresse der x-ten Netzwerkkarte im fli4l-Router. Im Beispiel ist dies ’192.168.6.1’.

IP_ETH_x_NETWORK

Die Netzwerkadresse. Dieses ist bei Class-C-Netzen gleich der IPAdresse der Karte, jedoch mit letztem Octett = 0. Bei anderen Netzen/Netmask entsprechend. Regel: ip-address BITWISE-AND netmask = network Beispiel: 192.168.6.55 BITWISE-AND 255.255.255.0 = 192.168.6.0

IP_ETH_x_NETMASK

Konfiguriert die Netzwerkmaske für das Netz. Der Wert in der BeispielDatei gilt für ein Class-C-Netz und braucht z. B. für Netze der Form 192.168.X.0 normalerweise nicht geändert werden.

4.5. Zusätzliche Routen (optional) IP_DEFAULT_GATEWAY

Wird fli4l als Firewall und/oder als LAN-Router und nicht als Internet-Router verwendet, kann hier die IP-Adresse des Internet-Routers angegeben werden. Im Normallfall bleibt IP_DEFAULT_GATEWAY leer. Standard-Einstellung: IP_DEFAULT_GATEWAY=’’

IP_ROUTE_N

Anzahl von zusätzlichen Netzwerkrouten. Zusätzliche Netzwerkrouten sind zum Beispiel dann erforderlich, wenn sich im LAN weitere Router befinden, über die andere Netzwerke erreichbar sein sollen. Im Normalfall ist die Angabe von weiteren Netzwerkrouten nicht erforderlich, daher ist die Standard-Einstellung: IP_ROUTE_N=’0’

IP_ROUTE_x

Die zusätzlichen Routen IP_ROUTE_1, IP_ROUTE_2, ... haben folgenden Aufbau: network netmask gateway Ist z. B. das Netzwerk 192.168.7.0 mit der Netzwerkmaske 255.255. 255.0 über das Gateway 192.168.6.99 erreichbar, ist anzugeben: IP_ ROUTE_1=’192.168.7.0 255.255.255.0 192.168.6.99’

4.6. Masquerading MASQ_NETWORK

Hier sind die Netzwerke anzugeben, die nach außen hin maskiert werden sollen. Verwendet man nicht-offizielle IP-Adressen, wie z. B. 192.168.x.x, und soll der Router als Zugang ins Internet verwendet werden, müssen diese hier unbedingt angegeben werden. Die Form ist: NETZWERKNUMMER/ANZAHL-DER-GESETZTEN-BITS-IN-NETMASK also z. B. für Netze der Form 192.168.x.0: MASQ_NETWORK=’192.168.6.0/24’

21

4.6

Masquerading

4

BASISKONFIGURATION

Hier sind also die ersten 24 Bits in der Netzwerkmaske gesetzt. Sollen mehrere Netze maskiert werden, sind diese durch Leerzeichen zu trennen. Soll kein Netz maskiert werden, muss der Variablen-Inhalt leer sein. Wichtig: Aus Sicherheitsgründen haben nur Rechner aus maskierten Netzen Zugriff auf den Server imond, siehe unten. MASQ_MODULE_N MASQ_MODULE_x IP-Masquerading hat zwar den Vorteil, dass mehrere Rechner im LAN über eine einzige offizielle IP-Adresse geroutet werden kann, es gibt aber auch Nachteile, die man in Kauf nehmen muss. Ein großes Problem ist zum Beispiel, dass kein Rechner von außen von sich aus eine Verbindung zu einem Rechner aufnehmen kann. Das ist zwar aus Sicherheitsgründen eigentlich durchaus erwünscht, aber bestimmte Protokolle funktionieren nicht mehr, weil sie einen Verbindungsaufbau von außen einfach erfordern. Ein klassisches Beispiel ist ftp. Neben dem Kommunikationskanal, auf dem Befehle und Antworten ausgetauscht werden, wird ein weiterer Kanal (in Form eines IP-Ports) verwendet, um die eigentlichen Nutzdaten zu versenden. fli4l verwendet dafür bestimmte Masquerading-Module, um solche zusätzlichen Ports, die verwendet werden, ad hoc dann freizuschalten und an den internen Rechner weiterzuleiten, wenn sie benötigt werden. Dabei „horcht“ das MasqueradingModul in den Datenstrom, um zu erkennen, wann ein zusätzlicher Port benötigt wird. Typische Anwendungen für Masquerading-Module sind Chat-Protokolle und Internet-Spiele. Bisher wurde für fli4l das ftp-Masquerading-Modul immer automatisch geladen. Mittlerweile sind weitere Module verfügbar, siehe Tabelle 4 auf der nächsten Seite. Natürlich kann man nicht für jedes Protokoll, welches zusätzliche Ports verwendet, ein separates Masquerading-Modul programmieren. Aus diesem Grund gibt es neben den oben aufgeführten Modulen auch noch eine andere Möglichkeit, neue Ports an einen internen Rechner weiterzuleiten. Siehe dafür auch die Beschreibung zu OPT_ PORTFW (Port Forwarding). Noch ein Tip: Auf www.fli4l.de wurde speziell zum Thema Port-Forwarding eine eigene FAQ eingerichtet. Das h323-Modul ermöglicht IP-Telefonie über das Internet. MS-Netmeeting benutzt dieses Protokoll ebenfalls. Damit „Anrufe“ an den Client durchgestellt werden können, müssen die TCP Ports 389 522 1503 1720

(Internet Locator Server) (User Location Server) (T.120) (H.323 call setup)

22

4

BASISKONFIGURATION

4.6

Masquerading

Tabelle 4: Masquerading-Module ftp h323 icq irc raudio vdolive quake cuseeme mms pptp dplay msn-0.01 msn-0.02 udp_dloose

File Pransfer Protocol h323 IP-Telefonie (MS-Netmeeting und Verwandte) Internet Chat Internet Relay Chat Real Audio Vdolive Quake Cuseeme Messaging PPTP masquerading Direct Play MSN Game Zone - Version 0.01 MSN Game Zone - Version 0.02 (beta) Für Internet-Spiele

an den Client weitergeleitet werden (siehe OPT_PORTFW). Zu den Konfigurationsvariablen: MASQ_MODULE_N gibt die Anzahl der zu ladenden MasqueradingModule an. MASQ_MODULE_x gibt das x-te zu ladende Masquerading Modul an. Die Standardeinstellung für MASQ_MODULE_N ist ’1’. Damit wird nur das erste Modul, nämlich ftp, geladen. Möchte man weitere Module laden, ist MASQ_MODULE_N entsprechend zu erhöhen. Die Reihenfolge in der beigefügten Datei config/base.txt ist nur ein Beispiel. Sie kann also beliebig geändert werden, z. B. MASQ_MODULE_N=’1’ MASQ_MODULE_1=’ftp’ MASQ_MODULE_2=’raudio’ Weitere Inhalte von MASQ_MODULE_x werden einfach ignoriert. MASQ_FTP_PORT_N, MASQ_FTP_PORT_x Manchmal kann es notwendig sein, das ftp-Masquerading-Modul nicht nur auf Port 21 einzusetzen. Beispielsweise, wenn eine Verbindung zu einem externen ftp-Server aufgebaut wird, der auf Port 2021 läuft. MASQ_FTP_PORT_N gibt die Anzahl der zu Ports an, MASQ_FTP_PORT_ x den x-ten Port. Verwendet man diese Parameter, so sollte der Standard-Port immer mit angegeben werden, da sonst normale ftp-Verbindungen scheitern. Unter normalen Umständen sind keine Änderungen notwendig.

23

4.6

Masquerading

4

BASISKONFIGURATION

OPT_PORTFW – Port-Forwarding Tools Für einige Internet-Protokolle ist es nötig, einen Verbindungsaufbau eines Rechners von außen in das interne Netz umzuleiten. Ist das Netz nach außen hin maskiert (IP-Masquerading), also nur eine offizielle IP-Adresse für das gesamte LAN vorhanden, kann man bestimmte Ports, die von außen erreichbar sein sollen, auf einen bestimmten internen Rechner umleiten. Dieses nennt man Port-Forwarding. Die Problematik des Port-Forwarding wurde bei der Beschreibung von MASQ_MODULE_N bereits angesprochen (s. o.). Oft müssen bei Spielen, Chat oder Internet-Telefonie solche Ports freigeschaltet werden. Können dies die Masquerading-Module selber nicht lösen, kann man selbst Port-Weiterleitungen einrichten. PORTFW_N Hiermit wird die Anzahl der Port-Weiterleitungen angegeben. Diese werden in PORTFW_x definiert. PORTFW_x Jede dieser Variablen enthält eine Regel zur Port-Weiterleitung. Es gibt dabei zwei verschiedene Formate: •



PORTFW_x=’ : ’ Dieser Befehl leitet einen einzelnen Port vom Router an den internen Rechner mit der IP auf den Port dieses Rechners weiter. PORTFW_x=’- ’ Dieser Befehl leitet den kompletten Port-Bereich zwischen und an die gleichen Ports des internen Rechners mit der IP weiter.

gibt bei beiden Arten das Protokoll der Pakete an, die weitergeleitet werden sollen. Gültig sind tcp und udp (bitte klein schreiben). Alternativ können auch direkt Befehle zur Port-Weiterleitung in opt/etc/portfw.sh eingetragen werden. Eine kurze Erklärung der Programmaufrufe und einige Beispiele sind im ShellScript als Kommentare aufgeführt. Möchte man sein InternetSpiel, Chat-Protokoll oder ähnliches im maskierten LAN verwenden, findet man viele Tips auf http://www.tsmservices. com/masq/ Die meisten der dort aufgeführten Port-Umlenkungen beziehen sich direkt auf ipautofw oder ipportfw und sind meist als fertige Lösungen vorhanden, die man nur noch in das ShellScript portfw.sh einfügen muss. Wer sich näher damit befassen möchte, dem sei das IP-Masquerading-HOWTO empfohlen. Die jeweils neueste Fassung findet man auf http://ipmasq.cjb.net/ Mit dem Windows-Client imonc ist es möglich, das Script im imonc-Programm zur Laufzeit des Routers zu ändern und die aktualisierte Fassung wieder zurück an den fli4l-Router zu schicken.

24

4

BASISKONFIGURATION

4.7

Routing/Firewall

4.7. Routing/Firewall ROUTE_NETWORK

Mit ROUTE_NETWORK kann man bestimmten externen Netzen den Zugang in das eigene LAN erlauben, und zwar ohne Masquerading. Dieses kann z. B. für eine Verbindung zur Firma sinnvoll sein, wo Mitarbeiter dieser Firma von dort Zugang in das eigene Netz haben sollen. Das Format ist dasselbe wie bei MASQ_NETWORK, also z. B. ROUTE_NETWORK=’192.168.1.0/24’ Auch können hier wieder mehrere (diesmal externe) Netze angegeben werden. ROUTE_NETWORK ist eine optionale Variable. In den meisten Fällen sollte man sie einfach leer lassen.

FORWARD_DENY_HOST_N FORWARD_DENY_HOST_X Soll einigen Rechnern der Zugriff in andere Netze (also z. B. das Internet) verwehrt werden, können sie in dieser Liste eingetragen werden. Das Routing von IP-Paketen in andere Netze wird dann für diese Rechner in der Firewall verboten. Beispiel: FORWARD_DENY_HOST_N=’2’ FORWARD_DENY_HOST_1=’192.168.6.5’ FORWARD_DENY_HOST_2=’192.168.6.6’ FORWARD_DENY_PORT_N FORWARD_DENY_PORT_x Hiermit kann das Routing über bestimmte IP-Ports verhindert werden. Sinnvoll ist z. B. das Verbieten des Routings der Netbios-Ports 137 − 139. Damit wird nicht nur das Routing von IP-Paketen mit den angegebenen Ports nach „außen“ unterbunden, sondern auch das Routing dieser Ports zwischen zwei LANs. Betreibt man mehrere Netzwerkkarten für mehrere Subnetze und möchte, dass einige Clients aus einem Subnetz auf die unter Windows freigegebenen Verzeichnisse eines Clients aus einem anderen Subnetz zugreifen können, sollte das Forwarding der Netbios-Ports aber hier nicht unterbunden werden. In diesem Fall kann man mit FORWARD_TRUSTED_NETS (s. o.) Netze angeben, zwischen denen das Routing dieser Ports dennoch explizit erlaubt ist. Ein Beispiel: Abschalten Zugriff auf Napster-Dienste: FORWARD_DENY_PORT_N=’6’ FORWARD_DENY_PORT_1=’137:139’ FORWARD_DENY_PORT_2=’8888’ FORWARD_DENY_PORT_3=’7777’ FORWARD_DENY_PORT_4=’7000’ FORWARD_DENY_PORT_5=’4444’ FORWARD_DENY_PORT_6=’4200’

25

# # # # # # #

Anzahl NetBios-Ports 137 bis 139 Napster Port 8888 Napster Port 8888 Napster Port 8888 Napster Port 8888 Napster Port 8888

4.7

Routing/Firewall

4

BASISKONFIGURATION

Ab Version 1.5.1 kann nun noch ein weiterer Parameter zusätzlich zur Portnummer angegeben werden, nämlich: • •

REJECT – das Weiterleiten des IP-Paketes wird abgelehnt DENY – das IP-Paket wird schlichtweg ignoriert.

Fehlt die zusätzliche Angabe, wird die REJECT-Methode verwendet. Beispiel: FORWARD_DENY_PORT_1=’80 DENY’

# Surfen heute verboten!

Standard-Einstellungen: FORWARD_DENY_PORT_N=’1’ FORWARD_DENY_PORT_1=’137:139’ FORWARD_TRUSTED_NETS=’’ Das Sperren des Routings der mittels FORWARD_DENY_PORT_x angegebenen Ports kann mit FORWARD_TRUSTED_NETS für bestimmte Netze außer Kraft gesetzt werden. Hier können Netze angegeben werden, die „vertrauenswürdig“ sind. Ein typisches Beispiel ist das Routing von NetBios-Ports zwischen zwei LANs, die über zwei Netzwerkkarten des fli4l-Routers versorgt werden. In diesem Fall sind alle vertrauenswürdigen Netze anzugeben, z. B. FORWARD_TRUSTED_NETS=’192.168.1.0/24 192.168.6.0/24’ Standard-Einstellung: FORWARD_TRUSTED_NETS=’’ FIREWALL_DENY_PORT_N FIREWALL_DENY_PORT_x Firewall-Ports: bei FIREWALL_DENY_ PORT_N ist die Anzahl der TCP/IP-Ports anzugeben, die bei Zugriff von außen (also ISDN oder DSL) auf den fli4l-Router gesperrt werden sollen. Da fli4l bestimmte Dienste zur Verfügung stellt, ist es sinnvoll, diese vor Zugriffen vor außen zu schützen. Dies betrifft folgende Ports: Port 21 22 23 37 53 80 137:139 515 5000 5001 8000

Name ftp ssh telnet time domain www netbios printer

Prozess ftpd sshd telnetd ens mini_httpd smbd (samba) lpd imond telmond junkbuster

Hinweis: Ein maskiertes LAN (s. o.) ist generell vor dem Zugang von außen geschützt. Die angegebenen Portnummern regeln deshalb nur den Zugriff von außen auf den fli4l-Router selbst.

26

4

BASISKONFIGURATION

4.7

Routing/Firewall

FIREWALL_DENY_PORT_x Die zu sperrenden Ports müssen jeweils einzeln in den Variablen FIREWALL_DENY_PORT_1 bis FIREWALL_DENY_PORT_n eingetragen werden. Man kann Bereiche von Port-Nummern mit dem Doppelpunkt zusammenfassen, z. B. ’137:139’. Es wird dringend empfohlen, die Standardkonfiguration der Firewall-Ports nicht zu verändern. Soll jedoch ein bestimmter Dienst über Portforwarding in das innere Netz geleitet werden, muss der entsprechende Port freigeschaltet, also hier entfernt werden. In der Beispiel-Datei werden alle privilegierten Ports von 0 bis 1023 außer 53 gesperrt, außerdem die Ports 5000 und 5001, welche von imond und telmond verwendet werden. Wird auf dem fli4l-Rechner zusätzlich Junkbuster eingesetzt, ist auch der Port 8000 zu sperren. Die Standard-Konfiguration sieht daher folgendermaßen aus: FIREWALL_DENY_PORT_N=’6’ FIREWALL_DENY_PORT_1=’0:52 FIREWALL_DENY_PORT_2=’54:112 FIREWALL_DENY_PORT_3=’114:1023 FIREWALL_DENY_PORT_4=’5000:5001 FIREWALL_DENY_PORT_5=’8000 FIREWALL_DENY_PORT_6=’20012

REJECT’ REJECT’ REJECT’ REJECT’ REJECT’ REJECT’

Wichtig: Es ist unbedingt nötig, den Port 53 freizuschalten. Anderenfalls sind keine Internet-DNS-Abfragen möglich! Soll zum Beispiel der Port 21 für FTP von außen zugänglich sein, weil er über Portforwarding auf einen internen Rechner weitergeleitet werden soll, kann man ihn folgendermaßen freischalten: FIREWALL_DENY_PORT_N=’7’ FIREWALL_DENY_PORT_1=’0:20 FIREWALL_DENY_PORT_2=’22:52 FIREWALL_DENY_PORT_3=’54:112 FIREWALL_DENY_PORT_3=’114:1023 FIREWALL_DENY_PORT_4=’5000:5001 FIREWALL_DENY_PORT_5=’8000 FIREWALL_DENY_PORT_6=’20012

REJECT’ REJECT’ REJECT’ REJECT’ REJECT’ REJECT’ REJECT’

# # # # # # # #

Neu: 7 statt 6 Einträge! Ports von 0 bis 20 sperren Ports von 22 bis 52 sperren Ports von 54 bis 112 sperren Ports von 114 bis 1023 sperren imond/telmond-Ports sperren HTTP-Proxy-Zugang sperren VBOX-Zugang sperren

Hier eine Liste der gängigen Internet-Dienste und ihrer Ports: ftp ssh telnet smtp time domain http pop3 auth (ident) syslog printer

21 22 23 25 37 53 80 110 113 514 515

27

4.7

Routing/Firewall

4

BASISKONFIGURATION

Wohlgemerkt: Diese Ports brauchen nur freigeschaltet werden, wenn ein Zugriff auf das innere Netz über Portforwarding ermöglicht werden soll! Ab Version 1.5.1 kann nun noch ein weiterer Parameter zusätzlich zur Portnummer angegeben werden, nämlich: •

REJECT – das das Annehmen des IP-Paketes wird abgelehnt



DENY – das IP-Paket wird schlichtweg ignoriert.

Fehlt die zusätzliche Angabe, wird die REJECT-Methode verwendet: Wenn der Router auf einem Port von außen her angesprochen wird, sendet er seinem Gegenüber eine Antwort (Ablehnung). Bei Anwendung der DENY-Methode verhält sich der Router still – das kann auch Probleme machen. Zum Beispiel schicken einige Rechner, die Internet-Dienste wie ftp anbieten, als Antwort auf einen Verbindungsaufbau eine Anfrage auf Port 113 (auth) zurück. Wenn fli4l darauf nicht reagiert, kann es zum ungewollten Abbruch der Verbindung zum gewünschen Dienst kommen. Ich persönlich ziehe die REJECT-Methode vor, da sie erwartungsgemäß weniger Probleme bei diversen Internet-Protokollen bereitet und genauso sicher ist wie DENY. Weiterführende Informationen zu REJECT vs. DENY (bei iptables auch DROP genannt): http://www.iks-jena.de/mitarb/lutz/usenet/Firewall.html#Deny http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject

FIREWALL_DENY_ICMP

Sollen Zugriffe von außen über das ICMP-Protokoll verboten werden, kann FIREWALL_DENY_ICMP=’yes’ gesetzt werden. In diesem Fall kann man den Router von außen nicht mehr mit ping ansprechen. Bitte zuerst folgende Seiten besuchen: http://www.iks-jena.de/mitarb/lutz/usenet/Firewall.html#Verstecken http://www.fli4l.de/faq/index.php?sid=&aktion=anzeigen&rubrik=3&id=165

Standard-Einstellung: FIREWALL_DENY_ICMP=’no’ FIREWALL_LOG

Mit FIREWALL_LOG kann eingestellt werden, ob Zugriffe von außen auf die Firewall-Ports über die Syslog-Schnittstelle protokolliert werden sollen. Hier eine kurze Erklärung einer Protokollzeile: Packet log: input REJECT ppp0 PROTO=6 217.88.245.79:3248 217.88.168.16:80 L48 S=0x00 I=60459 F=0x4000 T=124 SYN (#6)

28

4

BASISKONFIGURATION input REJECT ppp0 PROTO=6 L S I F T #6

4.8

Domain-Konfiguration

Input-Chain Paket wurde zurückgewiesen. Device TCP Paket Länge des Pakets in Bytes Type Of Service (TOS) IP-ID, wird mit jedem Paket vom Sender um eins erhöht Flags (3 bits), falls Paket fragmeniert ist das Offset, 13 bits TTL (Time To Live), Anzahl der Hops, bis das Paket gelöscht wird die 6. Regel des Paketfilters hat zugeschlagen

Standard-Einstellung: FIREWALL_LOG=’yes’

4.8. Domain-Konfiguration Windows-PCs im LAN haben unter anderem ;-) eine unangenehme Eigenschaft: Sobald ein Nameserver benötigt wird und man diesen deshalb im Windows einstellt, fragen diese Windows-Rechner den angegebenen Nameserver in regelmäßigen Abständen ab (bei mir so alle 5 Minuten) – auch wenn man gar nicht daran arbeitet! Würde man also auf dem Windows-PC einen DNS-Server im Internet angeben, wird’s teuer :-( Der Trick ist nun folgender: Wenn im LAN nicht bereits ein DNS-Server vorhanden ist, kann man das DNS im fli4l-Router verwenden. Seit fli4l-Version 1.5.2 wird ENS als DNS-Server eingesetzt. Dieser ersetzt die bisher verwendeten dnscache/tinydns bzw. named (bind). Bevor man jedoch mit der DNS-Konfiguration beginnt, sollte man sich zunächst Gedanken über den Domain-Namen und die Namen der PCs im Netz machen. Der verwendete Domain-Name wird nicht im Internet sichtbar. Deshalb kann man sich hier prinzipiell beliebige Domain-Namen ausdenken. Außerdem sollte man jedem Windows-Rechner einen Namen verpassen. Diese Namen müssen dem fli4l-Router bekannt sein. START_DNS

Werden im LAN keine Windows-Rechner verwendet oder ist bereits ein DNS-Server vorhanden, kann man START_DNS auf ’no’ setzen und den Rest in diesem Abschnitt übergehen. Im Zweifel immer (Standard-Einstellung): START_DNS=’yes’

DNS_FORWARDERS

Hier ist die DNS-Server-Adresse des Internet-Providers anzugeben, wenn fli4l als Router in das Internet verwendet wird. Der fli4l-Router gibt dann sämtliche DNS-Queries, die er nicht selbst beantworten kann, an diese Adresse weiter. Möchte man mehrere DNS-Forwarder angeben, trennt man die IPAdressen durch Blanks.

29

4.8

Domain-Konfiguration

4

BASISKONFIGURATION

Achtung: Änderung zu den vorhergenden Versionen: Mindestens ein Forwarder ist nun zwingend nötig! Ausnahme: fli4l als Router in einem lokalen Netz ohne Anschluss an das Internet oder (Firmen-)Netze mit weiteren DNS-Servern. In diesem Fall ist 127.0.0.1 anzugeben, um das Forwarding zu unterbinden. Für den DNS-Zugriff ist es unbedingt notwendig, den Port 53 freizuschalten. DNS_VERBOSE

Logging von DNS-Queries: ’yes’ oder ’no’ Diese Variable wird momentan nur ausgewertet, wenn das Programm named als DNS-Server zum Einsatz kommt, also wenn DNS_FORWARDERS gefüllt ist. In diesem Fall werden DNS-Anfragen an den Nameserver protokolliert – und zwar über die syslog-Schnittstelle. Damit die Ausgaben auch sichtbar werden, ist dann auch die Variable OPT_SYSLOGD=’yes’ zu setzen, s. u.

DOMAIN_NAME

Lokaler Domain-Name In der Auslieferung ist als Domain einfach lan.fli4l eingestellt. Bitte den Domain-Namen mit Bedacht wählen! Einfach nur net oder de wären keine guten Idee. Alle Internetseiten, die auf .de oder .net enden, könnten dann nämlich nicht erreicht werden. Ebenso sollte die Domain im Internet nicht vergeben sein.

DNS_FORBIDDEN_N DNS_FORBIDDEN_1 DNS_FORBIDDEN_2 Hier können Domains angegeben werden, bei welchen DNS-Queries vom DNS-Server prinzipiell als „nicht vorhanden“ beantwortet werden sollen. Beispiel: DNS_FORBIDDEN_N=’1’ DNS_FORBIDDEN_1=’foo.bar’ In diesem Fall wird zum Beispiel eine Anfrage nach www.foo.bar mit einem Fehler beantwortet. Man kann damit auch ganze Top-Level-Domains verbieten: DNS_FORBIDDEN_1=’de’ Dann ist die Namensauflösung für sämtliche Rechner in der DETopleveldomain abgeschaltet. HOSTS_N HOST_1 HOST_2 ... Es sollten alle Rechner im LAN beschrieben werden – mit IP-Adresse und Namen. Dazu setzt man zunächst die Anzahl der Rechner (incl. fli4l-Router) mit der Variablen HOSTS_N. Anschließend werden mit den Variablen HOST_1 bis HOST_X die Daten zu den Rechnern definiert. Im Beispiel sind 4 Rechner konfiguriert – nämlich die PCs fli4l, client2, client3 und client4.

30

4

BASISKONFIGURATION

4.9

Spezielle DNS-Server

fli4l ist der fli4l-Router selbst (identisch mit HOSTNAME, s. o.). Es ist sinnvoll, Rechner auch dann hier einzutragen, wenn sie selbst den Router nicht zum Übergang in ein anderes Netz verwenden dürfen (s. DENY_HOSTS_N), damit diese auch von anderen Rechnern im LAN über den Namen ansprechbar sind. Aufbau der Variablen HOST_x: HOST_x=’IP-Adresse Name [ALIAS ...] [MAC-Adresse]’ Ab Version 2.0.2 können hinter dem eigentlichen Hostnamen weitere Aliasnamen eingetragen werden – durch Leerzeichen getrennt. Diese müssen mit der kompletten Domain angegeben werden. Der letzte Wert [MAC-Adresse] ist optional und ist nur dann relevant, wenn fli4l zusätzlich als DHCP-Server eingesetzt wird. Dies wird in der Beschreibung zum optionalen Programmpaket OPT_DHCP erklärt, siehe unten. Ohne Einsatz als DHCP-Server sind lediglich die IP-Adresse, der Name des Rechners und eventuell Aliasnamen einzusetzen, z. B. HOST_1=’192.168.6.1 fli4l router.domain.lan’ HOST_2=’192.168.6.5 joe’ Die optionale MAC-Adresse ist eine 48-Bit-Adresse und besteht aus 6 Hex-Werten, welche durch einen Doppelpunkt voneinander getrennt werden, z. B. 00:00:E8:83:72:92 HOST_2=’192.168.6.5 joe 00:00:E8:83:72:92’ Da Hostnamen (und Aliasnamen) keine Doppelpunkte enthalten können, dürfen auch Aliasnamen und die MAC-Adresse gemischt werden.

4.9. Spezielle DNS-Server DNS_N DNS_x

Ab Version 1.4 braucht kein DNS-Server mehr angegeben zu werden. Das Programm dnscache als named-Ersatz ermittelt den/die DNS-Server im Internet automatisch (und zwar über die InternetRoot-Server). Im Normalfall setzt man daher DNS_N=’0’. Aber es gibt besondere Situationen, wo die Angabe eines oder mehrerer DNS-Server sinnvoll ist, z. B. bei Einsatz von fli4l im Intranet ohne Internet-Anschluss oder einem Mix von diesen (Intranet mit eigenem DNS- Server und zusätzlich Internet-Anschluss). Stellen wir uns folgendes Szenario vor: •

Circuit 1: Einwahl in das Internet

31

4.10

imond-Konfiguration •

4

BASISKONFIGURATION

Circuit 2: Einwahl in das Firmen-Netz 192.168.1.0 (firma.de)

Dann wird man ISDN_CIRC_1_ROUTE auf ’0.0.0.0’ und ISDN_ CIRC_2_ROUTE auf ’192.168.1.0’ setzen. Bei Zugriff auf Rechner mit IP-Adresse 192.168.1.x wird fli4l dann den Circuit 2, sonst den Circuit 1 benutzen. Wenn das Firmen-Netz aber nicht öffentlich ist, wird in diesem vermutlich ein eigener DNS-Server betrieben. Nehmen wir an, die Adresse dieses DNS-Servers wäre 192.168.1.12 und der Domain-Name wäre firma.de. In diesem Fall gibt man an: DNS_N=’1’ DNS_1=’firma.de 192.168.1.12’ Dann werden bei DNS-Queries von xx.firma.de der firmeninterne DNS-Server, sonst die DNS-Server im Internet verwendet. Ein anderer Fall: •

Circuit 1: Internet



Circuit 2: Firmen-Netz 192.168.1.0 mit Internet-Anschluss

Hier hat man also die Möglichkeit, auf 2 Wegen in das Internet zu gelangen. Möchte man Geschäftliches und Privates trennen, bietet sich dann folgendes an: ISDN_CIRC_1_ROUTE=’0.0.0.0’ ISDN_CIRC_2_ROUTE=’0.0.0.0’ Man legt also auf beide Circuits eine Default-Route und schaltet dann die Route mit dem imond-Client um – je nach Wunsch. Auch in diesem Fall sollte man DNS_N und DNS_1 wie oben beschrieben einstellen.

4.10. imond-Konfiguration START_IMOND

Mit START_IMOND kann man einstellen, ob der imond-Server aktiviert werden soll. imond übernimmt dabei das Monitoring/Controlling und Least-Cost-Routing des fli4l-Routers. Der Beschreibung von imond ist deshalb ein extra Kapitel gewidmet (siehe Abschnitt 10.1 auf Seite 47). Wichtig: Die LC-Routing-Features von fli4l können nur mit imond genutzt werden. Ein zeitabhängiges Umschalten von Verbindungen ist ohne imond nicht möglich! Für ISDN- und DSL-Routing ist imond ab Version 1.5 zwingend erforderlich. In diesem Fall ist START_IMOND=’yes’ einzustellen.

32

4

BASISKONFIGURATION

4.10

imond-Konfiguration

Wird fli4l lediglich als Router zwischen 2 ETH-Netzwerken eingesetzt, sollte START_IMOND=’no’ eingestellt werden. Standard-Einstellung: START_IMOND=’no’ IMOND_PORT

TCP/IP-Port, auf dem imond auf Verbindungen horcht. Der StandardWert ’5000’ sollte nur in Ausnahmefällen geändert werden.

IMOND_PASS

Hier kann ein spezielles User-Password für imond gesetzt werden. Meldet sich ein Client auf Port 5000 an, erwartet imond (und damit auch seine Clients) die Eingabe dieses Passworts, bevor er irgendeinen Befehl korrekt beantwortet. Ausnahme: Befehle quit, help und pass. Ist IMOND_PASS leer, wird kein Password benötigt. Ob der Client im User-Modus bestimmte Steuerbefehle, wie Dial, Hangup, Reboot, Umschalten der Default-Route bereits ausführen kann oder dafür die Eingabe des Admin-Passwords zwingend notwendig ist, wird über die Variablen IMOND_ENABLE, IMOND_DIAL, IMOND_ROUTE, IMOND_REBOOT eingestellt, siehe unten. Standard-Einstellung: IMOND_PASS=’’

IMOND_ADMIN_PASS

Mit Hilfe der Admin-Passwords erhält der Client alle Rechte und kann so sämtlich Steuerfunktionen des imond-Servers nutzen – und zwar unabhängig von den Variablen IMOND_ENABLE, IMOND_DIAL usw. Lässt man IMOND_ADMIN_PASS leer, so reicht die Eingabe des User-Passwords, um sämtliche Rechte zu erhalten! Standard-Einstellung: IMOND_PASS=’’

IMOND_LED

imond kann den Online/Offline-Status nun über eine LED anzeigen. Diese wird folgendermaßen an einen COM-Port angeschlossen: Verbindung 25-polig: 20 DTR ——– 1 kΩ —– .| ——— 7 GND Verbindung 9-polig: 4 DTR ——– 1 kΩ —– .| ——— 5 GND Ist eine ISDN- oder DSL-Verbindung aufgebaut, leuchtet die LED. Ansonsten ist sie ausgeschaltet. Sollte es genau umgekehrt sein, ist die Leuchtdiode umzupolen. Sollte die LED zu schwach leuchten, kann der Vorwiderstand bis auf 470Ω reduziert werden. Es ist auch möglich, 2 verschiedenfarbige LEDs anzuschließen. Dann ist die zweite LED ebenso über einen Vorwiderstand zwischen DTR und GND anzuschließen, jedoch genau umgekehrt. Dann leuchtet je nach Zustand die eine oder die andere LED. Oder man verwendet direkt eine Duo-LED (zweifarbig, 3 Anschlussbeinchen). Im Moment verhält sich der RTS-Anschluss der seriellen Schnittstelle genauso wie DTR. Hier könnte also noch eine weitere LED angechlossen werden, die den Online/Offline-Zustand anzeigt. Das könnte sich jedoch in einer zukünftigen fli4l-Version ändern.

33

4.10

imond-Konfiguration

4

BASISKONFIGURATION

Als Wert von IMOND_LED muss ein COM-Port angegeben werden, also ’com1’, ’com2’, ’com3’ oder ’com4’. Ist keine LED angeschlossen, sollte die Variable leer gelassen werden. IMOND_BEEP

Mit IMOND_BEEP=’yes’ gibt imond einen Zweiklang-Ton über den PC-Lautsprecher aus, wenn der Zustand von Offline nach Online wechselt und umgekehrt. Im ersten Fall wird zuerst ein tiefer, dann ein hoher Ton ausgegeben. Beim Wechsel in den Offline-Status zurück wird zuerst der höhere, dann der tiefere Ton ausgegeben.

IMOND_LOG

Wird IMOND_LOG=’yes’ eingestellt, werden Verbindungen in der Datei /var/log/imond.log protokolliert. Diese Datei kann z. B. für Statistikzwecke per ftp auf einen Rechner im LAN kopiert werden. Für den ftp-Zugriff ist aber dann noch die Variable OPT_FTP= ’yes’ (s. u.) einzustellen. Das Ausgabeformat ist:

Circuit

YYYY/MM/DD Startdatum

HH:MM:SS Startzeit

-

YYYY/MM/DD Enddatum

HH:MM:SS Endzeit

SEC Tim

SEC ChTim

CHARGE Kosten

wobei Tim die Online-Zeit, ChTim die vom Provider berechnete Zeit ist – abhängig vom Takt. Die Kosten werden in DM ausgegeben. Wichtig ist dabei die korrekte Definition der entsprechenden CircuitVariablen ISDN_CIRC_x_TIMES, s. u. Standard-Einstellung: IMOND_LOG=’no’ IMOND_LOGDIR

Ist das Protokollieren eingeschaltet, kann über IMOND_LOGDIR ein alternatives Verzeichnis statt /var/log angegeben werden, z. B. ’/boot’. Dann wird die LOG-Datei imond.log auf der Diskette angelegt. Dazu muss dann die Diskette auch Read/Write „gemounted“ sein.

IMOND_ENABLE IMOND_DIAL IMOND_ROUTE IMOND_REBOOT Diese Variablen schalten bestimmte Kommandos bereits im User-Modus frei, die von imoncClients zum imond-Server gesendet werden. Hiermit kann man einstellen, ob der imond-Server die ISDN-Schnittstelle ein-/ausschalten, wählen/einhängen, neu routen und/oder den Rechner booten darf. Standard-Einstellungen: IMOND_ENABLE=’yes’ IMOND_DIAL=’yes’ IMOND_ROUTE=’yes’ IMOND_REBOOT=’yes’ Alle weiteren Features der Client-/Server-Schnittstelle von imond sind in Kapitel 10 auf Seite 47 beschrieben.

34

5

WEITERE PROGRAMMPAKETE

4.11

Allgemeine Circuit-Konfiguration

Tabelle 5: Programme in base Name OPT_SYSLOGD OPT_KLOGD OPT_PORTFW OPT_Y2K OPT_PNP

Beschreibung Programm zum Protokollieren von Systemfehlermeldungen Programm zum Protokollieren von Kernelfehlermeldungen Port-Forwarding Tools Datumskorrektur bei nicht Y2K-festen Rechnern Installation von isapnp tools

4.11. Allgemeine Circuit-Konfiguration IP_DYN_ADDR

Wird eine Verbindung mit dynamischer Adressvergabe verwendet, ist IP_DYN_ADDR auf ’yes’ zu stellen, ansonsten auf ’no’. Die meisten Internet-Provider verwenden eine dynamische Adressvergabe. Standard-Einstellung: IP_DYN_ADDR=’yes’

DIALMODE

Der Standard-Wählmodus von fli4l ist ’auto’, d. h. es wird automatisch gewählt, wenn eine IP-Adresse außerhalb des eigenen Netzes angesprochen wird. Es ist aber auch möglich, als Dialmode ’manual’ oder ’off’ anzugeben. In diesem Fall kann man eine Wählverbindung nur über den Client imonc auslösen. Standard-Einstellung: DIALMODE=’auto’

5. Weitere Programmpakete Für fli4l sind mittlerweile eine Unmenge von Zusatzpaketen verfügbar. Diese sind nicht im rootfs-Image enthalten, sondern werden als zusätzliches Archiv opt.tgz auf die Diskette geschrieben und beim Booten nachträglich in der Ramdisk installiert. Wie das funktioniert, ist in src/README beschrieben. Seit der Version 2.0 wurde ein neues Modulkonzept eingeführt. Neben der Basisinstallation (base) gibt es Packages. Diese enthalten ein oder mehrere OPT-Pakete, die bei Bedarf zu base hinzuinstalliert werden können. Eine Übersicht über die Packages gibt es in Kapitel 6 auf Seite 40. Nicht alle Pakete wird man zur gleichen Zeit auf die Diskette bekommen. Bei einer Standard-fli4l-Konfiguration bleiben ca. 400 KB komprimierter Speicherplatz auf der Diskette frei. Diese können dann für weitere Pakete eingesetzt werden. Tabelle 5 zeigt eine Liste der in base befindlichen Programme. Da sich bei einigen Paketen bestimmte Programme überschneiden, wird tatsächlich weniger als die Summe des angegebenen Speicherplatzbedarfs benötigt. Außerdem sind obige Zahlen immer aufgerundet. Da hilft nur eins: Ausprobieren! OPT_SYSLOGD – Programm zum Protokollieren von Systemfehlermeldungen Der PPP-Daemon ipppd verwendet die syslog-Schnittstelle, um Debug-Meldungen

35

5

WEITERE PROGRAMMPAKETE

auszugeben. Damit diese auch auf der Console sichtbar werden, muss in diesem Falle der Daemon syslogd gestartet werden. Sind Debug-Meldungen gewünscht, stellt man OPT_SYSLOGD auf ’yes’, ansonsten auf ’no’. Siehe auch ISDN_CIRC_x_DEBUG und PPPOE_DEBUG. Standard-Einstellung: OPT_SYSLOGD=’no’ SYSLOGD_DEST_N SYSLOGD_DEST_x Mit SYSLOGD_DEST_x gibt man Ziele an, wohin System-Meldungen, die von syslogd entgegengenommen werden, ausgegeben werden. Im Normalfall ist dies die Console von fli4l, also SYSLOGD_DEST_1=’*.* /dev/console’ Möchte man eine Datei als Protokoll verwenden, ist z. B. einzutragen: SYSLOGD_DEST_1=’*.* /var/log/messages’ Ist ein sog. Loghost im Netz vorhanden, können die Meldungen auch auf diesen Rechner umgeleitet werden – unter Angabe der IP-Adresse. Beispiel: SYSLOGD_DEST_1=’*.* @192.168.4.1’ Das @-Zeichen ist dann der IP-Adresse voranzustellen. Sollen die Systemmeldungen an mehrere Ziele „ausgeliefert“ werden, muss man SYSLOGD_DEST_N (Anzahl der Ziele) entsprechend erhöhen und die Variablen SYSLOG_DEST_2, SYSLOG_DEST_3 usw. füllen. Der Parameter ’*.*’ bedeutet, dass sämtliche Meldungen protokolliert werden. Man kann jedoch die Meldungen für bestimmte „Destinations“ über sog. „Priorities“ einschränken. In diesem Fall ersetzt man das Sternchen (*) hinter dem Punkt (.) durch eines der folgenden Schlüsselwörter: debug info notice warning (veraltet: warn) err (veraltet: error) crit alert emerg (veraltet: panic) Die Reihenfolge in der Liste spiegelt dabei das „Gewicht“ der Meldungen wider. Die Schlüsselwörter error, warn und panic sind veraltet und sollten nicht mehr verwendet werden. Vor dem Punkt kann eine sog. „Facility“ statt des Sternchens (*) eingetragen werden. Eine Erklärung würde aber hier zu weit gehen. Der geneigte Leser kann hierfür eine Suchmaschine seiner Wahl bemühen. Normalerweise ist das Sternchen vollkommen ausreichend. Beispiel: SYSLOGD_DEST_1=’*.warning @192.168.4.1’ Nicht nur Unix-/Linux-Rechner können als Loghost dienen, sondern auch Windows-Rechner. Auf www.fli4l.de findet man im Ordner „Links“ Verweise auf entsprechende Software. Die Verwendung eines Loghosts wird dringend empfohlen, wenn eine detaillierte Protokollierung gewünscht ist. Auch hilft die Protokollierung bei der Fehlersuche. Mittlerweile „versteht“ auch imonc als Windows-Client das Syslog-Protokoll und kann die Meldungen in einem Fenster ausgeben.

36

5

WEITERE PROGRAMMPAKETE Leider lassen sich die Boot-Meldungen von fli4l nicht über syslogd umlenken. Jedoch kann man fli4l auch so konfigurieren, dass die Console ein serielles Terminal (bzw. Terminalemulation) ist. Wie das geht, ist im Mini-HowTo „Serielle Console für fli4l“ erklärt – zu finden auf www.fli4l.de Standard-Einstellung: OPT_SYSLOGD=’no’

OPT_KLOGD – Kernel-Message-Logger Viele der auftretenden Fehler – z. B. fehlgeschlagene Einwahl – werden vom Linux-Kernel direkt auf die Console geschrieben. Mit OPT_KLOGD=’yes’ werden diese Meldungen an den syslogd umgelenkt, welcher diese dann entweder in Dateien protokollieren oder an einen Loghost weiterleiten kann, s. o. Dann hat man auf der fli4l-Console (fast) Ruhe. Empfehlung: Wenn OPT_SYSLOGD=’yes’ eingestellt wird, sollte man auch OPT_KLOGD=’yes’ setzen. Standard-Einstellung: OPT_KLOGD=’no’ OPT_PORTFW – Port-Forwarding Tools Für einige Internet-Protokolle ist es nötig, einen Verbindungsaufbau eines Rechners von außen in das interne Netz umzuleiten. Ist das Netz nach außen hin maskiert (IP-Masquerading), also nur eine offizielle IP-Adresse für das gesamte LAN vorhanden, kann man bestimmte Ports, die von außen erreichbar sein sollen, auf einen bestimmten internen Rechner umleiten. Dieses nennt man Port-Forwarding. Die Problematik des Port-Forwarding wurde bei der Beschreibung von MASQ_MODULE_N bereits angesprochen (s. o.). Oft müssen bei Spielen, Chat oder Internet-Telephonie solche Ports freigeschaltet werden. Können dies die Masquerading-Module selber nicht lösen, kann man selbst Port-Weiterleitungen einrichten. PORTFW_N Hiermit wird die Anzahl der Port-Weiterleitungen angegeben. Diese werden in PORTFW_x definiert. PORTFW_x Jede dieser Variablen enthält eine Regel zur Port-Weiterleitung. Es gibt dabei zwei verschiedene Formate: •



PORTFW_x=’ :’ Dieser Befehl leitet einen einzelnen Port vom Router an den internen Rechner mit der IP auf den Port dieses Rechners weiter. PORTFW_x=’- ’ Dieser Befehl leitet den kompletten Port-Bereich zwischen und an die gleichen Ports des internen Rechners mit der IP weiter.

Alternativ können auch direkt Befehle zur Port-Weiterleitung in opt/ etc/portfw.sh eingetragen werden. Eine kurze Erklärung der Programmaufrufe und einige Beispiele sind im Shell-Script als Kommentare aufgeführt. Möchte man sein Internet-Spiel, Chat-Protokoll

37

5

WEITERE PROGRAMMPAKETE

oder ähnliches im maskierten LAN verwenden, findet man viele Tips auf http://www.tsmservices.com/masq/ Die meisten der dort aufgeführten Port-Umlenkungen beziehen sich direkt auf ipautofw oder ipportfw und sind meist als fertige Lösungen vorhanden, die man nur noch in das Shell-Script portfw.sh einfügen muss. Wer sich näher damit befassen möchte, dem sei das IP-MasqueradingHOWTO empfohlen. Die jeweils neueste Fassung findet man auf http://ipmasq.cjb.net/ Mit dem Windows-Client imonc ist es möglich, das Script im imoncProgramm zur Laufzeit des Routers zu ändern und die aktualisierte Fassung wieder zurück an den fli4l-Router zu schicken. OPT_Y2K – Datumskorrektur bei nicht Y2K-festen Rechnern Meist werden fli4l-Router aus alten Hardware-Teilen zusammengesetzt. Dabei kann das BIOS des Mainboards nicht Y2K-fest sein. Das ist z. B. bei meinem 486er der Fall: Wenn ich den 27.05.2000 im BIOS einstelle, steht beim nächsten Booten immer der 27.05.2094 drin! Linux zeigt dann übrigens 27.05.1994 :-) Eigentlich kann das eingestellte Datum für den fli4l-Router egal sein und sollte deshalb keine Rolle spielen. Wird fli4l jedoch als Least-Cost-Router eingesetzt, kann dies jedoch sehr wohl eine Rolle spielen. Grund: Der 27.05.1994 war ein Freitag, der 27.05.2000 jedoch ein Samstag. Und am Wochenende gibt’s günstigere Tarife bzw. günstigere Provider ... Für fli4l ist dies folgendermaßen gelöst: Ich habe das BIOS-Datum am 27.05.2000 auf den 28.05.1994 gestellt. Das war ebenso ein Samstag. Damit war das Problem eigentlich gelöst. Was mich aber störte, war das falsche Datum, denn fli4l verwendet nicht nur den Wochentag und die momentane Uhrzeit für das LCRouting, sondern berücksichtigt auch die Feiertage. Y2K_DAYS – N Tage auf Systemdatum addieren Da mein gesetztes Datum genau 2191 Tage zum tatsächlichen Datum differiert, werden bei Angabe von Y2K_DAYS=’2191’ auf das BIOS-Datum 2191 Tage addiert und dieses dann als LinuxDatum gesetzt. Das BIOS-Datum bleibt davon jedoch unberührt, sonst würde beim nächsten Booten das Ding wieder auf 2094 (bzw. 1994) stehen ;-) Es gibt noch eine Alternative: Mit dem Zugriff auf einen Time-Server kann sich fli4l die aktuelle Datum/Uhrzeit aus dem Internet holen. Dafür ist seit Version 1.4

38

5

WEITERE PROGRAMMPAKETE ein optionales Paket enthalten (OPT_TIME). Beide Einstellungen lassen sich kombinieren. Das ist sinnvoll, um mit Y2K_DAYS zunächst das Datum schon einmal zu korrigieren und anschließend über den Time-Server die genaue Uhrzeit einzustellen. Wer mit Y2K keine Probleme hat: Variable OPT_Y2K=’no’ setzen und einfach nicht mehr darüber nachdenken ...

OPT_PNP – Installation von isapnp tools Teilweise müssen ISDN-PnP-Karten (ISA) über das Tool isapnp konfiguriert werden. Dies betrifft insb. die Karten mit ISDN_TYPE 7, 12, 19, 24, 27 und 28 – aber nur, wenn es sich auch wirklich um ISA-PnP-Karten handelt. Zur Konfiguration ist die Erstellung einer Konfigurations-Datei etc/ isapnp.conf notwendig. Hier eine Kurzanleitung zur Erstellung: •

In config/base.txt die Variable OPT_PNP=’yes’ und MOUNT_ BOOT=’rw’ setzen



fli4l booten – die PnP-Karte wird wahrscheinlich nicht erkannt



Auf fli4l-Console eingeben: pnpdump -c >/boot/isapnp.conf umount /boot

Damit ist die Konfiguration auf der Diskette gespeichert. Weiter auf PC (Unix/Linux/Windows): •

Die Datei isapnp.conf von Diskette nach opt/etc/isapnp. conf kopieren



isapnp.conf mit Editor öffnen



die entsprechenden Daten (IRQ/IO) in die config/base.txt übernehmen



Neue Boot-Diskette erzeugen

Achtung: Die automatisch generierte Datei ist im UNIX-Format gespeichert und enthält keine CRs. Startet man unter Windows den Notepad-Editor, zeigt dieser alle Zeilen in einer einzigen Zeile an. Der DOS-Editor edit kann jedoch mit Unix-Dateien umgehen. Er speichert sie dann als DOS-Datei (mit CRs) ab. Abhilfe: •

DOS-Box starten



In das Verzeichnis opt/etc wechseln



Eingeben: edit isapnp.conf



Datei bearbeiten und abspeichern

39

6

PACKAGES

Anschließend kann die Datei auch wieder mit Notepad bearbeitet werden. Die zusätzlich generierten CRs werden beim Booten von fli4l wieder herausgefiltert. Sie stören also nicht. Zunächst sollte man versuchen, ohne OPT_PNP auszukommen. Wird die Karte nicht erkannt, sollte wie oben beschrieben vorgegangen werden. Bei einem Update auf eine neuere fli4l-Version kann die früher erstellte Datei isapnp.conf weiter verwendet werden. Standard-Einstellung: OPT_PNP=’no’

6. Packages Seit Version 2.0 gibt es Packages. Ein Package ist nichts anderes als ein Bündel von OPT Paketen. Dies war notwendig, um die Installation der Features übersichtlich zu gestalten. Zum Beispiel sind im Package DSL alle ADSL-relevanten OPT Pakete enthalten. Im Zuge der Neustrukturierung sind auch einige Funktionen aus der Distribution entfernt worden. Das bedeutet allerdings nicht unbedingt, dass dieses OPT Paket nicht mehr existiert. Tabelle 6 zeigt alle Packages mit ihren OPT-Paketen.

Tabelle 6: Packages mit OPT-Paketen Package DSL Name OPT_PPPOE OPT_POESTATUS OPT_PPTP

Beschreibung PPP over Ethernet PPPoE-Status-Monitor DSL-Zugang in Österreich (EXPERIMENTAL)

KB opt.tgz 95 1 115

RAM ?? ?? ??

KB opt.tgz 94 49

RAM 195 103

16 7

33 21

OPT_CDROM OPT_RESCUE

Beschreibung Installation auf Festplatte/CompactFlash Mounten von Dateisystemen auf Festplatte etc. Manuelle Partitionierung diverse Einstellungen an IDE-Festplatten vornehmen IDE-CDROM-Treiber e2fsck als Rettungssystem

75 42

?? 92

Package INET Name OPT_TELNETD OPT_SSHD

Beschreibung Installation des telnet-Dienstes Installation des Secure-Shell-Dienstes

KB opt.tgz 30 125

RAM ?? ??

Package HD Name OPT_HDINSTALL OPT_MOUNT OPT_FDISK OPT_HDTUNE

40

6

PACKAGES

OPT_FTPD

Tabelle 6: Packages mit OPT-Paketen (Forts.) Installation des ftp-Dienstes

Package ISDN Name OPT_ISDN OPT_TELMOND

Beschreibung ISDN telmond-Konfiguration

Package TOOLS Name OPT_ARP OPT_ATD OPT_CRON OPT_E3 OPT_FTP OPT_HDPARM OPT_IMONC OPT_LOGGER OPT_MKDOSFS OPT_MKE2FS OPT_MKSWAP OPT_MOUNT OPT_NETCAT OPT_NETSTAT OPT_SORT OPT_SWAPOFF OPT_SWAPON OPT_TAIL OPT_TRACEROUTE OPT_UMOUNT OPT_WGET

35

??

KB opt.tgz 210 5

RAM ?? ??

Beschreibung KB opt.tgz RAM arp ?? atd ?? crond ?? Editor e3 ?? ftp Cleint ?? hdparm ?? imonc ?? logger ?? mkdosfs ?? mke2fs ?? mkswap ?? mount ?? netcat ?? netstat ?? sort ?? swapoff ?? swapon ?? tail ?? traceroute ?? umount ?? Programm zum Übertragen von Web-Server45 ?? Daten In den weiteren Packages befindet sich genau ein OPT-Paket gleichen Namens, d. h. Package DHCP enthält das OPT-Paket DHCP. In Zukunft kann es sein, dass diese OPTPakete in andere Packages verschoben werden. Name Beschreibung KB opt.tgz RAM OPT_DHCP DHCP-Server 50 ?? OPT_HTTPD Mini-Webserver als Statusmonitor 20 ?? OPT_IMODEM ISDN-Modem-Emulator über serielle 15 ?? Schnittstelle OPT_IPX IPX-Netzwerkkonfiguration 60 ?? OPT_LCD Anzeige von Statusinformationen über LCD10 ?? Display OPT_LPDSRV lpd Berkeley Druckerserver ?? ?? OPT_PCMCIA PCMCIA-Treiber 90 ??

41

7

OPT_PPP OPT_PROXY OPT_SCSI OPT_SERIAL OPT_TIME OPT_VBOX

OPTIONALE DATEIEN UND PROGRAMME

Tabelle 6: Packages mit OPT-Paketen (Forts.) PPP-Server/Router über serielle Schnittstelle Junkbuster als HTTP-Proxy SCSI-Treiber Konfiguration der seriellen Schnittstelle Localtime-Unterstützung, Zugriff auf TimeServer Anrufbeantworter

95

??

50 50 20 15

?? ?? ?? ??

340

??

7. Optionale Dateien und Programme Ab fli4l-Version 1.3 sind optionale Dateien nicht mehr im rootfs-Image enthalten. Das hat folgende Vorteile: • es werden nur noch die Treiber auf die Diskette kopiert, die auch benötigt werden • der Anwender kann selbst eigene Dateien zur fli4l-Installation hinzufügen oder entfernen, wenn er sie nicht braucht. Die optionalen Dateien werden als komprimiertes tar-Archiv auf die Diskette geschrieben. Weil für die Diskette selbst ein DOS-Dateisystem verwendet wird, ist es möglich, optionale Dateien für fli4l auch unter Windows hinzuzufügen. Als Tabelle, welche Dateien (z. B. Kernel-Module als Treiber) auf Wunsch installiert werden sollen, dient opt/.txt. Die Zeilen in dieser Datei haben folgenden Aufbau: Context

Name

Filename

Im Moment sind folgende Werte für Context vorgesehen: gen generische Dateien, die immer kopiert werden sollen eth Ethernet-Karten-Treiber scsi SCSI-Treiber isdn ISDN-Karten-Treiber und treiberspezifische Utilities dns DNS-Konfiguration masq Masquerading-Modules opt Optionale Tools Die Namen haben, je nach Context, verschiedene Bedeutung:

42

7

OPTIONALE DATEIEN UND PROGRAMME Context gen eth isdn dns

Name irrelevant Inhalt der Konfigurationsvariablen ETH_DRV_x hisax, avmb1 oder icn Name des verwendeten DNS-Servers, named oder dnscache masq Protokollname, z. B. ftp, icq oder irc. opt Programmpaketname, z. B. tools, serial oder weitere frei(!) wählbare Der letzte Context, nämlich opt, ist der Interessanteste. Definiert man zum Beispiel in config/mp3.txt eine Variable OPT_MP3=’yes’, werden alle Dateien auf die Diskette kopiert, die mit dem Namen mp3 (hier immer in Kleinbuchstaben) eingetragen sind. Beispiel: opt opt

mp3 mp3

usr/local/bin/freeamp usr/local/bin/mixer

Dann werden die beiden Programme freeamp und mixer aus dem opt-Verzeichnis auf die Diskette kopiert und beim Boot von fli4l im Verzeichnis usr/local/bin installiert. Dieser Mechanismus wird für alle OPT-Variablen verwendet. Möchte jemand andere Programmpakete zusätzlich in fli4l einbauen, sollte er am besten die hier beschriebene Methode verwenden. Das hat den Vorteil, dass dieses Programmpaket einmal in die Standard-Distribution von fli4l integriert werden kann. Der Endanwender kann dann über die entsprechende Konfigurationsvariable entscheiden, ob er das Paket mit auf der Diskette haben möchte oder nicht. Noch einige kleine Infos dazu (als Regeln zu beachten): 1. Programme brauchen auch unter fli4l immer das gesetzte Executable-Bit. Wenn man nun im Verzeichnis opt ein Programm hinzufügt, fehlt dieses Bit natürlich, wenn man unter Windows die Bootdiskette erstellen will. Das ist aber kein Problem: fli4l setzt nach dem Boot als erstes die Executable-Bits für alle Dateien in folgenden Verzeichnissen: /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/local/sbin Wenn man also dafür sorgt, dass das Programm in einem dieser Verzeichnisse installiert ist, gibt es auch beim Konfigurieren unter Windows kein Problem damit. Ich empfehle, eigene Programme in opt/usr/local/bin (und damit unter /usr/local/bin aus fli4l-Sicht) zu installieren. Für zusätzliche Verwaltungsdateien bietet sich dann opt/usr/local/lib an.

43

8

ERSTELLEN DER BOOTDISKETTE

2. Alle Dateien im opt-Verzeichnis sollten in Kleinbuchstaben sein! Bitte unbedingt daran halten. Sonst ist nicht mehr gewährleistet, dass eine unter Windows erstellte Boot-Diskette korrekt funktioniert. Grund: Windows unterscheidet nicht die Groß-/Kleinschreibung von Dateinamen. Sie bleiben daher auch nicht unbedingt immer erhalten (Editieren etc.). Kommt dann die Datei mit falscher Schreibweise in das opt-Archiv (und zwar ohne jede Warnung!), läuft’s dann beim Boot von fli4l garantiert schief. Bei durchgehend klein geschriebenen Dateinamen gibt es natürlich kein Problem.

8. Erstellen der Bootdiskette Sind alle Konfigurationsarbeiten erledigt, kann nun die Bootdiskette erstellt werden. Mit dem Befehl sh mkfloppy.sh für Linux/Unix oder mkfloppy für Windows werden u. a. die benötigten Treiber/Programme aus dem Verzeichnis opt zusammen mit Kernel und Root-Dateisystem auf die Diskette geschrieben. Dazu muss speziell bei Windows das Kommando in einer DOS-Box eingegeben werden. Das heißt aber nicht, dass das Erzeugen der Boot-Diskette auch im reinen DOSModus möglich wäre. Ab Version 1.3 sind die verwendeten Programme mkfli4l.exe und zip.exe reine Windows-Programme im Text-Modus (sog. „Character Mode Executables“) und keine DOS-Programme mehr. Daher ist die Erzeugung von fli4l-Bootdisketten im DOS-Modus nicht mehr möglich. Grund: lange Dateinamen im Verzeichnis opt. Die Linux/Unix-Version schreibt zunächst eine DOS-FAT (leert also damit die Diskette!) und einen Boot-Sektor incl. Boot-Programm auf die Diskette. Anschließend werden dann der der Kernel, das Root-Filesystem und das Tar-Archiv opt.tgz geschrieben. Die Windows-Variante funktioniert ähnlich, nur ist es unbedingt erforderlich, eine frisch formatierte Diskette einzulegen, weil diese vom Script nicht automatisch geleert wird. Unter Linux ist es möglich, auch dichter formatierte Floppies zu erstellen. Dieses geht mit: fdformat /dev/fd0u1680 Dann ist beim Start von mkfloppy.sh die Option -h anzugeben, also mkfloppy.sh -h Es stehen dann 240 KB mehr zur Verfügung. Für Windows kann man sich entsprechende Formatierprogramme besorgen, z. B. ftp://ftp.tu-clausthal.de/pub/msdos/utils/dskutl/fdformat.zip ftp://ftp.tu-clausthal.de/pub/msdos/utils/dskutl/hdcp20ad.zip http://www.vgasoft.de/produkte/vgacopy.html (Shareware)

Die Diskette ist mit 80 Tracks, beidseitig und 21 Sectors/Track zu formatieren. Der Aufruf zum Erstellen der Diskette ist dann: mkfloppy -h In seltenen Fällen kann es vorkommen, dass vorformatierte Disketten beim Booten von fli4l über 5 Minuten benötigen. Normalerweise dauert der fli4l-Boot lediglich 1 bis 2 Minuten. Wenn es wesentlich länger dauert, liegt es an wahrscheinlich an einem ungüstigen Interleave. In diesem Fall sollte man so eine Diskette einfach unter DOS/Windows neu formatieren. Auch hilft oft, die Option -s aus der Batch-Datei mkfloppy.bat hinter dem syslinux-Aufruf herauszunehmen. Bei Windows 2000 erscheint evtl. beim Erstellen der Diskette:

44

9

ANBINDUNG VON PCS IM LAN

16-Bit-MS-DOS-Teilsystem: Laufwerk A:. Das Laufwerk konnte nicht für exklusiven Zugriff gesperrt werden. Evtl. verwendet eine andere Anwendung das Laufwerk..." Diese Meldung sollte mit Ignorieren bestätigt werden. Anschließend wird die Diskette normal erzeugt. Und noch eine Information: fli4l montiert die Diskette im Root-Filesystem zum Read/Write, wenn die Variable MOUNT_BOOT=’rw’ eingestellt ist. Dann darf kein Schreibschutz aktiviert werden. Ändert man später die Konfiguration, ist es lediglich nötig, die Datei opt.tgz auf der bereits beschriebenen Diskette auszutauschen. Das geht so: Linux:

sh mktgz.sh cd img mcopy opt.tgz a: mcopy rc.cfg a:

# # # #

Archiv opt.tgz und Datei rc.cfg erzeugen In das Unterverzeichnis "img" wechseln Datei opt.tgz auf die Diskette kopieren NEU! Datei rc.cfg auf die Diskette kopieren

# # # #

Archiv opt.tgz und Datei rc.cfg erzeugen In das Unterverzeichnis "img" wechseln Datei opt.tgz auf die Diskette kopieren NEU! Datei rc.cfg auf die Diskette kopieren

Windows (in DOS-Box):

mktgz cd img copy opt.tgz a: copy rc.cfg a:

Das war’s !

9. Anbindung von PCs im LAN Für jeden Rechner im LAN ist einzustellen: 1. IP-Adresse 2. Name des Rechners plus Wunsch-Domain-Name 3. Standard-Gateway 4. IP-Adresse des DNS-Servers zu 1) Die IP-Adresse muss im gleichen Netz wie die IP-Adresse des fli4l-Routers (auf Ethernet-Seite) liegen, also z. B. 192.168.6.2. Kein Rechner darf die gleiche IPAdresse haben, weshalb man am besten (nur) die letzte Zahl ändert. Auch ist darauf zu achten, dass man hier die gleiche IP-Adresse angibt, wie man es für diesen Rechner in der Datei config/base.txt angegeben hat.

45

9

ANBINDUNG VON PCS IM LAN

zu 2) Der Name des Rechners ist dann z. B. mein-pc, die Domain lan.fli4l. Wichtig: Die im PC eingestellte Domain muss identisch mit der gewählten Domain im fli4l-Rechner sein, wenn man den fli4l-Router als DNS-Server verwenden will. Sonst kann es im Netz erhebliche Probleme geben. Grund: Windows-Rechner suchen regelmäßig nach Rechnern mit dem Namen WORKGROUP.meine-domain.fli4l. Ist dies nicht die in fli4l eingestellte Domain (hier: meine-domain.fli4l), wird fli4l versuchen, diese Anfrage durch Weiterleiten ins Internet zu beantworten ... Einzutragen ist die Domain in den TCP/IP Einstellungen des Rechners. Für Windows 2000 findet man das unter: Start -> Einstellungen -> Systemsteuerung -> Netzwerk- und DFÜ-Verbindungen -> LAN-Verbindung -> Eigenschaften -> Internetprotokoll (TCP/IP) -> Eigenschaften -> Erweitert... -> DNS -> DNS-Suffix hinzufügen -> lan.fli4l eingeben -> OK drücken. Für NT4: Start -> Einstellungen -> Systemsteuerung -> Netzwerk -> Protokolle -> TCP/IP -> Eigenschaften -> DNS -> - Hostname eintragen (eigener Rechnername) - Domäne eintragen (wie in config/base.txt) - IP-Adresse vom fli4l-Router hinzufügen - DNS-Suffix hinzufügen (Domäne hinzufügen - siehe 2 Zeilen höher) Für Win95/98: Start -> Einstellungen ->

46

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND Systemsteuerung -> Netzwerk -> Konfiguration -> TCP/IP (jenes, das an die Netzwerkkarte zum Router angebunden ist) -> Eigenschaften -> DNS-Konfiguration: DNS aktivieren und bei Domäne: dann lan.fli4l eingeben.

zu 3) Die Angabe des Standard-Gateways ist unbedingt erforderlich, denn ohne die Angabe der richtigen IP-Adresse an dieser Stelle funktioniert nichts. Es muss hier die IP-Adresse des fli4l-Routers (auf Ethernet-Seite) angegeben werden, also z. B. 192.168.6.4 entsprechend der IP-Adresse, die hier in der Datei config/base.txt für den fli4l-Router angegeben wurde. Es ist falsch, den fli4l-Router als Proxy in der Windows- oder Browser- Konfiguration einzutragen – außer man setzt Junkbuster auf dem fli4l-Router ein. Im Normalfall ist fli4l kein Proxy, daher bitte nicht fli4l als Proxy angeben! zu 4) Als IP-Adresse des DNS-Servers gibt man nicht die Adresse des Provider-DNSServers an, sondern die des fli4l-Routers (Ethernet), da dieser nun selbst Anfragen beantworten kann bzw. diese bei Unkenntnis ins Internet weiterleitet. Die Punkte 1 bis 4 brauchen bei konfiguriertem DHCP-Server nicht eingetragen werden, da dann der fli4l-Router die notwendigen Daten automatisch übermittelt. Mit der Konstruktion von fli4l als DNS-Server werden viele von den Windows-PCs ausgeführten Anfragen nicht ins Internet weitergeroutet, sondern werden direkt vom fli4l-Router beantwortet. Sonstige Anmerkungen Internetoptionen: Bei Verbindungen muss keine Verbindung wählen angegeben werden. Bei Einstellungen für lokales Netzwerk(LAN): Es darf hier nichts angegeben werden (es sei dann es wird opt_Proxy verwendet). Dank an Alexander Levenetz für die Windows-Konfigurations-Recherche :-)

10. Client-/Server-Schnittstelle imond 10.1. imon-Server imond imond ist ein netzwerkfähiges Server-Programm, welches bestimmte Anfragen beantwortet oder auch Kommandos zur Steuerung des Routers entgegennehmen kann. Außerdem steuert imond das Least-Cost-Routing. Dazu verwendet er eine Konfigurationsdatei /etc/imond.conf, welche beim Booten automatisch aus den ISDN_CIRC_ x_XXX-Variablen der Datei config/isdn.txt über ein Shell-Script erzeugt wird. imond läuft permanent als Daemon und horcht gleichzeitig auf TCP/IP-Port 5000 und Device /dev/isdninfo.

47

10.1

imon-Server imond

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

Die Tabellen 7, 8 und 9 auf der nächsten Seite zeigen die Kommandos, die über den TCP/IP-Port 5000 möglich sind.

Tabelle 7: Admin-Befehle Channel zum Circuit hinzufügen (Channel-Bundling) Ändert die Uhrzeit des Routers um die angegebenen Sekunden delete filename pw Löscht die Datei auf dem Router hup-timeout #ci-index Anzeigen bzw. Setzen des HUP-Timeout für ISDN[value] Circuits removelink ci-index Zusätzlichen Channel wieder entfernen reset-telmond-log-file Löschen der telmond-Protokolldatei reset-imond-log-file Löschen der imond-Protokolldatei receive filename Eine Datei auf den Router übertragen. Dazu quittiert #bytes pw imond den Befehl mit einem ACK (0x06). Danach wird die Datei in 1024er-Blöcken übertragen, die imond auch jeweils mit einem ACK bestätigt. Als letztes übermittelt imond noch ein OK. send filename pw Wenn das Passwort stimmt und die Datei existiert, liefert imond ein OK #bytes. Anschließend überträgt imond die Datei in 1024er Blöcken, die jeweils mit einem ACK (0x06) bestätigt werden müssen. Als letztes liefert imond noch ein OK. support pw Liefert den Status/Konfiguration vom Router sync Synchronisiert den Cache von gemounteten Laufwerken addlink ci-index adjust-time seconds

dial dialmode [auto|manual|off] disable enable halt hangup reboot route [ci-index]

channels charge #channel-id chargetime #channel-id

Tabelle 8: Admin- oder User-Befehle Wählt den Provider an (Default-Route-Circuit) Liefert bzw. setzt den Dialmode Hängt ein und setzt dialmode auf off Setzt dialmode auf auto Fährt den Router sauber herunter Hängt ein Reboot vom i4l-Router! Setzen Default-Route auf Circuit X (0=automatisch)

Tabelle 9: User-Befehle Ausgabe Anzahl der verfügbaren ISDN-Kanäle Ausgabe der Online-Kosten für einen Channel Online-Zeit unter Berücksichtigung des Taktes

48

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

circuit [ci-index] circuits cpu date device ci-index driverid #channel-id help inout #channel-id imond-log-file ip #channel-id is-allowed command

is-enabled links ci-index log-dir imond|telmond|mgetty mgetty-log-file online-time #channel-id pass [password]

phone #channel-id pppoe quantity #channel-id quit rate #channel-id status #channel-id telmond-log-file time #channel-id timetable [ci-index] uptime usage #channel-id version

10.1

imon-Server imond

Tabelle 9: User-Befehle (Forts.) Ausgabe eines Circuit-Namens Ausgabe Anzahl der Default-Route-Circuits Liefert die Auslastung der CPU in Prozent Ausgabe Datum/Uhrzeit Liefert das Device des Circuits Ausgabe Driver-Id für Channel X Ausgabe Hilfe Ausgabe der Richtung (incoming/outgoing) Ausgabe imond-Protokolldatei Ausgabe der IP Ausgabe, ob Befehl konfiguriert/gültig ist Mögliche Befehle: dial|dialmode|route|reboot|imond-log| telmond-log|mgetty-log Ausgabe, ob dialmode auf off (0) oder auto (1) Ausgabe Anzahl momentaner Channel 0, 1 oder 2. 0 heißt: Kein Channel-Bundling möglich Liefert das Logverzeichnis Ausgabe mgetty-Protokolldatei Ausgabe Online-Zeit der akt. Verbindung in hh:mm:ss Abfrage, ob Password nötig bzw. Password- Eingabe 1 Userpassword gesetzt 2 Adminpassword gesetzt 4 imond befindet sich im Admin-Modus Ausgabe Telefonnummer/Name des „Gegners“ Liefert die Anzahl der pppoe-Devices (also 0 oder 1) Liefert die übertragenen Datenmengen (in Byte) Beenden der Verbindung zu imond Ausgabe Übertragungsraten (incoming/outgoing in B/sec) Ausgabe Status für Channel X Ausgabe telmond-Protokolldatei Ausgabe Summe Online-Zeiten, Format hh:mm:ss Ausgabe der Zeittabelle für LC-Routing Ausgabe der Uptime des Routers in Sekunden Ausgabe Art der Verbindung, mögliche Antworten: Fax, Voice, Net, Modem, Raw Ausgabe der Protokoll- und Programm-Version

Der TCP/IP-Port 5000 ist nur vom maskierten LAN aus erreichbar. Standardmäßig wird ein Zugriff von außen über die Firewall-Konfiguration abgeblockt. Imond unterstützt zwei Benutzerebenen: den User- und den Admin-Modus. Für beide Ebenen kann ein Passwort gesetzt werden mittels IMOND_PASS bzw. IMOND_ADMIN_

49

10.1

10

imon-Server imond

CLIENT-/SERVER-SCHNITTSTELLE IMOND

PASS. Dadurch werden die imon-Clients von imond gezwungen, eine Password-Abfrage durchzuführen und anschließend das Password an imond zu übertragen. Solange dieses Password nicht übermittelt wurde, nimmt imond nur die beiden Kommandos pass und quit entgegen. Alle anderen werden mit einem Fehler zurückgewiesen. Möchte man das weiter einschränken, z. B. den Zugriff nur von nur einem PC erlauben, muss die Firewall-Konfiguration geändert werden. Das geht im Moment leider noch nicht über die Standard-Konfigurationsdatei config/base.txt. In diesem Fall ist eine Änderung im rootfs-Image nötig, nämlich in rootfs/etc/rc.d/masq. Wie das geht: siehe src/README. Die Befehle enable/disable/dialmode

dial/hangup

route

reboot/halt

können durch die Konfigurationsvariablen IMOND_XXX global ein- oder abgeschaltet werden (s. Kapitel "Konfiguration"). Mit einem Unix/Linux-Rechner kann man das Ganze leicht ausprobieren: Nach Eingabe von telnet fli4l 5000

# oder entsprechender Name des fli4l-Routers

kann man direkt die oben aufgeführten Kommandos eingeben und sich die Ausgabe anschauen. Zum Beispiel bekommt man mit help die Hilfe angezeigt, mit quit wird die Verbindung zum imond abgebaut. 10.1.1. Least-Cost-Routing – Funktionsweise imond konstruiert aus der Konfigurationsdatei /etc/imond."conf (welche wiederum beim Booten aus den Konfigurationsvariablen ISDN_CIRC_x_TIMES usw. erstellt wird), eine zeitabhängige Tabelle (Time-Table). Diese umfasst eine komplette Kalenderwoche im 1-Stunden-Raster (168 Stunden = 168 Bytes). Die Tabelle setzt sich jedoch lediglich aus Circuits zusammen, für die eine Default-Route definert ist. Mit dem imond-Kommando timetable kann man sich diese Tabelle anschauen. Hier ein Beispiel: Nehmen wir an, dass 3 Circuits definiert wurden, nämlich: CIRCUIT_1_NAME=’Addcom’ CIRCUIT_2_NAME=’Compuserve’ CIRCUIT_3_NAME=’Firma’ wobei lediglich die ersten beiden Circuits mit Default-Routen belegt sind (ISDN_CIRC_ x_ROUTE=’0.0.0.0’). Wenn die dazugehörigen Variablen ISDN_CIRC_x_TIMES folgendermaßen aussehen: ISDN_CIRC_1_TIMES=’Mo-Fr:09-18:0.0388:N Mo-Fr:18-09:0.0248:Y Sa-Su:00-24:0.0248:Y’ ISDN_CIRC_2_TIMES=’Mo-Fr:09-18:0.019:Y Mo-Fr:18-09:0.049:N Sa-Su:09-18:0.019:N Sa-Su:18-09:0.049:N’

50

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

10.1

imon-Server imond

ISDN_CIRC_3_TIMES=’Mo-Fr:09-18:0.08:N Mo-Fr:18-09:0.03:N Sa-Su:00-24:0.03:N’

dann wird daraus folgende Datei /etc/imond.conf: #day Mo-Fr Mo-Fr Sa-Su Mo-Fr Mo-Fr Sa-Su Sa-Su Mo-Fr Mo-Fr Sa-Su

hour 09-18 18-09 00-24 09-18 18-09 09-18 18-09 09-18 18-09 00-24

device ippp0 ippp0 ippp0 ippp1 ippp1 ippp1 ippp1 isdn2 isdn2 isdn2

defroute no yes yes yes no no no no no no

phone 010280192306 010280192306 010280192306 019160 019160 019160 019160 0221xxxxxxx 0221xxxxxxx 0221xxxxxxx

name Addcom Addcom Addcom Compuserve Compuserve Compuserve Compuserve Firma Firma Firma

charge 0.0388 0.0248 0.0248 0.019 0.049 0.019 0.049 0.08 0.03 0.03

ch-int 60 60 60 180 180 180 180 90 90 90

imond erstellt dann im Speicher folgende Time-Table – hier die Ausgabe über das imond-Kommando timetable: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -------------------------------------------------------------------------Su 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 Mo 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 2 2 2 2 2 2 Tu 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 2 2 2 2 2 2 We 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 2 2 2 2 2 2 Th 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 2 2 2 2 2 2 Fr 2 2 2 2 2 2 2 2 2 4 4 4 4 4 4 4 4 4 2 2 2 2 2 2 Sa 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 No. 1 2 3 4 5 6 7 8 9 10

Name Addcom Addcom Addcom Compuserve Compuserve Compuserve Compuserve Firma Firma Firma

DefRoute no yes yes yes no no no no no no

Device ippp0 ippp0 ippp0 ippp1 ippp1 ippp1 ippp1 isdn2 isdn2 isdn2

Ch/Min 0.0388 0.0248 0.0248 0.0190 0.0490 0.0190 0.0490 0.0800 0.0300 0.0300

ChInt 60 60 60 180 180 180 180 90 90 90

Für den Circuit 1 (Addcom) sind also drei Zeitbereiche (1-3) eingetragen, für Circuit 2 (Compuserve) vier Zeitbereiche (4-7) und für den letzen drei Zeitbereiche (8-10). In der Time-Table werden jeweils die Indices ausgegeben, welche für die jeweilige Stunde gültig sind. Hier tauchen lediglich die Indices 2-4 auf, da alle anderen keine LC-Default-Routen sind. Sieht man in der Tabelle irgendwo Nullen, gibt es Lücken in den ISDN_CIRC_X_ TIMES-Werten. Dann existiert zu diesen Zeiten keine Default-Route, Internet-Zugang abgeknipst!

51

10.1

imon-Server imond

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

Beim Programmstart ermittelt imond zunächst den Wochentag und die aktuelle Stunde. Anschließend wird dann über die Time-Table der Index ermittelt und damit dann auch der entsprechende Circuit. Auf diesen wird dann die Default-Route gesetzt. Bei Zustandsänderungen der ISDN-Channel, z. B. Wechsel von online nach offline – jedoch spätestens nach 1 Minute – geht das Spiel von neuem los: Zeit ermitteln, Lookup in Tabelle, Default-Route-Circuit ermitteln. Ändert sich der aktuell verwendete Circuit, z. B. montags um 18:00 Uhr, wird die alte Default-Route gelöscht, eine vielleicht bestehende Verbindung beendet (sorry...) und anschließend die Default-Route auf den neuen Circuit gesetzt. Dies kann von imond bis zu 60 Sekunden später bemerkt werden, also wird spätestens um 18:00:59 umgeschaltet. Bei Circuits, die keine Default-Route belegen, ändert sich überhaupt nichts. Hier wird der Inhalt von ISDN_CIRC_x_TIMES lediglich zur Berechnung der Telefonkosten verwendet. Diese können dann relevant sein, wenn man über den Client imonc das LCRouting temporär ausschaltet und einen Circuit manuell wählt. Man kann sich jedoch auch die Tabellen für andere Zeitbereich-Indices (im Beispiel von 1 bis 10) anschauen, auch die der „Non-LC-Default-Route-Circuits“. Kommando: timetable index Beispiel: telnet fli4l 5000 timetable 5 quit Die Ausgabe sieht dann so aus: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 -------------------------------------------------------------------------Su 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Mo 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 Tu 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 We 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 Th 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 Fr 5 5 5 5 5 5 5 5 5 0 0 0 0 0 0 0 0 0 5 5 5 5 5 5 Sa 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 No. 5

Name Compuserve

DefRoute no

Device ippp1

Ch/Min 0.0490

ChInt 180

Alles klar? Mit dem imond-Kommando route kann das LC-Routing ein- und ausgeschaltet werden. Bei Angabe eines positiven Circuit-Indices (1...N) wird die Default-Route auf den angegebenen Circuit gelegt. Ist der Index 0, wird das LC-Routing wieder aktiviert und der Circuit automatisch ausgewählt. Zur Berechnung der Onlinekosten: Das ganze Modell zur Berechnung der Onlinekosten funktioniert nur korrekt, wenn der Zeittakt für einen Circuit (Variable ISDN_CIRC_x_CHARGEINT) über die ganze Woche konstant ist. Dies ist im Normalfall bei Internet-Providern die Regel. Wählt man sich jedoch über die Telekom (ich meine nicht T-Online!) z. B. in sein Firmennetz ein, gilt das als ganz normales Telefongespräch. Und da wechselt ab 18:00 der Takt von 90 Sekunden auf 4 Minuten (Stand Juni 00). Deshalb ist die Definition von

52

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

10.2

Windows-Client imonc.exe

ISDN_CIRC_3_CHARGEINT=’90’ ISDN_CIRC_3_TIMES=’Mo-Fr:09-18:0.08:N Mo-Fr:18-09:0.03:N Sa-Su:00-24:0.03:N’

eigentlich nicht ganz korrekt. Es sind zwar abends umgerechnet auf die Minute 3 Pfennig (4 Minuten kosten 12 Telekom-Pfennige), jedoch ist der Takt falsch. Deshalb können bei der Kostenanzeige Differenzen zu den tatsächlichen Zahlen auftreten. Vielleicht wird das später mal gefixed. Ich halte den Fehler im Moment für nicht ganz so tragisch, obwohl es jedoch bei häufiger Nutzung zu einem Problem werden kann: Bei längerer Idle-Zeit wird dann wahrscheinlich abends nicht der ganze Zeittakt von 4 Minuten ausgenutzt und deshalb das Ganze etwas teurer werden ... Mittlerweile hat mir jemand einen Tip gegeben, wie verschieden lange Taktzeiten doch richtig berücksichtigt werden (auch wichtig für ISDN_CIRC_x_CHARGEINT): Man definiere einfach 2 Circuits, einen für tagsüber mit ISDN_CIRC_1_CHARGEINT=’90’ und den anderen mit ISDN_CIRC_2_CHARGEINT=’240’. Natürlich muss man dann auch noch ISDN_CIRC_x_TIMES entsprechend wählen, damit tagsüber Circuit 1 und abends Circuit 2 verwendet wird. Ein schöner Trick ... Wie gesagt: Bei Nutzung von Verbindungen zu Internet-Providern gibt es das Problem nicht, weil dort der Zeittakt immer konstant ist und lediglich die Kosten pro Minute wechseln (oder gibt es sowas doch??? Ich traue T-* alles zu :-).

10.2. Windows-Client imonc.exe 10.2.1. Einleitung Die Entwicklung des Windows-Clients hat nun Nico Wallmeier ([email protected]) übernommen. Seit der Version 1.5 beherrscht imond (und somit auch imonc) zwei Benutzermodi: den User- und den Adminmodus. Im Adminmodus sind alle Steuerelemente aktiviert, d. h. er entspricht dem bisherigen Funktionsumfang des imonc, wenn in der Datei config/base.txt die Variablen IMOND_ENABLE, IMOND_DIAL, IMOND_ROUTE und IMOND_REBOOT auf ’yes’ gesetzt waren. Diese Konfigurationsvariablen steuern jetzt den Usermodus, d. h. der Inhalt der Variable steuert, ob die entsprechende Funktion zur Verfügung steht. Sind alle diese Variablen auf ’no’ gesetzt, bedeutet dies für die Summary-Seite, dass alle Buttons bis auf den Exit- und den Admin-Mode-Button deaktiviert sind. Die Entscheidung, ob der User- oder Admin-Modus benutzt wird, wird anhand des übermittelten Passwortes getroffen. Über den Button Admin-Mode, der sich in der Statusleiste befindet, kann jederzeit unter Eingabe des Admin-Passwortes vom User- zum Admin-Modus gewechselt werden. Sobald imonc gestartet ist, wird ein zusätzliches Tray-Icon angezeigt, welches den Verbindgungsstatus der vorhandenen Kanäle anzeigt. Die Farben bedeuten: Rot: Offline, Gelb: Dialing, Hellgrün: Online und Traffic auf dem Channel, Dunkelgrün: Online und so gut wie kein Traffic auf dem Channel Um Darstellungsprobleme unter Windows XP zu vermeiden, ist ab der Version 2.0.8 der zusätzliche Button in der Titelleiste entfernt worden. Um imonc in den Tray zu minimieren, gibt es jetzt die Möglichkeit dieses über den Minimieren-Button zu erledigen. Damit bleibt nur noch das Tray-Icon neben der Uhr übrig. Ein Doppelklick mit der linken Maustaste auf das Tray-Symbol holt das imonc-Fenster wieder in den Vordergrund. Mit der rechten Maustaste besteht auch die Möglichkeit über das Kontextmenü,

53

10.2

Windows-Client imonc.exe

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

die wichtigsten imonc-Kommandos direkt auszuwählen, ohne imonc wieder auf den Bildschirm zu holen. Sollte der Explorer sich mal mit einer Schutzverletzung beenden, ist das Tray-Icon von imonc erstmal verschwunden. Wenn imonc jetzt erneut gestartet wird, wird die vorherige Instanz von imonc wieder auf den Bildschirm befördert und das Tray-Icon restauriert. Viele Eigenschaften (darunter auch alle Spaltenbreiten der StringGrids) speichert imonc in der Registry, damit imonc so an die eigenen Bedürfnisse angepasst werden kann. Imonc speichert die Informationen in dem Registry-Schlüssel HKEY_CURRENT_ USER\Software\fli4l. Da mittlerweile die Sprache vom imonc einstellbar ist (siehe Config/General), liegen dieser Dokumentation die englischen Begriffe zugrunde. Bestehen trotz intensiven Lesens der Dokumentation noch Probleme in Bezug auf imonc oder auch des Routers selber, die man z. B. in der Mailingliste posten möchte, ist es sinnvoll, auf der About-Seite des imonc den Punkt System Info auszuwählen und dort den Punkt Support-Infos. Daraufhin wird das Router-Passwort abgefragt (nicht das imond-Passwort!). Imonc erstellt dann eine Datei fli4lsup.txt, welche alle wichtigen Informationen bezüglich des Routers und imonc beinhaltet. Diese Datei kann dann dem Support-Formular auf der Homepage hinzugefügt werden oder auf Nachfrage in die Mailingliste gepostet werden, so dass deutlich bessere Chancen auf rasche Hilfe bestehen. Nähere Details betreffend der Entwicklung des Windows-Clients imonc findet man auf der Homepage von fli4l http://www.fli4l.de unter den Punkten Wunschliste und imonc. An letzterer Stelle kann man sehen, welche neuen Features und Bug-Fixes in der nächsten Version von imonc enthalten sein werden. Außerdem gibt es dort den neusten imonc, wenn dieser nicht schon in der fli4l-Distribution enthalten ist. Wer weitere Anregungen für imonc hat, kann sich in der fli4l-Mailingliste (zu finden auf www.fli4l.de) oder mit einer Mail an Nico Wallmeier ([email protected]) melden. Wir (Nico und ich) haben uns nun die weitere Entwicklung der imonc/imond-Schnittstelle geteilt. Nico hat den Client übernommen, ich werde dafür sorgen, dass imond auch weiterhin die notwendigen Infos an seine Clients rausrückt. Sollen weitere Infos im imonc ausgegeben werden, ist fast immer eine Erweiterung des Kommunikationsprotokolls nötig, so dass auf beiden Seiten (Server und Client) die Software ergänzt werden muss. 10.2.2. Startparameter Das Client-Programm benötigt den Namen oder die IP-Adresse des fli4l-Routers. Standardmäßig versucht das Programm, eine Verbindung mit dem Rechner fli4l herzustellen. Wenn dieser im DNS korrekt eingetragen ist, sollte es also direkt funktionieren. Ansonsten kann man in der Verknüpfung folgende Parameter übergeben: • /Server:IP oder Hostname des Routers (Kurzform: /S:IP oder Hostname) • /password:Passwort (Kurzform: /P:Password) • /log Die Logging-Option zum Protokollieren der Kommunikation zwischen imonc und imond. Ist diese Option eingeschaltet, wird beim Beenden von imonc eine

54

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

10.2

Windows-Client imonc.exe

Datei imonc.log geschrieben. Diese Datei beinhaltet die gesamte Kommunikation zwischen Router und Client und wird darum sehr groß. Deshalb sollte dieser Startparameter nur gesetzt werden, wenn Probleme bestehen. • /iport:Portnummer Die Portnummer auf der imond lauscht. Default: 5000 • /tport:Portnummer Die Portnummer auf der telmond lauscht. Default: 5001 • /rc:"Command" Das hier angegebene Kommando wird ohne weitere Überprüfung an den Router übertragen und anschließend imonc beendet. Sollen mehrere Kommandos gleichzeitig ausgeführt werden, müssen diese durch Semikolons getrennt werden. Damit es funktioniert, muss ein gesetztes imond-Passwort mit übergeben werden, da keine Abfrage des Passwortes erfolgt. Die möglichen Kommandos sind beim imond dokumentiert, siehe Kapitel 10 auf Seite 47. Zusätzlich zu den dort aufgeführten Befehlen gibt es noch den Befehl timesync. Dieser bewirkt, dass die Uhrzeit des Clients mit der des Routers synchronisiert wird. Der Befehl dialtimesync wird nicht mehr unterstützt, da er sich als dial; timesync schreiben lässt. • /d:"fli4l-Directory" Hiermit kann das fli4l-Directory per Startparameter übergeben werden. Interessant wenn man mit mehreren fli4l-Versionen herumspielt • /wait Wenn der Hostname nicht aufgelöst werden kann, beendet sich imonc nicht mehr – erneuter Verbindungsaufbau durch Doppelclick auf das TrayIcon • /NoStartCheck Dieser schaltet die Überprüfung ab, ob imonc bereits läuft. Nur sinnvoll, wenn mehrere, unterschiedliche fli4l-Router in einem Netz überwacht werden sollen. Bei weiteren Instanzen werden die eingebauten Syslog- und EMailFunktionalitäten deaktiviert. Usage (einzutragen in der Verknüpfung): X:\...\imonc.exe [/Server:Host] [/Password:Passwort] [/iport:Portnummer] [/log] [/tport:Portnummer] [/rc:"Command"] Beispiel mit IP-Adresse: C:\wintools\imonc /Server:192.168.6.4 oder mit Namen und Password: C:\wintools\imonc /S:fli4l /P:geheim oder mir Namen, Password und Routerkommando: C:\wintools\imonc /S:fli4l /P:geheim /rc:"dialmode manual"

55

10.2

Windows-Client imonc.exe

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

10.2.3. Seite Summary Der Windows-Client imonc.exe fragt einige imond-Informationen über das LAN ab und bereitet sie im Anzeigefenster auf. Dazu gehören unter anderem: Local/Remote Date Windows-/fli4l-Datum und Uhrzeit Status Calling/Online/Offline Name Telefonnummer des Gegners oder CircuitName Direction Zeigt an, ob es sich um eine eingehende oder ausgehende Verbindung handelt IP Die IP, die man zugewiesen bekommen hat IBytes Empfangene Bytes OBytes Gesendete Bytes Online-Time Aktuelle Online-Zeit Time Summe aller Online-Zeiten Charge-Time Summe Online-Zeiten unter Berücksichtigung des Zeittaktes Charge Berechnete Kosten Die Daten werden alle 2 Sekunden aktualisiert. Dieses Intervall ist nun einstellbar. Im Kontextmenü dieser Übersicht besteht die Möglichkeit, für jeden vorhandenen Kanal, mit dem der Router gerade online ist, sowohl die zugewiesene IP in die Zwischenablage zu kopieren, als auch den Kanal gezielt auflegen zu können. Letzteres ist für den Fall interessant, dass mehrere unterschiedliche Verbindungen bestehen, z. B. eine um im Internet zu surfen und eine andere zur Firma, und gezielt eine dieser Verbindungen getrennt werden soll. Ist zusätzlich auf dem fli4l-Router der telmond-Prozess aktiv, kann imonc zusätzlich Informationen über eingehende Telefonanrufe (nämlich anrufende und angerufene Telefonnummer) anzeigen. Der letzte eingegangene Telefonanruf wird oberhalb der Knöpfe angezeigt. Ein Protokoll der eingegangenen Telefonanrufe erhält man durch Anzeige der Seite Calls, siehe Abschnitt 10.2.5 auf Seite 62. Mit den 5 Knöpfen in imonc können folgende Kommandos angewählt werden: 1. Dial/Hangup – Wählen/Einhängen 2. Add link/Rem link – Kanäle bündeln: ja/nein – dieses Feature steht nur im AdminMode zur Verfügung 3. Reboot – fli4l neu booten! 4. Halt – fli4l sauber runterfahren, um ihn anschließend sicher ausschalten zu können 5. Exit – Client beenden Die Kommandos 1, 2, 3 und 4 können in der Konfigurationsdatei des fli4l-Routers config/base.txt für den User-Modus einzeln ein- und ausgeschaltet werden. Dann sind diese Buttons deaktiviert. Im Admin-Modus sind sie alle deaktiviert. Die Auswahl Dialmode steuert das Wahlverhalten des Routers:

56

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

10.2

Windows-Client imonc.exe

Auto Der Router baut automatisch eine Verbindung zum Internet auf, wenn eine Anfrage aus dem lokalen Netz eintrifft. Manual Der Benutzer muss selber die Verbindung aufbauen. Off Es ist weder manuell noch automatisch möglich, eine Verbindung aufzubauen. Der Dial-Button ist dann deaktiviert. Bleibt noch anzumerken, dass fli4l standardmäßig selbständig rauswählt, wenn man mit seinem Rechner ins Internet will. Man muss also eigentlich nie das Dial-Knöpfchen drücken ... Es besteht auch die Möglichkeit, den Default-Route-Circuit manuell zu wechseln, also das automatische LCR-Routing ein- und auszuschalten. Dafür ist in der WindowsVersion von imonc die Auswahlliste Default Route vorgesehen. Außerdem kann man die Hangup-TimeOut-Zeit jetzt auch über imonc direkt konfigurieren. Dazu dient der Button Config neben der Default Route. Dort werden alle konfigurierten Circuits des Routers angezeigt. Der Wert in der Spalte hup-timeout kann für ISDN-Circuits direkt im StringGrid editiert werden (funktioniert bis dato nicht für DSL). Für einen Überblick über das LCR-Routing siehe Abschnitt 10.1.1 auf Seite 50. Dort sieht man, welchen Circuit imond zu welcher Zeit automatisch auswählt. 10.2.4. Seite Config Der Konfigurationsbereich ist über den Button Config in der Statuszeile erreichbar. Das aufgehende Fenster ist dann in die folgenden Bereiche unterteilt: • Der Bereich General: – Seconds of Refresh: Hier wird eingestellt, wie oft die Seite Summary aktualisiert werden soll. – Synchronize Time at Startup: Übernimmt beim Starten des Client die Zeit und das Datum des Routers als lokale Zeit. Diese Funktion kann auch manuell mit dem Button Synchronize auf der Seite Summary aufgerufen werden. – Start Minimized: Startet das Programm direkt minimiert, man sieht nur das Icon neben der Uhr. – Start imonc together with Windows: Hier kann man angeben, ob der Client direkt beim Starten von Windows mit gestartet werden soll. In dem Feld Parameter kann man die nötigen Start-Parameter angeben. – Get news from fli4l.de: Sollen die News, die auf der fli4l-Homepage in der News-Sektion angezeigt werden, auch vom imonc geholt und angezeigt werden? Die Schlagzeilen werden dann in der Statusbar angezeigt. Außerdem wird dann eine neue Seite News angezeigt, in der die kompletten News angezeigt werden. – Log Calls in a File: Den Dateinamen, den man hier angeben kann, wird dazu benutzt, die Calls-Liste unter diesem Namen lokal auf dem Rechner abzuspeichern. Dieser Menüpunkt ist nur sichtbar, wenn die Config-Variable TELMOND_LOG auf ’yes’ gesetzt ist, dieses gilt auch für die eigentliche CallsListe.

57

10.2

Windows-Client imonc.exe

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

– Log Connections in a File: dito wie oben nur für die Connections – TimeOut for Router to respond: Wie lange soll auf eine Antwort der Routers gewartet werden, bevor angenommen wird, dass die Verbindung nicht mehr besteht. – Language: Hier kann die Sprache des imoncs ausgewählt werden. – Confirm router commands: Ist dieses Feature aktiviert, müssen alle Routerbeeinflussenden Kommandos, wie zum Beispiel Reboot, Hangup ..., generell bestätigt werden. – Hangup with traffic: Soll kein Hinweis erfolgen, wenn die Verbindung beendet wird und noch Traffic auf der Leitung ist – Automatic Reconnect to router: Soll, wenn die Verbindung zum Router unterbrochen wird (z. B. durch einen Reboot des Routers), automatisch probiert werden, die Verbindung wieder herzustellen. • Der Bereich Calls: Die Position des Call Notification-Fensters wird in der Registry gespeichert, so dass man sich das Fenster an die Position schieben kann, wo man es haben möchte. Es erscheint anschließend immer wieder an dieser Stelle. – Activate Call Notification: Bestimmt, ob Anrufe signalisiert werden sollen. – Show Call Notification: Soll bei eingehenden Anrufen ein Hinweisfenster mit den Infos: angerufene MSN, Rufnummer des Anrufers und Datum/Uhrzeit erscheinen? Dafür ist es nötig, dass in der Datei config/isdn.txt die Variable OPT_TELMOND auf ’yes’ gesetzt wird. – Seconds of Call Notification: Diese Angabe beeinflusst die Dauer, wie lange das Call Notification-Fenster geöffnet bleiben soll. Die Angabe von 0 an dieser Stelle bewirkt, dass das Fenster nicht automatisch geschlossen wird. – Fontsize: Hiermit wird die Schriftgröße des Call Notification-Fensters bestimmt. Dieses hat Einfluss auf die Größe des Fenster, da die notwendige Größe des Fenster anhand der tatsächlichen Größe der Mitteilung berechnet wird. – Color: Hiermit kann die Schriftfarbe des Call Notification-Fensters ausgewählt werden. Ich selber benutzte die Farbe rot, damit ich es auch direkt wahrnehme. – Delete first zero: Telefonanlage setzen manchmal eine zusätzliche Null vor die Rufnummer des Anrufers. Diese kann mit dieser Option unterdrückt werden. – Own areacode: Hier kann die eigene Vorwahl hinterlegt werden. Wann dann ein Anruf mit gleichen Vorwahl eintrifft, wird die Vorwahl ausgeblendet. • Der Unterbereich Phonebook: Die Seite Phonebook beinhaltet das Telefonbuch, welches zur Rufnummernauflösung der anrufenden Nummer als auch der eigenen MSN benutzt wird. Die Seite wird auch angezeigt, wenn die Konfigurationsvariable TELMOND_LOG auf ’no’ gesetzt ist, da die Rufnummerauflösung auch für die Anzeige des letzten Anrufes auf der Summary-Seite benutzt wird. Alternativ kann statt dem Telefonbuch auf dem Router auch eine lokale Datei ausgewählt werden. Der Aufbau der Einträge sieht wie folgt aus:

58

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

10.2

Windows-Client imonc.exe

# Format: # Telefonnummer=anzuzeigender Name[, Wavefilename] # 0241123456789=Testuser 00=unbekannt 508402=Fax 0241606*=Elsa AG Aachen Dabei sind die ersten drei Zeilen Kommentare. Die vierte Zeile bewirkt, dass, wenn keine Rufnummer übermittelt wird, „unbekannt“ angezeigt wird. In der fünften Zeile wird der MSN 508402 der Name „Fax“ zugeordnet. Ansonsten ist das Format immer Telefonnummer=Name, der statt dessen angezeigt werden soll. In der sechsten Zeile ist noch die Möglichkeit demonstriert, eine Sammelrufnummer zu definieren. Damit wird erreicht, dass für alle Nebenstellen von 0241606 der Name angezeigt wird. Zu beachten hierbei ist, dass der erste Eintrag im Telefonbuch, welcher auf den Anruf passt, genommen wird. Optional kann auch noch ein WaveDatei angegeben werden, die abgespielt wird, wenn ein Telefonanruf von dieser Rufnummer eingeht. Ab der Version 1.5.2 besteht jetzt auch die Möglichkeit auf der Seite Names das lokale Telefonbuch mit dem auf dem Router abgespeicherten (in /etc/phonebook) zu synchronisieren und umgekehrt. Dabei werden nicht nur einfach die Dateien ersetzt, sondern es werden die noch fehlende Einträge hinzugefügt. Gibt es eine Telefonnummer in beiden Telefonbüchern mit unterschiedlichen Namen, wird nachgefragt, welcher Eintrag genommen werden soll. Für die Synchronisierung des Telefonbuches auf dem Router ist noch anzumerken, dass dieses nur in der Ramdisk verändert wird, d. h. dass nach einem Reboot sämtliche Änderungen verloren gehen. • Der Bereich Sound: Die Wave-Dateien, die hier angegeben werden, werden abgespielt, wenn das jeweilige Ereignis eingetreten ist. • Call Notification: Wenn Show Call Notification aktiviert ist und ein neuer Anruf eingeht, wird die angegebene Wave-Datei abgespielt. • EMail: Wenn der EMailChecker auf einem angegebenen POP3-Server EMails vorfindet, wird die angegebene Wave-Datei abgespielt. • EMail-Error: Wenn ein Fehler beim Abrufen der EMails auftritt, wird diese WaveDatei abgespielt. • Connection Lost: Wenn die Verbindung zum Router nicht mehr vorhanden ist (z. B. wenn der Router von einem anderen Client gerade neu gebootet wird), wird diese Wave-Datei abgespielt. Wenn die Option „Automatic Reconnect to router“ nicht aktiviert ist, erscheint außerdem eine MessageBox, die nachfragt, ob versucht werden soll, eine neue Verbindung zum Router aufzubauen. • OnConnect: Wenn der Router eine Verbindung zum Internet aufgebaut hat, wird diese Wave-Datei abgespielt.

59

10.2

Windows-Client imonc.exe

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

• OnDisconnect: Wenn der Router die Verbindung zum Internet wieder abgebaut hat, wird diese Wave-Datei abgespielt. • Der Bereich EMails • Accounts: Dieser Bereich dient dazu, die vorhandenen POP3-Accounts zu konfigurieren. • Enable Check: Soll der EMailChecker automatisch nach neuen EMails suchen • Check every x Min: Hiermit wird angegeben, wie oft der EMailChecker automatisch nach neuen EMails suchen soll. Achtung: ein zu kurzes EMailCheckIntervall kann dazu führen, dass der Router komplett online bleibt! Dies ist der Fall, wenn der das EMailCheckIntervall kleiner ist als die hup-timeout des verwendeten Circuits. • TimeOut x Sec: Wie lange soll auf einen einen POP3-Server gewartet werden, bis er antwortet. Der Wert 0 bedeutet, dass kein TimeOut gesetzt wird. • Check even if router is offline: Hiermit wird erreicht, dass der Router sich selbstständig einwählt, um nach EMails zu sehen. Nachdem alle POP3-Konten nach EMails überprüft worden sind, wird die Verbindung wieder getrennt. Um dieses Feature nutzen zu können, muss Dialmode auf ’auto’ stehen. Achtung: Dadurch entstehen zusätzliche Kosten, wenn nicht gerade eine Flatrate benutzt wird! • Circuit to use: Hiermit wird angegeben, welcher Circuit zur Einwahl beim EMailChecken benutzt werden soll. • Stay online after email-check: Soll direkt nach dem EMail-Check direkt die Verbindung getrennt werden oder eine Verbindungstrennung durch das Hangup-timeout realisiert werden • Load EMail-Header: Sollen auch die EMail-Header geladen oder nur die Anzahl der vorhandenen EMails abgefragt werden? Das Laden der EMail-Header ist Voraussetzung, wenn man EMails direkt auf dem Server löschen möchte. • Notify only new e-mails: Sollen nur neue EMails akustisch und mit dem Tray-Icon gemeldet werden • Run e-mail client program: Soll der angegebene EMail-Client automatisch gestartet werden, wenn neue EMails vorhanden sind. • EMail client: Hier wird der zu startende EMail-Client angegeben. • Param: Hier kann man zusätzliche Parameter angeben, die beim Start des EMailClients übergeben werden sollen. Wenn Outlook als EMail-Client benutzt wird (nicht Outlook Express), sollte /recyle als Parameter eingetragen werden, damit eine bereits geöffnete Instanz von Outlook beim Eintreffen von neuen EMails benutzt wird. • Der Bereich Admin

60

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

10.2

Windows-Client imonc.exe

• General-Password: Hier sollte das Router-Passwort (in config/base.txt unter PASSWORD eingetragen) eingetragen werden, damit z. B. das Forwardingskript portfw.sh lokal bearbeitet und wieder auf dem Router hinterlegt werden kann. • files on router to view: Alle hier angegebenen Dateien, die sich auf dem Router befinden, können einfach per Maus-Click auf der Seite Admin/Files angezeigt werden. Somit kann man sich auf einfache Weise die Logfiles des Routers direkt im imonc anzeigen lassen. • Configfiles: Hier kann ausgewählt werden, ob die Konfigdateien alle im Editor geöffnet werden sollen (dies kann, wenn TXT-Dateien noch mit einem einfachen Editor verknüpft sind, dazu führen, dass sehr viele Instanzen des Editors geöffnet werden). Alternativ kann auch einfach nur das Verzeichnis geöffnet werden, so dass die Möglichkeit besteht, nur die Dateien auszuwählen, die bearbeitet werden sollen. • Der Bereich LaunchList dient dazu, die Launchliste zu konfigurieren. Diese wird nach einem erfolgreichen Connect ausgeführt, wenn die Option „Activate Launchlist“ aktiviert ist. • Programs: Alle hier eingetragenen Programme werden automatisch gestartet, wenn der Router eine Verbindung aufgebaut hat und die Launchliste aktiviert ist. • Activate Launchlist: Soll die Launchliste beim erfolgreichen Verbindungsaufbau ausgeführt werden? • Der Bereich Traffic dient dazu, dass TrafficInfo-Fenster den eigenen Bedürfnissen anzupassen. Von einem User habe ich den Hinweis bekommen, dass es mit älteren DirectX-Versionen offenbar Darstellungsfehler gibt. • Show separate traffic info: Soll eine grafische der Kanalauslastung in einem separaten Fenster angezeigt werden? In dem Kontextmenü des Fensters kann man festlegen, ob das Fenster das Attribut StayOnTop bekommen soll. Dieses bewirkt, dass sich das Fenster immer über allen anderen Fenstern plaziert. Auch dieser Wert wird in der Registry abgespeichert und steht somit auch nach einem erneuten Programmstart wieder zur Verfügung. • Colors: Hier werden die Farben für das TrafficInfo-Fenster definiert. Zu Berücksichtigen ist dabei, dass der DSL-Kanal und der erste ISDN-Kanal die selben Farbwerte zugewiesen bekommen. • Show Title: Soll die Titelleiste des Traffic-Info-Fensters angezeigt werden? In der Titelzeile wird angezeigt, mit welchem Circuit der Router gerade online ist. • Show CPU-Usage in title: Soll auch die CPU-Auslastung in der Titelzeile angezeigt werden? • Limits: Hier können die max. Übertragungswerte für DSL eingestellt werden - für T-Online gilt: DSL Upload 128000 und DSL Download 768000. • Der Bereich Syslog dient dazu, die Anzeige der Syslog-Meldungen zu konfigurieren.

61

10.2

Windows-Client imonc.exe

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

• Activate Syslog-Client: Sollen Syslog-Meldungen im imonc angezeigt werden? Diese Option sollte ausgeschaltet sein, wenn ein externer Syslog-Client, wie zum Beispiel Kiwi’s Syslog Client, benutzt wird. • Show all messages above level: Ab welcher Prioritätsstufe sollen die Syslog-Meldungen angezeigt werden? Es ist sinnvoll am Anfang mit der Stufe Debug anzufangen, um damit festzustellen, welche Meldungen einen Interessieren. Anschließend kann hier dann die entsprechende Stufe eingetragen werden. • Log Syslog-Messages in a File: Sollen die angezeigten Syslog-Meldungen in einer Datei gespeichert werden? In der Groupbox können dann die Meldungen ausgewählt werden, die in der Datei geloggt werden sollen. • Show portnames: Sollen statt der Portnummern deren Bedeutung angezeigt werden? • Der Bereich Fax dient dazu, die Faxanzeige vom imonc zu konfigurieren. Damit dieser Punkt angezeigt wird, muss mgetty auf dem Router installiert sein (zu finden als OPT-Paket auf der fli4l-Homepage). • Log Fax in a File: Den Dateinamen, den man hier angeben kann, wird dazu benutzt, die Fax-Liste unter diesem Namen lokal auf dem Rechner abzuspeichern. • Refresh-Interval: Diese Angabe gibt an, wie oft die Faxübersichtsseite aktualisiert werden soll. Dabei ist zu beachten, dass dieser Wert keine Angabe in Sekunden ist, sondern noch mit der Angabe von General/Seconds of Refresh multipliziert wird. • Localdirectory: Um die Faxe anzeigen zu können, müssen sie lokal gespeichert werden. Dieses kann hier eingestellt werden. 10.2.5. Seite Calls Die Seite Calls wird nur angezeigt, wenn die Konfigurationsvariable TELMOND_LOG auf ’yes’ eingestellt ist, denn sonst wird kein Calls-Log geführt. Auf dieser Seite werden alle abgespeicherten Telefonanrufe angezeigt, die eingegangen sind, während der Router eingeschaltet war. Dabei kann umgeschaltet werden zwischen der Ansicht der lokal gespeicherten Anrufe oder nur der auf dem Router gespeicherten Anrufe. Wird bei der Anzeige der auf dem Router gespeicherten Anrufe der Reset-Button gedrückt, wird das Logfile auf dem Router gelöscht. In der Anruf-Übersicht kann mit der rechten Maustaste auf der Rufnummer oder der eigenen MSN diese ins Telefonbuch übernommen werden, um der Rufnummer bzw. MSN dort einen Namen zuzuweisen, der dann stattdessen angezeigt wird. 10.2.6. Seite Connection Neu ist ab der Version 1.4 die Anzeige der vom Router aufgebauten Verbindungen zum Internet. Diese befindet auf der Seite Connections. Somit hat man einen guten Überblick, wie sich der Router bei der automatischen Einwahl ins Internet verhält. Damit diese Seite angezeigt werden kann, muss in der Datei config/base.txt die Variable IMOND_LOG auf ’YES’ gesetzt werden.

62

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

10.2

Windows-Client imonc.exe

Genauso wie bei der Calls-Übersicht kann auch hier zwischen den lokal gespeicherten und auf dem Router gespeicherten Verbindungen umgeschaltet werden. In der Ansicht der auf dem Router gespeicherten Verbindungen bewirkt ein Drücken des ResetButtons, dass das Logfile auf dem Router gelöscht wird. Angezeigt werden pro Verbindung: • Circuitname • Startdatum und -zeit • Enddatum und -zeit • Onlinezeit • Abrechnungszeit • entstandene Kosten • empfangene Zeichen • gesendete Zeichen Die Angaben der empfangenen und gesendeten Zeichen wird bei DSL momentan noch nicht unterstützt. Mittlerweile werden die Online-Zeit, die Online-Kosten, die empfangenen und die versendeten Bytes aufsummiert. Daneben kann auch direkt das Program FliStat von Stefan Böhm gestartet werden. Einen Link dazu gibt es auf der fli4l-Homepage. Dieses Programm bietet eine ausführlichere Auswertung der Verbindungsstatistiken als sie imonc bietet. 10.2.7. Seite Fax Damit die Seite Faxe angezeigt wird, muss auf dem Router das OPT-Paket mgetty von Michael Heimbach installiert werden. Dieses gibt es auf der fli4l-Homepage unter OPTPakete. Auf dieser Seite werden dann alle eingegangenen Faxe aufgelistet. Das Kontextmenü der Übersicht bietet mehrere Möglichkeiten, diese stehen allerdings nur im Admin-Modus zur Verfügung: • Es kann ein Fax angezeigt werden. Dazu muss unter Admin/Remoteupdate der Pfad für das fli4l-Verzeichnis korrekt gesetzt werden, da die Faxe auf dem Router in gepackter Form vorliegen und somit gzip aus dem fli4l-Paket benötigt wird. Alternativ kann gzip.exe und win32gnu.dll auch ins imonc-Verzeichnis kopiert werden. Kann gzip.exe nicht an einer der beiden Stellen gefunden werden, wird stattdessen probiert, den Webserver des Routers zu öffnen (direkt mit dem Aufruf des richtigen CGIs). • Ein einzelnes Fax kann gelöscht werden. Dabei wird das Fax sowohl lokal als auch auf dem Router gelöscht (sowohl die eigentliche Faxdatei als auch der Eintrag in den Logdateien). • Sämtliche auf dem Router befindlichen Faxe löschen. Damit werden die Faxe und die Logdatei auf dem Router gelöscht. Die Faxe werden nicht aus der lokalen Logdatei gelöscht.

63

10.2

Windows-Client imonc.exe

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

Genauso wie bei der Calls-Übersicht kann auch hier zwischen den lokal gespeicherten und auf dem Router gespeicherten Faxen umgeschaltet werden. 10.2.8. Seite EMail Die Seite EMail dürfte sich eigentlich selber erklären. Hiermit wird der mittlerweile eingebaute EMailChecker beobachtet. Ist die Option Check even if the router is offline nicht aktiviert, überprüft der EMailChecker alle EMail-Konten nach EMails, sobald der Router online ist und anschließend im eingestellt Intervall. Ist die genannte Option aktiviert, überprüft der EMailChecker im eingestellten Intervall. Ist der Router gerade online, wird die bestehende Verbindung benutzt. Ist er nicht online, wird eine Verbindung selbständig mit dem ausgewählten Circuit hergestellt, die, sobald alle EMail-Konten abgearbeitet sind, wieder getrennt wird. Damit man diese Option nutzen kann, muss Dialmode auf auto stehen. Sind EMails auf dem POP3-Server vorhanden, wird entweder automatisch der eingestellte EMail-Client gestartet oder ein neues Symbol im Tray neben der Uhr angezeigt, welches als Hint die Anzahl der EMails auf jedem Server liefert. Ein Doppelclick startet dann den eingestellten EMail-Client. Ist ein Fehler bei einem der EMail-Konten aufgetreten, erscheint einerseits ein Hinweis in der EMail-History, andererseits wird das EMail-TrayIcon angezeigt, welches dadurch gekennzeichnet ist, dass die obere rechte Ecke rot gefärbt ist. In der EMail-Übersicht kann man mit dem Kontextmenü Mails direkt auf dem Server löschen, ohne sie vorher komplett downloaden zu müssen. Dies geschieht, indem mit der rechten Maustaste das Kontextmenü angezeigt wird. Dabei sollte eine Zelle der entsprechenden Zeile markiert sein, wo die zu löschende EMail eingetragen ist. Im Kontextmenü wählt man den einzigen Punkt „Delete MailMessage“ aus. 10.2.9. Admin Dieser Abschnitt steht nur zur Verfügung, wenn sich imonc im Admin-Modus befindet. Der erste Punkt lieferte eine Übersicht über die verwendeten Circuits – sprich Internetprovider – die der Router automatisch per LCR auswählt. Ein Doppelclick auf einen Provider in der Providerübersicht zeigt an, für welche Zeiträume der Circuit in config/ base.txt definiert worden ist. Der zweite Punkt dort ist die Möglichkeit ein Fernupdate auf dem Router einzuspielen. Dabei kann ausgewählt werden, welche vier Programmpakete (Kernel, Rootfilesystem, Opt-File und rc.cfg) auf den Router kopiert werden sollen. Damit man das Update einspielen kann, muss man zuerst mal das fli4l-Verzeichnis angeben, damit imonc weiß, woher es die nötigen Dateien nehmen soll. Außerdem muss angegeben werden, in welchem Unterverzeichnis die Konfigurationsdateien liegen, um die Datei opt. tgz jeweils neu zu erzeugen (standardmäßig config). Damit die Möglichkeit besteht, die Konfigurationsdateien mittels FliwizNG zu bearbeiten, muss FliwizNG in das fli4lVerzeichnis kopiert werden. Ansonsten ist der Button deaktiviert. Es ist ratsam, einen Reboot nach dem Einspielen des Updates durchführen, damit die Änderungen auch direkt wirksam werden. Wird während des Updates nach einem Passwort nachgefragt, ist das Passwort gemeint, welches in config/base.txt unter PASSWORD eingetragen ist.

64

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

10.3

Unix/Linux–Client imonc

Um die Beschränkung des Portforwarding zu umgehen, dass es an einen Client-Rechner gebunden ist, besteht jetzt die Möglichkeit, dass Skript portfw.sh auf dem Router zu editieren. Damit die Änderungen aktiv werden, muss die Verbindung neu hergestellt werden. Da die Datei nur in der Ramdisk ersetzt wird, bleiben die Änderungen nur bis zum nächsten Neustart des Routers erhalten. Um die Änderungen dauerhaft zu speichern, muss ein neues Opt-File auf dem Router installiert werden mit der geänderten Datei portfw.sh Der vierte Punkt auf der Admin-Seite – Files – dient dazu, Konfigurations- und Logdateien des Routers einfach per Maus-Click anzuzeigen. Die Auswahlliste wird über den Punkt Config/Admin und dort „files on router to view“ konfiguriert. Anschließend kann einfach über die ComboBox auf dieser Seite ausgewählt werden, welche Datei angezeigt werden soll. 10.2.10. Seiten Error, Syslog und Firewall Die Seiten Error, Syslog und Firewall werden nur angezeigt, wenn in den entsprechenden Logs Einträge vorhanden sind. Die Einträge der Seiten Syslog und Firewall werden nur angezeigt, wenn man im Admin-Modus ist. Auf der Seite Error werden sämtliche imonc/imond-spezifischen Fehler festgehalten. Wenn Probleme bestehen, kann unter Umständen ein Blick auf diese Leiste die Ursache der Probleme anzeigen. Auf der Seite Syslog werden die ankommende Syslog-Meldungen angezeigt, bis auf die Meldungen der Firewall. Diese werden auf der eigenen Seite Firewall dargestellt. Damit dies funktioniert, muss die Variable OPT_SYSLOGD in der Konfigurationsdatei config/base.txt auf ’yes’ gesetzt werden. Außerdem muss die Variable SYSLOGD_ DEST auf die IP des Clients gesetzt werden (genau: SYSLOGD_DEST=’@100.100.100. 100’ – wobei die IP natürlich an die IP des Clients angepasst werden muss). Angezeigt wird neben der eigentlich Syslog-Meldung auch Datum, Uhrzeit und die Prioritätsstufe. Damit die Firewall-Meldungen bei den ganzen Syslog-Meldungen nicht untergehen, werden diese auf der separaten Seite Firewall angezeigt. Damit die Firewall-Meldungen angezeigt werden können, muss zusätzlich in der Datei config/base.txt die Konfigurationsvariable OPT_KLOGD auf ’yes’ gesetzt werden.

10.3. Unix/Linux–Client imonc Für Linux gibt es mittlerweile 2 Versionen: eine textbasierte (imonc) und eine mit graphischer Oberfläche (ximonc). Den Source zu ximonc findet man im Verzeichnis src. Die Dokumentation für ximonc wird erst in der 1.5-Final-Version zur Verfügung stehen. Ein erfahrener Linux-User sollte aber mit den Sources keine Probleme haben. Beschränken wir uns daher hier zunächst auf die textbasierte Version von imonc: Dieses ist ein curses-basiertes Programm, hat also keine graphische Oberfläche. Der Source liegt im Verzeichnis unix. Installation: cd unix make install

65

10.3

Unix/Linux–Client imonc

10

CLIENT-/SERVER-SCHNITTSTELLE IMOND

imonc wird dabei in /usr/local/bin installiert. Aufruf: imonc hostname Dabei ist als hostname der Name oder die IP-Adresse des fli4l-Routers anzugeben, also z. B. imonc fli4l imonc zeigt folgende Informationen: • Datum/Uhrzeit des fli4l-Routers • Momentan eingestellte Route • Default-Route-Circuits • ISDN-Kanäle Status: Name: Time: Charge-Time: Charge:

Calling/Online/Offline Telefonnummer des Gegners oder Circuit-Name Online-Zeit Online-Zeit unter Berücksichtigung des Zeittaktes Berechnete Kosten

Mögliche Kommandos sind: 0 quit Programm beenden 1 enable Aktivieren 2 disable Deaktivieren 3 dial Wählen 4 hangup Einhängen 5 reboot Neu booten 6 timetable Zeittabelle ausgeben 7 dflt route Neuen Default-Route-Circuit bestimmen 8 add channel 2. Kanal hinzuschalten 9 rem channel 2. Kanal deaktivieren Zu den Kommandos im Einzelnen: 0 quit Die Verbindung zum imond-Server wird abgebaut und das Programm beendet. 1 enable Alle Cirucits werden auf dialmode "auto" gestellt. Das ist auch der Default-Zustand von fli4l nach dem Booten. Das heißt, dass fli4l bei einem VerbindungsaufbauWunsch eines Rechners im Netz automatisch rauswählt. 2 disable Alle Circuits werden auf dialmode "off" gestellt. Damit ist fli4l so gut wie tot, bis er mit dem Enable-Kommando wieder geweckt wird.

66

A

ANHANG

3 dial Manuelle Wahl auf dem Default-Route-Circuit. Ist eher für Testzwecke gedacht, da fli4l normalerweise automatisch wählt. 4 hangup Manuelles Einhängen: damit kann man dem automatischen Einhängen von fli4l zuvorkommen. 5 reboot fli4l wird neu gebootet. Ziemlich überflüssiges Kommando ... 6 timetable Es wird die Zeittabelle für die Default-Route-Circuits ausgegeben. Beispiel: s. o. 7 default route circuit Manuelles Wechseln des Default-Route-Circuits. Kann z. B. dann sinnvoll sein, wenn man das automatische LC-Routing von fli4l für eine Weile außer Kraft setzen will, da einige Provider einen Zugriff auf das eigene Postfach nur über den eigenen Internet-Zugang erlauben. 8 add channel Hier kann der zweite ISDN-Kanal manuell hinzugeschaltet werden. Voraussetzung: ISDN_CIRC_x_BUNDLING ist ’yes’. 9 remove channel Abschalten des 2. ISDN-Kanals. Siehe auch "add channel". Sonst gelten bei diesen Kommandos dieselben Bemerkungen wie für den imond-Client imonc.exe unter Windows. Noch zu bemerken ist: Ab fli4l-1.4 ist es nun auch möglich, auf dem fli4l-Router selbst einen „minimalisierten“ imonc-Client zu installieren, nämlich durch Setzen von OPT_ TOOLS=’yes’. Damit kann man nun auch an der fli4l-Console bestimmte Einstellungen, z. B. Routing etc. mit imonc vornehmen. Achtung: Dieser Mini-imonc funktioniert nur auf dem fli4l-Router selbst! Auf einem Linux-/Unix-Client ist immer der „große Bruder“ unix/ imonc zu verwenden.

A. Anhang A.1. Nullmodemkabel Für die Verwendung der optionalen Programmpakete PPP und IMODEM benötigt man ein Nullmodemkabel. Dieses muss mindestens 7 Adern haben. Hier die Anschluss-Belegung: female 9pol 25pol 3

female 25pol 9pol

2 -------------- 3

2

67

A.2 2 7 8 4 6,1 5

IPX-Beispiel-Konfiguration 3 4 5 20 6,8 7

-------------------------------------------------------------------------------

A 2 5 4 6,8 20 7

ANHANG

3 8 7 6,1 4 5

Bei 25-poligen Steckern muss also eine Brücke zwischen Pin 6 und 8, bei 9-poligen Steckern zwischen 6 und 1 gelötet werden.

A.2. IPX-Beispiel-Konfiguration Konfigurationsbeispiel für fli4l als IPX- und IP-Einwahlrouter: #-----------------------------------------------------------------------------# Optional package: IPX network protocol #-----------------------------------------------------------------------------OPT_IPX=’yes’ # Hier wird ipx über das ipx.o modul ermöglicht # und damit ipx generell ein oder ausgeschaltet IPX_INTERNAL_NET=’0x0ABCDEF0’

# Nummer für das interne Routing. # Hier können auch eigene Werte eingegeben # werden Bsp. 0x0CC0815FF

IPX_NODE=’1’

# Bezeichnet den Teilnehmer im intern Netz. # Sollte bei 1 belassen werden

IPX_INTERFACE=’eth0’

# # # #

IPX_NETWORK=’0x0ABCDEF1’

# IPX network für das lokale Netz. Kann so # belassen werden.

IPX_FRAME=’802.2’

# # # # # # #

Ethernet interface, mit dem IPX verbunden werden soll - bei einer netzwerkkarte immer eth0 (kann man überprüfen mit "cat /proc/net/ipx_interface)")

Sollte das gebräuchlichste Verbindungsprotokoll sein. Evtl. bei älteren Netware-Servern 802.3 oder gerade im Zusammenhang mit IP auch manchmal etherII Sollte bereits ein Novell Server im Netz sein, dann ’AUTO’ eintragen, sonst können sich die zwei nicht unterhalten

... weiter unten ... #-----------------------------------------------------------------------------# Circuit 4: ipx connection as dialin router with ipx and tcpip # example file #-----------------------------------------------------------------------------ISDN_CIRC_4_NAME=’ipx’ # circuit name, e.g. ’Firma’ ISDN_CIRC_4_TYPE=’ppp’ # circuit uses raw tcp/ip ISDN_CIRC_4_BUNDLING=’no’ # channel bundling: yes or no ISDN_CIRC_4_LOCAL=’192.168.6.200’ # local ip address of this circuit ISDN_CIRC_4_REMOTE=’192.168.6.100’ # remote ip address of this circuit ISDN_CIRC_4_NETMASK=’255.255.255.0’ # netmask of this circuit ISDN_CIRC_4_MTU=’1024’ # maximum transmission unit ISDN_CIRC_4_MRU=’1524’ # maximum receive unit ISDN_CIRC_4_IPX_NETWORK=’0x0ABCDEF2’ # optional: ipx network # Hier fängt der ipx Teil an. Wie gehabt kann # der Standardwert belassen werden oder nach

68

A

ANHANG

A.2

IPX-Beispiel-Konfiguration

# eigenen Belieben geändert etwa ’0x0FF4711BBC’ ISDN_CIRC_4_IPX_NODE=’2:0’

# # # # #

optional: ipx nodes local:remote local und remote MÜSSEN unterschiedliche Node numbers haben. Hier hat local die 2 und die Null 0 für remote signalisiert, dass die endgültige node über das ipxcp

ausgehandelt # wird ISDN_CIRC_4_REMOTENAME=’ipxuser’ # # # # # # # #

# optional: remote hostname for dialin Dieser Eintrag ist wichtig für die Passwortabfrage. Im Zusammenhang mit AUTH Bsp. CHAP wird der User ipxuser über das CHAP-Passwortfile geprüft. Ist der User ipxuser nicht vorhanden oder man meldet sich unter falschem Namen an, so kommt die Verbindung nicht zustande (SICHERHEITSRELEVANT)

ISDN_CIRC_4_USER=’ipxuser’

# # # # # #

Das ist Normalerweise der User, der beim Anmelden bei einem fremden Netz verwendet wird (Rauswahl). Sollte hier UNBEDINGT den gleichen Namen haben wie REMOTENAME, da sonst kein Eintrag in PAP oder CHAP erstellt wird.

ISDN_CIRC_4_PASS=’geheim’

# Passwort, um als USER ipxuser eine Verbindung # zum fli4l Server aufbauen zu können

ISDN_CIRC_4_ROUTE=’’

# für ipx nicht von Bedeutung

ISDN_CIRC_4_DIALOUT=’’

# Dialout wird nicht benötigt

ISDN_CIRC_4_DIALIN=’8947110815’ # # # # ISDN_CIRC_4_CALLBACK=’off’ ISDN_CIRC_4_CBDELAY=’3’

Das ist die Nummer die Reinwählen darf, alle anderen werden abgelehnt. Es darf also der Teilnehmer mit Ortskennung 089 und Teilnehmerkennung 47110815 anrufen.

# Sollte bei diesem Beispiel immer auf off # stehen # callback delay, only used for callbacks

ISDN_CIRC_4_EAZ=’1234567’

# Your MSN (without area code) # Dieser Eintrag ist wichtig, da fli4l nur auf # dieser Rufnummer Anrufe entgegennimmt.

ISDN_CIRC_4_DEBUG=’yes’

# Wenn yes, wird die PPP-Kommunikation # protokolliert.

ISDN_CIRC_4_AUTH=’PAP’

# # # #

Hier wird festgelegt, wie die Passwortüberprüfung durchgeführt wird. Erst dieser Eintrag schaltet die Passwortüberprüfung ein. SICHERHEITSRELEVANT.

ISDN_CIRC_4_HUP_TIMEOUT=’600’

# # # #

Hangup after XX seconds idle time Sollte in diesem Fall ruhig etwas großzügig sein, da ja idR der RemoteClient bestimmt, wie lange er drinbleiben will.

ISDN_CIRC_4_CHARGEINT=’1’ # Value of charge interval (in seconds) ISDN_CIRC_4_TIMES=’Mo-Fr:09-18:0.08:N Mo-Fr:18-09:0.03:N Sa-Su:00-24:0.03:N’ # times/charges when to enable this circuit # Diese Werte können beliebig angepasst werden # siehe Doku

69

A.3

Programme

A

ANHANG

Für einen ersten Versuch mit einem Einwahlserver sind diese Einstellungen eine gute Ausgangsbasis und können im allgemeinen so belassen werden. Username und Passwort sowie Telefonnummer sollten natürlich angepasst werden ;-) Eine Besonderheit stellt nur ein bereits vorhandener NOVELL Netware Server dar. Da dieser bereits eine Network Number vergeben hat und Fli4l mit diesem Server kommunizieren sollte, muss natürlich die Network Number des Novell Server übernommen werden. Das kann man machen, indem man die Werte am Novell Server selbst ausliest bzw. den Novell Supervisor um die benötigten Werte bittet, oder man setzt den Wert IPX_ FRAME auf AUTO, dann wird ein passendes Interface mit den richtigen Werten erstellt. Ein Novell-Server ist dann über das DFÜ-Netzwerk von Windows bei aktiviertem ipx stack voll verfügbar, als wäre man in einem Netzwerk direkt mit ihm verbunden. Selbstverständlich kann man fli4l mit geeigneten Werten auch als Rauswahlserver konfigurieren. Es ist jedoch im moment noch keine automatische Wahl implementiert, da hierzu manuell ein ipx interface auf ipppX aufzusetzen wäre. Technisch eigentlich kein Problem, aber ipx ist ein sehr geschwätziges Protokoll, und das würde ohne ipx spoofing dazu führen, dass ein ständiger Verbindungsaufbau stattfindet. Für ein ipx Selbststudium sind die Pakete ncpfs und ipxd von Volker Lendecke eine gute Grundlage, da aus diesen Packeten die Programme genommen wurden. Es gibt aus diesen Paketen noch weitere interessante Programme die evtl. später noch implementiert werden. Zudem bietet ipppd auch noch diverse IPX-Parameter, die hier aber nicht zum Zuge gekommen sind. Auch den mars_nwe Server also einen Novell Netware Clone könnte man integrieren, es wird sich aber noch zeigen ob hierfür überhaupt Bedarf bzw. Nachfrage besteht. Auch bin ich kein ipx guru und bitte daher um Nachsicht, wenn ich die ein oder andere Sache nicht korrekt wiedergegeben habe. Auf fleißige Mitarbeit und Anregungen hoffe ich deshalb von eurer Seite. Tom Raschel, 10.12.2000

A.3. Programme Um Platz auf der Diskette zu sparen, wird unter anderem das Paket „BusyBox“ verwendet. Das Programm ist ein einzelnes Exceutable, welches die Standard-Unix-Programme basename, busybox, cat, chgrp, chmod, chown, cp, cut, date, dd, df, dirname, expr, grep, gunzip, hostname, insmod, kill, killall, ln, ls, lsmod, mkdir, mount, mv, nslookup, ping, ps, reboot, rm, rmmod, sleep, sync, tar, tr, umount, zcat nachbildet. Zumeist sind es jedoch „minimalistische“ Implementationen, welche nicht den vollen Funktionsumfang abdecken, aber vollauf den bescheidenen Anforderungen von fli4l genügen. BusyBox steht unter GPL und ist als Source komplett erhältlich unter http://www. busybox.net Ich habe teilweise den BusyBox-Source anpassen müssen. Näheres dazu findet man in src/README. Des weiteren wurden einige Programme aus der SuSE-5.3-Distribution durch kleinere Versionen aus tomsrtbt ersetzt. Das sind:

70

A

ANHANG

A.4

Treiber

/usr/bin/ash /sbin/route Vielen Dank an dieser Stelle an Christoph Peus, der mir den Wink gab und auch direkt die Programme als Attachment mitschickte :-)

A.4. Treiber Mittlerweile ist das Platzproblem auf der Diskette nicht mehr so akut. Durch Strip von rootfs/lib/libc.5.4.46 und das Modulkonzept von fli4l konnte bereits für Version 1.3 jede Menge Platz eingespart werden. Dadurch wurde es möglich, dass nun jeweils mehr als 2 Dutzend Ethernet- und ISDN-Karten unterstützt werden. Auch aktive ISDN-Karten von AVM können mittlerweile verwendet werden. Möchte man andere Treiber als die oben aufgelisteten verwenden, hilft wahrscheinlich src/README weiter, um weitere Treiber selbst einzubinden.

A.5. Andere i4l-Tools Es gibt für isdn4linux viele weitere Tools, die auch fli4l bereichern würden. Das Problem ist leider der Platz! Bestimmt wäre isdnlog als Tool zum Berechnen der OnlineGebühren wesentlich geeigneter, jedoch ist isdnlog einfach zu fett! imond braucht weniger als 10 % des Platzes, übernimmt dabei Monitoring, Controlling und LC-Routing, wenn auch nicht alles ganz perfekt ist.

A.6. libc Es wird die alte 5er libc verwendet, weil die neue 6er glibc das Doppelte an Platz benötigt und deshalb nicht mehr auf die Diskette passt. Wieso eigentlich doppelt so groß? Wer kann mir das erklären? Ich versteh’s nicht. Bietet die 6er glibc das Doppelte an Funktionalität? Oder ist sie doppelt so schnell? Oder ist einfach nur alles doppelt vorhanden? Oder sind die Programmierer doppelt so ... vorsichtig? Oder machen die Compiler neuerdings doppelt so fetten Code? Oder sind die Bytes nun doppelt so dick (16 Bit)? Oder liegt die 6er glibc damit einfach nur im Trend? Ich kapier’s einfach nicht. doppel-plus-ungut :-( Freue mich auf jede einleuchtende Erklärung! Fazit: Wenn man Programme im ext2-Image einfügen/austauschen will, müssen diese mit der alten 5er libc gelinkt sein, sorry. Es gibt da Auswege für Entwickler. Hier sind einige angedeutet: 1. SuSE 5.3 auf altem Rechner installieren: geht, aber nicht optimal 2. SuSE 5.3 unter VMWARE auf einem neueren Linux installieren: schon besser

71

A.7

Shell und weitere Kommandos

A

ANHANG

3. SuSE 5.3 Filesystem von einem alten Rechner über das Netzwerk auf einen neueren Linux-Rechner kopieren, z. B. nach /usr/suse53. Verzeichnis /proc (und evtl. andere) dabei auslassen. Anschließend auf dem neueren Rechner mit dem Kommando chroot in der 5.3er Umgebung arbeiten. 4. Development-Kit verwenden: http://www.toms.net/rb/add-ons/toms-libc5-kit-0.3.tar.bz2 oder auch: http://ecg.mit.edu/george/gcc5.html Ich persönlich arbeite wie in Punkt 3 beschrieben.

A.7. Shell und weitere Kommandos Am Ende des Boots von fli4l findet man auf der Console eine Shell vor. Aus Platzgründen jedoch die wesentlich schlankere ash statt bash, die leider keine „Command-LineHistory“ hat. Viel kann man sowieso nicht eintippen (falls überhaupt eine Tastatur angeschlossen ist). Unter anderem ist auch das Programm cat standardmäßig vorhanden, so dass man sich einige Dateien oder auch proc-Dateien anschauen kann. Ebenso ist imontty dabei, um sich den momentanen ISDN-Status auf der Console ausgeben zu lassen. Kommandos wie cd oder pwd sind Shell-Builtins und deshalb prinzipiell verfügbar.

A.8. Fehlersuche Hilfreich bei der Fehlersuche sind natürlich einmal die Console-Outputs. Diese rauschen aber oft einfach so durch, dass man gar nicht mehr mitlesen kann. Hinweis: Mit SHIFTBILD-RAUF kann man zurück-, mit SHIFT-BILD-RUNTER wieder vorblättern. Auch proc-Dateien können bei der Fehlersuche helfen. z. B. gibt der Befehl cat /proc/interrupts die von den Treibern verwendeten Interrupts aus – nicht die tatsächlich von der Hardware belegten! Weitere interessante Dateien unter /proc sind devices, dma, ioports, kmsg, meminfo, modules, uptime, version und pci (falls der Router einen PCI-Bus hat). Meist liegt ein Verbindungsproblem bei ipppd vor, insbesondere bei der Authentifizierung. Dann helfen oft die Variablen OPT_SYSLOGD=’yes’ bzw. ISDN_CIRC_x_DEBUG= ’yes’ in config.txt weiter.

A.9. Fehler im Zusammenhang mit Festplatten/CompactFlashs Problem: Der Router erkennt die Festplatte überhaupt nicht. Mögliche Ursachen: • Platte ist falsch in BIOS eingetragen. • Der IDE-Controller ist defekt oder abgeschaltet. • Es wird bei der Installation die falsche Platte angegeben (z.B. wird eine Festplatte am zweiten IDE-Kanal als hdc oder hdd angesprochen)

72

A

ANHANG

A.9

Fehler im Zusammenhang mit Festplatten/CompactFlashs

Problem: • die Installation bricht ab • nach einem Remote-Update des opt.tgz bootet der Router nicht mehr • es gibt Fehlermeldungen beim Partitionieren oder Formatieren der Festplatte Mögliche Ursachen: • bei neuen Ultra-DMA-Festplatten könnte es an zu langen oder ungeeigneten IDEKabeln liegen • bei älteren Festplatten ist die Einstellung der Transferrate/PIO-Mode im Bios oder auf dem Controler evtl. zu schnell für die Platte. • ungeigneter IDE-Chipsatz Bemerkungen: • Wenn der Router nur nicht mehr vom Netzwerk aus ansprechbar ist und man die Notfalloption zusätzlich installiert hat, kann man vor Ablauf der Wartezeit den Router mit der Reset-Tase neu starten (oder einfach aus- und einschalten). Dann wird mit der Notfall-Version gestartet und man kann ein korrigiertes opt.tgz aufspielen. Problem: • der Router arbeitet nach der Installation auf Festplatte nicht mehr so wie nach der Installation auf Diskette Mögliche Ursache: • Es werden soviele Pakete benutzt, da die Ressourcen des Rechners nicht ausreichen (zuwenig RAM, CPU, andere Hardwareprobleme) Bemerkungen: • gerade bei Verwendung einer Swap-Partition ist die einwandfreie Funktion der Festplatte und des Controllers sehr wichtig. Problem: • nach der Installation bootet fli4l nicht vom Festplatte. Mögliche Ursache: • falls nur noch die Buchstaben LI erscheinen, war auf der Festplatte vorher Linux mit LILO installiert. Es sind noch Reste vom LILO im Master-Boot-Record zu finden. Mit einer DOS-Bootdisk und dem Befehl "fdisk /mbr"kann man diese Reste entfernen.

73

A.10

Literaturhinweise

B

ANHANG

• wenn der Bootvorgang von einem CF-Modul fehlschlägt sollte man prüfen ob das CF-Modul im Bios mit LBA oder LARGE erkannt wurde. Die richtige Einstellung für Module unter 512MB ist NORMAL oder CHS. Problem: • am Router erscheinen Fehlermeldungen „hda: lost interrrupt“ • nach einiger Betriebsdauer treten Filesystemfehler auf bis hin zu kaputten Partitionstabellen, was eine Neuinstallation notwendig macht. Mögliche Ursache: • der Parameter HDTUNE_32BIT wurde auf 1 gesetzt, aber die Festplatte oder der Controller unterstützen diese Betriebsart nicht. Bemerkungen: • generell sollte man bei OPT_HDTUNE aufpassen, dass man seine Hardware nicht überfordert. Der Startvorgang des Routers ist auch auf der langsamsten Festplatte ohne jegliches Tuning noch viel schneller als der Start von einer Diskette!

A.10. Literaturhinweise Computer Networks, Andy Tanenbaum TCP/IP Netzanbindung von PCs, Craig Hunt TCP/IP, Kevin Washburn, Jim Evans, Verlag: Addison-Wesley, ISBN: 3-8273-1145-4 TCP/IP Netzanbindung von PCs, ISBN 3-930673-28-2, 69,- DM TCP/IP Netzwerk Administration, ISBN 3-89721-110-6, 79,- DM Linux-Anwenderhandbuch, ISBN 3-929764-06-7, 59,- DM TCP/IP IM DETAIL http://www.nickles.de/stories/stories.php3?displaypage=1&category=14&story=0005&story_id=112 Oder generell das Linuxanwenderhandbuch von lunetix unter http://lhb.lunetix. de/LHB/ online ;-) Einführung in die Linux-Firewall: http://www.little-idiot.de/firewall

B. Anhang Bei mir stand bisher der fli4l-Router im Keller, an dem noch nicht mal eine Tastatur angeschlossen war (geschweige denn ein Monitor :-). Mittlerweile steht er wieder direkt neben meinem Entwicklungsrechner. Grund: Wegen der stetigen Weiterentwicklung an fli4l muss ich natürlich öfter mal etwas ausprobieren. Da wurde ich langsam das viele Laufen leid... Trotzdem ist im Normalfall keine Tastatur nötig. Einige schilderten mir sogar, dass es auch ohne VGA-Karte funktioniert, wenn man noch mehr Strom sparen möchte. Jedoch muss man im Rechner-BIOS zumindest den Tastatur-Check abschalten, damit die Kiste

74

D

WIE „DANKE“

beim Booten nicht stehenbleibt. Ohne VGA-Karte sollte man generell sämtliche Fehlerchecks im BIOS abschalten („Halt on No Error“). Wird jedoch eine neuere VGA-Karte verwendet, an der kein Monitor angeschlossen ist, kann der Rechner beim Booten ein paarmal tuten. Der Boot-Vorgang wird dann aber normalerweise fortgesetzt.

C. Keine Gewähr und Haftung Natürlich kann ich für das gesamte fli4l-Paket oder für Teile davon keine Gewähr dafür übernehmen, dass es überhaupt funktioniert oder dass irgendeine Dokumentation in diesem Verzeichnis oder einem der Unterverzeichnisse korrekt ist. Auch ist jede Haftung meinerseits wegen evtl. entstandender Schäden oder Kosten ausgeschlossen!!!

D. wie „Danke“ Zunächst erst einmal Dank an Carsten Cerny, der die Webpage http://www.fli4l.de/ betreut. Dort findet man Support, Download der aktuellen Software, Zugang zu den Newsgroups und vieles mehr. Es lohnt sich auf jeden Fall, dort reinzuschauen! Ganz besonders möchte ich mich natürlich bei denen bedanken, die eigene Programmpakete oder Dokumentation beigesteuert bzw. übernommen haben. Das fli4l-Team bilden (in alphabetischer Reihenfolge): Arwin Vosselman (LZS-Kompression) Carsten Cerny (Homepage & fliwiz) Christian Karner (PPTP-Package) Christoph Peus (Imodem- und VBOX-Package) Florian Zierer (Wunschliste) Frank Meyer (Der eigentliche fli4l) Gerrit Kaiser (Logo) Gerrit Lammert (HTML-Dokumentation) Hans-Joerg Grabner (ximonc) Hannes Ebner (QoS Package) Harald Schäfer (HDD-Support) Jean Wolter (circuits) Jürgen Bauer (LCD-Package & fliwiz) Kai-Christian Arndt (SCSI) Kees Blokland (english translation) Marcus Klein (Problemfeedback) Martin Schulze (wavelan) Matthias Grammel (english translation) Michael Hanselmann (www.fli4l.ch) Nils Lichtenfeld (QoS Package) Louis Reinard (CompactFlash) Nico Wallmeier (Imonc) Oliver Walter (QoS Package) Oliver Dawid (ulibc) Robert Resch (PCMCIA) Steffen Peiser (FAQ) Stefan Strigler (ML & NG) Thomas Bork (Samba) Thorsten Pohlmann (Mini-httpd) Tobias Gruetzmacher (Mini-httpd) Tom Raschel (IPX) Ulf Lanz (LCD)

75



D

WIE „DANKE“

Ich hoffe, da diese Liste zukünftig noch etwas länger wird ;-) Seit einiger Zeit wird die Support-Mailingliste (erreichbar über das Support-Formular auf www.fli4l.de) stärker frequentiert. Als tatkräftige Verstärkung des Support-Teams sind hier zu nennen: Arnim Staschke Arno Behrends Georg Neis Karl-Heinz Overhageboeck Matthias Sennewald Nicole Hornung Rolf Hebgen Stefan Krister



Zur Zeit wird auch ein Team für Öffentlichkeitsarbeit gebildet. Engagiert sind hier: Christa MacNelly (Präsentationen) Fabian Woelk (Newsletter) Frank Lang (allgemein) Günter Brauer (allgemein) Michael Pahle (Newsletter) Paul H. (allgemein)

View more...

Comments

Copyright © 2020 DOCSPIKE Inc.