Änderungen fli4l-Dokumentation von 1.4.1 auf 1.5pre1
============================================================================

Konfigurationsvariablen:
------------------------

Obsolet:

    ADD_DAYS: siehe unten: OPT_Y2K, OPT_DAYS

Neu:

    ETH_1_NAME=''               # optional: other device name than ethX

    DNS_FORWARDERS=''           # if set, install "named" instead of "dnscache"
    DNS_VERBOSE='no'            # yet only used if named

    N_DENY_HOSTS='2'            # number of forbidden hosts
    DENY_HOST_1='192.168.6.5'   # optional: 1st forbidden host
    DENY_HOST_2='192.168.6.6'   # optional: 2nd forbidden host

    OPT_Y2K='no'                # y2k correction: yes or no
    Y2K_DAYS=''                 # correct Y2K-Bug on old hardware: add x days

    SYSLOGD_DEST='/dev/console' # destination of syslog messages

    OPT_DHCP='no'               # install DHCP server: yes or no
    DHCP_RANGE_1='192.168.6.2 192.168.6.100' # range of n'th ethnet, see N_ETH!

------------------------------------------------------------------------------
readme-1.txt: Angaben zu Scripts gekürzt:

    ...
    Scripts/Prozeduren:

        - mkclean.sh            Aufräumen: Linux/Unix-Version
        - mkclean.bat           Aufräumen: Windows-Version
        - mkfloppy.sh           Boot-Diskette erzeugen: Linux/Unix-Version
        - mkfloppy.bat          Boot-Diskette erzeugen: Windows-Version
    ...

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.2: Beschreibung von ADD_DAYS gelöscht (erscheint
                           weiter unten als OPT_Y2K wieder)

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.4: Vor Beschreibung von ETH_x_IPADDR eingefügt:

ETH_x_NAME

    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. Anderenfalls lässt man die Variable
    einfach leer.

    Beispiele:

        ETH_1_NAME='eth0'
        ETH_2_NAME='eth0:0'

    Standard-Wert: '' (leer)

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.5: Eine Zeile eingefügt (s. '+')

    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'

+   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.
------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.7: Nach "Gründe" zu dnscache eingefügt:

...
    - einmaliges Rauswählen des Routers bei Start wird vermieden

+ Jedoch ist es in einzelnen Fällen sinnvoll, doch named statt dnscache & Co
+ einzusetzen, s. dazu die Beschreibung der Variablen DNS_FORWARDERS.

Bevor man jedoch mit der DNS-Konfiguration beginnt, sollte man sich
....

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.7: Vor Beschreibung DOMAIN_NAME eingefügt:

DNS_FORWARDERS

    Der von fli4l standardmäßig eingesetzte DNS-Cacheserver dnscache
    benötigt keine Angabe eine DNS-Servers im Internet, um sich die
    gwünschten Informationen zu besorgen. dnscache wendet sich immer
    an die Root-Server im Internet, um einen Namen in eine IP-Adresse
    aufzulösen.

    In ganz seltenen Fällen ist es jedoch sinnvoll, einen sog. "Forwarder"
    als DNS-Server einzutragen, nämlich wenn DNS-Queries *ausschließlich*
    an diesen Server weitergeleitet werden sollen. Geht es dabei um spezielle
    Domains, ist der Weg über die "speziellen DNS-Server" der geeignetere.
    Siehe dazu die Beschreibungen zu N_DNS und DNS_x in Kapitel 2.8.
    Auf die Verwendung von DNS_FORWARDERS ist daher nur im Notfall
    zurückzugreifen, wenn nämlich alle Queries ausschließlich über einen
    oder mehrere feste DNS-Server abgewickelt werden sollen.

    In diesem Fall kann ein oder mehrere globale "Forwarder" eingestellt
    werden, über die sämtliche DNS-Queries geleitet werden. Weil dnscache
    das Forwarding nicht unterstützt, wird bei gesetzter Variablen
    DNS_FORWARDERS das Programm named (bind) statt dnscache/tinydns
    installiert. Das bedeutet jedoch auch einen Platzverbrauch von weiteren
    30 KB auf der Diskette. Im Normalfall (einfacher Internet-Zugang) ist die
    Angabe eines oder mehrerer DNS-Forwarder nicht nötig. Man sollte daher in
    den meisten Fällen diese Variable leer lassen.

    Möchte man mehrere DNS-Forwarder angeben, trennt man die IP-Adressen durch
    Blanks.

    Beispiel:

        DNS_FORWARDERS='192.168.100.1 192.168.101.1'

    Im Zweifel: DNS_FORWARDERS=''


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 auf jeden Fall die Variable OPT_SYSLOGD='yes' zu
    setzen, s.u.

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.7: Beschreibung N_HOSTS HOST_1 ... geändert:

N_HOSTS  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 N_HOSTS.

    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". "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. N_DENY_HOSTS), damit diese auch von anderen Rechnern im LAN über
    den Namen ansprechbar sind.

    Aufbau der Variablen HOST_x:

        HOST_x='IP-Adresse Name [MAC-Adresse]'

    Der dritte Wert [MAC-Adresse] ist optional und ist nur dann relevant, wenn
    fli4l zusätzlich als DHCP-Server eingesetzt wird und dem Client eine feste
    IP-Adresse zugewiesen werden soll. Dies wird in der Beschreibung zum
    optionalen Programmpaket OPT_DHCP" erklärt, siehe unten.

    Ohne Einsatz als DHCP-Server sind lediglich die IP-Adresse und der Name
    des Rechners einzusetzen, z.B.

        HOST_x='192.168.6.5 joe'

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.7: Am Kapitel-Ende angefügt:

N_DENY_HOSTS  DENY_HOST_1  DENY_HOST_1 ...

    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:

        N_DENY_HOSTS='2'
        DENY_HOST_1='192.168.6.5'
        DENY_HOST_2='192.168.6.6'

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.11: Aktualisierung Übersicht der OPT-Pakete:

    ...
    OPT_PORTFW      Port-Forwarding Tools                               10
+   OPT_Y2K         Datumskorrektur bei nicht Y2K-festen Rechnern        2
    OPT_TIME        Localtime-Unterstützung, Zugriff auf Time-Server    15
+   OPT_DHCP        DHCP-Server                                         60
    ...

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.11: Beschreibung OPT_Y2K vor Package OPT_TIME eingefügt.

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 LC-Routing, 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 Linux-Datum
    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
    ein optionales Paket enhalten (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 ...

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.11: In Beschreibung zur Variablen TIME_SERVER 2mal
                            "ADD_DAYS" durch "Y2K_DAYS" ersetzt

------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.11: An Beschreibung von OPT_SYSLOGD angehängt:

    SYSLOGD_DEST

        Mit SYSLOGD_DEST gibt man das Ziel an, wohin System-Meldungen, die
        von syslogd entgegengenommen werden, ausgegeben werden. Im Normalfall
        ist dies die Console von fli4l, also

                SYSLOGD_DEST='/dev/console'

        Möchte man eine Datei als Protokoll verwenden, ist z.B. einzutragen:

                SYSLOGD_DEST='/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='@192.168.4.1'

        Das @-Zeichen ist dann der IP-Adresse voranzustellen.


------------------------------------------------------------------------------
readme-2.txt: Kapitel 2.11: Am Schluß neue Beschreibung zu OPT_DHCP:


OPT_DHCP - DHCP-Server

    Ein DHCP-Server kann IP-Adressen aus einem vorgegebenen Bereich (Pool)
    vergeben. Dabei können diese IP-Adressen sowohl an eine Hardware-
    Adresse (MAC-Adresse) der Ethernetkarte gebunden werden als auch
    dynamisch frei vergeben werden.

    Die Bindung an eine MAC-Adresse ist auf jeden Fall zu bevorzugen, denn
    nur dann bekommen PCs im Netz (als sog. DHCP-Clients) auch reproduzierbar
    ein- und dieselbe IP-Adresse zugewiesen. Rechner, die nicht an eine
    MAC-Adresse gebunden werden, bekommen irgendeine IP-Adresse aus
    dem vorgegebenen Adress-Bereich zugewiesen. Und diese kann sich jedes
    Mal ändern. Diese Möglichkeit ist deshalb lediglich für PCs im LAN zu
    verwenden, die nur sporadisch in das Netzwerk eingebunden werden sollen
    - z.B. bei Notebooks.

    Möchte man fli4l als DHCP-Server verwenden, ist die Konfigurationsvariable
    OPT_DHCP auf 'yes' zu setzen.

    DHCP_RANGE_x

        Für jedes an fli4l angeschlossene Netz muss ein IP-Adressbereich
        angegeben werden, aus dem die IP-Adressen vergeben werden können.
        Die Anzahl der Adressbereiche ist gleich dem Wert von N_ETH.
        Aus diesem Grund müssen genauso viele DHCP_RANGE_x-Variablen wie
        z.B. ETH_x_NETWORK-Variablen definiert definiert werden.

        In jedem Bereich wird ein Anfangs- und ein Ende-Wert als Bereich
        angegeben, z.B.

                N_ETH='2'
                DHCP_RANGE_1='192.168.6.50 192.168.6.100'
                DHCP_RANGE_2='192.168.7.50 192.168.7.100'

        Soll für das 2. Netzwerk jedoch kein DHCP zum Einsatz kommen,
        ist der Bereich dann dafür leer zu lassen, also z.B.

                N_ETH='2'
                DHCP_RANGE_1='192.168.6.50 192.168.6.100'
                DHCP_RANGE_2=''

        WICHTIG:

            Es darf kein Rechner im Netz eine feste Adresse aus diesem
            Bereich verwenden! Der Bereich ist also mit Bedacht zu wählen...

        Um nun bestimmten Rechnern immer ein- und dieselbe IP-Adresse
        zuzuweisen, ist die Angabe einer MAC-Adresse notwendig.
        Dieser wird in den Variablen HOST_1 ... HOST_x als dritter Wert
        eingetragen - wenn gewünscht. HOST_x-Variablen, die keine
        MAC-Adresse enthalten, beschreiben Rechner, die entweder bereits
        eine statische IP-Adresse haben (außerhalb des DHCP-Adressbereichs)
        oder IP-Adressen, die dynamisch ohne feste Bindung vergeben werden
        (innerhalb des DHCP-Adressbereichs).

        WICHTIG (2):

            IP-Adressen, die über HOST_x an eine feste MAC-Adresse gebunden
            werden, sollten außerhalb des DHCP-Adressbereichs liegen.

        Beispiel:

            N_ETH='1'
            DHCP_RANGE_1='192.168.6.50 192.168.6.100'
            N_HOSTS='3'
            HOST_1='192.168.6.1  fli4l'
            HOST_2='192.168.6.2  joe  00:00:E8:83:72:92'
            HOST_3='192.168.6.50 gast1'
            HOST_4='192.168.6.50 gast2'

    Dabei hat HOST_1 bereits eine feste IP-Adresse, HOST_2 bekomt die
    Adresse vom DHCP-Server fest zugewiesen und die beiden letzten
    Hosts bekommen die IP-Adressen dynamisch aus dem vorgegebenen
    Adressbereich zugewiesen.

    Als letztes ist noch zu erwähnen, daß die Bootdiskette bei Verwendung
    eines DHCP-Servers nicht schreibgeschützt werden darf, da der DHCP-Server
    Informationen über "verliehene" IP-Adressen in einer Leases-Datei auf
    der Diskette speichert. Grund: Diese Adressen müssen einen fli4l-Reboot
    überstehen und dürfen nicht verlorengehen.

------------------------------------------------------------------------------
readme-4.txt: Kapitel 4 komplett geändert:

4. 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 heisst aber nicht, dass das Erzeugen der Boot-Diskette auch im
reinen DOS-Modus 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 Zip-Archiv
opt.zip 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.

Das war's !

------------------------------------------------------------------------------
readme-6.txt: Kapitel 6.1: Hinzugefügt:

    ...
    Folgende Kommandos sind über den TCP/IP-Port 5000 möglich:

+    version                 Ausgabe der Protokoll- und Programm-Version
     quit                    Beenden der Verbindung zu imond
    ...

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