Hartwareguru´s Fli4l Router

 

Einleitung

In den heutigen Zeiten, gerade in Verbindung mit DSL, sind Hacker-Angriffe oder ähnliche Attacken aus dem Internet leider immer häufiger geworden. Ob nun Script Kiddies mit PORT Scannern die Attacken starten, ein echter Hacker Daten auf dem heimischen Rechner ausspionieren will oder gar eine dubiose Firma euer Budget mit 0190 Dialer belastet - egal. Es gibt Mittel und Wege dies zu vermeiden.

Router (engl. Wegbereiter) gibt es im guten Fachhandel ab 50 Euro. Diese können auch normalerweise über eine Weboberfläche (GUI) bedient und konfiguriert werden. Somit sind sie eine komfortable und sichere Art, ins Internet zu kommen und können oben erwähnte Angriffe erfolgreich abwehren.

Mit einer handvoll alter, betagter PC-Komponenten kann man sich einen einfachen aber wirkungsvollen Router selber aufbauen. Das Zauberwort heißt hier "Fli4l". Fli4l ist ein geniales Konzept eines Ein-Disketten-Routers auf Linux Basis. Und das tollste daran ist: ich brauche keine Linux Kenntnisse und spare noch jede Menge Geld. Demjenigen, dem die 50 Euro locker sitzen und nicht viel erscheinen, bitte ich doch sie mir zukommen zu lassen. Alle anderen können weiter lesen *g*.

Linux kommt, im Gegensatz zu Windows, mit wesentlich geringerer Hardware aus. Um einen wirkungsvollen Schutz gegen Hacker aufzubauen reicht uns ein 486DX66. Zwar kann auch hier, je nach Leistungsumfang des Fli4l Projektes, die Rechenleistung ruhig etwas stärker ausfallen, aber das wie gesagt in Abhängigkeit von den verwendeten OPT Packeten (OPT Packete sind zusätzliche Packete wie etwa ftp Server, Graphische Auswertungen oder SMS Dienste).
Fli4l ist ein Baukastensystem und bietet einiges. Angefangen bei der einfachen Diskettenversion (routing, port forwarding, firewall) für DSL oder ISDN Anschlüsse bis zur HighTech HD Installation mit Webserver, Samba Server, und, und, und. Die Auswahl der OPT Packete scheint kein Ende zu nehmen und es kommen ständig neue dazu. Die Fangemeinde wächst und es scheint kaum ein Problem zu geben, zu dem es keine Lösung gibt oder die nicht schon in Vorbereitung ist. Auch ist die Newsgroup gerne mit Rat und Tat ein hilfreicher Partner wenn es mal eng wird.

Fli4l kann so universal und einfach eingesetzt werden und ist gleichzeitig so gut, dass ich nur jedem raten kann mit Fli4l zu arbeiten! Und wer von Euch hat nicht noch ein wenig alte Hardware im Keller rumliegen??


Auf geht´s!

Der Aufbau der Hardware ist denkbar einfach: wir benötigen ein Motherboard, eine CPU, ein wenig Speicher, ein Floppy und je nach Version des Internetzugangs zwei NICs (DSL) oder eine NIC und eine ISDN Karte. Ein Gehäuse kann u.U. entfallen - ein paar findige Bastler werden da schon kreativ werden. Ich denke mal dass der Zusammenbau der Komponenten keine größeren Schwierigkeiten mit sich bringt.

Minimum:

486/33 MHz
8 MB RAM
Diskettenlaufwerk 1,44 MB
1x NIC (oder 2*NIC für DSL)
1x ISDN
Netzteil

Empfohlen:

586/90 MHz
8 MB RAM
1x Diskettenlaufwerk 1,44 MB
1x NIC (oder 2*NIC für DSL)
1x ISDN
Netzteil
Meine derzeitige Hardware:

Pentium 3 500 MHz
196 MB RAM
1x Diskettenlaufwerk 1,44 MB
2x 10/100 Mbit NIC´s
1x Fritz! Card PCI
300 Watt Netzteil

Eine Grafikkarte ist nicht unbedingt von Nöten, bringt aber zumindest in der Konfigurierungszeit einige Vorteile mit sich. Die Hardware kann nach belieben verbaut werden. Das ist ja auch das schöne daran. Ich habe in meinem alten Router einen Alukoffer ausgewählt, da dieser eh etwas demoliert war, Tobi hat sich einfach einen Plexiglas-Qube gebaut. Mittlerweile habe ich einen 2HE 19" Gehäuse. So was darf auch ruhig schick aussehen. Ein paar Beispiele gibt es hier.



Die Software

Die Software gibts unter www.fli4l.de zum downloaden. Ich würde erst einmal raten, den Router mit den Kernkomponenten zu bestücken um sich mit dem System vertraut zu machen. Viele begehen den Fehler und laden von Anfang an alle möglichen Module auf die Diskette und am Ende geht gar nix mehr. Also: besser eins nach dem anderen!

Wir laden uns also am Anfang nur das Basispacket und noch das DSL/ISDN Packet herunter und entpacken diese nach Anleitung. Achtung Winzip User! Beachtet die Hinweise auf der Fli4l Seite! Ich persönlich habe den TotalCommander (früher WinCommander) für mich entdeckt. Seit den alten DOS Zeiten und Norton Commander kann ich mir kein anderes Programm zur Datenverwaltung mehr vorstellen....
Der TotalCommander bietet über Befehle eine Dekomprimierfunktion und einen eingebauten Editor. Ideal für die weitere Bearbeitung der Textdateien! 

Und wo ich schon beim Thema bin: alle Konfigurationen werden in Textdateien vorgenommen. Die außerdem sehr gut geführte Anleitung macht den Aufbau der Routers zum Kinderspiel (naja okay - ich hab auch erst mal eine Stunde gelesen bis ich wusste was zu tun ist aber das ist ja auch richtig so - schließlich wollen wir ja auch noch wissen worum es geht oder?). Und mein Lieblingsspruch wenn mir jemand eine Frage stellt: rftm: Read the fucking manual!
Wir müssen zunächst in das Verzeichnis der Fli4l Version wechseln und dann in das "CONFIG" Verzeichnis. Dort lagern alle zu konfigurierenden Dateien. In allen anderen Verzeichnissen haben wir eigentlich eh nix verloren...



Die Base.txt

Im Config Verzeichnis findet ihr die base.txt - das ist die Basisdatei. Diese sollten wir zunächst mittels einem Editor öffnen. Als erstes sollte der Routername und das Passwort hinterlegt werden. Dann folgen die Einstellungen für RAM, die HD (falls eingebaut) und dann die Netzwerkkarte(n). Hier muss auf jeden Fall auf den richtigen Treiber geachtet werden ansonsten funktioniert nachher gar nichts (die Parameter richtig konfigurierten; Netzwerkkarten können an der fli4l Konsole mit dem Linuxbefehl "ifconfig" aufgerufen werden).

HOSTNAME='server'    <- Routername / Netzwerkname
PASSWORD='server'   
<- klar oder? -> wird benötig um sich am shell (Konsole) anzumelden
MOUNT_BOOT='rw'    
<- er soll das Bootmedium "read write" mounten d.h. wir können auf "root" zugreifen und Daten ändern.
RAMSIZE='16384'      
<-je nach RAM Kapazität Wert erhöhen / verringern (hier: 16 MB) ACHTUNG: bei Diskette erst mal nur max. 4MB!
MOUNT_OPT='rw'      
<- er soll das OPT Verzeichis "read write" mounten
PART_OPT='hda2'      
<- oder halt "ram1" falls keine HDD eingesetzt wird
UPDATE_MODE='full'   
<- er soll bei einer Aktualisierung alles erlauben (also auch rootfs)

ETH_DRV_N='2'          
<- in diesem Falle haben wir zwei NICs und brauchen also auch zwei Treiber
ETH_DRV_1='3c59x'     
<- die erste ist eine 3Com 905 (der 59x Treiber geht auch)
ETH_DRV_2='ne2k-pci'  
<- die zweite ist eine NE2000 kompatible Karte
ETH_DRV_1_OPTION=''  
<- hier wird meist nur bei Verwendung von ISA Karten Werte eingetragen
ETH_DRV_2_OPTION=''  
<- wichtig: bei Verwendung von zwei Treibern auch zwei Optionen angeben!

Dann kommt IP Adressenkonfiguration dran. Hier gebe ich die ServerIP und die NetzwerkIP an.

IP_ETH_N='1'                                  <- ein Netzwerkbereich (reicht für 253 Rechner plus Router!)
IP_ETH_1_NAME=''                          
<- bleibt leer
IP_ETH_1_IPADDR='192.168.10.1'       
<- Server IP
IP_ETH_1_NETWORK='192.168.10.0'   
<- Netzwerk IP Bereich
IP_ETH_1_NETMASK='255.255.255.0'  
<- Subnetzmaske; einfach übernehmen

Wer dann noch FileSharing betreiben möchte, kommt um das PortForwarding nicht herum. Es müssen also bestimmte Ports auf den Client freigeschaltet werden, auf dem das FileSharing Programm läuft. In meinem Beispiel reiche ich die eDonkey oder eMule Ports an den Rechner mit der IP 192.168.10.2 weiter.

OPT_PORTFW='yes'
PORTFW_N='4'
PORTFW_1='4661 192.168.10.2:4661 tcp'
PORTFW_2='4662 192.168.10.2:4662 tcp'
PORTFW_3='4662 192.168.10.2:4663 tcp'   
<- man könnte auch 4661-4663 angeben!
PORTFW_4='4665 192.168.10.2:4665 udp'

Weitere Portforwardings und welche Ports für welches Programm sind, können in den zahlreichen HowTos auf der Fli4l Seite nachgeschaut werden.

Den DNS sollte man aktivieren. Wichtig ist hierbei die korrekte Eingabe der Rechnernamen! Auch der des Routers ist wichtig!
In meinem Beispiel habe ich vier Rechner mit den IP Adressen bestimmt. Außerdem habe ich hier die IP Adresse meines Providers eingetragen (t-online). Eine Liste der DNS IP Adressen anderer Provider gibt es hier.

START_DNS='yes'                          <- unbedingt angeben!
DNS_FORWARDERS='192.76.144.66'   <- die DNS Adresse eures Providers eintragen (siehe Text oben)
DNS_VERBOSE='no'
DOMAIN_NAME='Workgroup'             
<- der Domain Name (meist "Workgroup" oder "Arbeitsgruppe")
DNS_FORBIDDEN_N='0'                   
<- sollen bestimmte Domains verboten werden?
DNS_FORBIDDEN_1='foo.bar'
DNS_FORBIDDEN_2='bar.foo'
HOSTS_N='4'                               
<- Anzahl Rechner
HOST_1='192.168.10.1 server'       
<- wichtig! Dies ist der Routername! (HOSTNAME='server')
HOST_2='192.168.10.2 pc2'          
<- und dann die anderen Rechnernamen......
HOST_3='192.168.10.3 pc3'
HOST_4='192.168.10.4 pc4'

So. Dann haben wir noch unsere "Fernbedienung" zu aktivieren. Das geht mit dem Programm IMONC. Das ist der Client. Auf dem Server läuft der IMOND. Also starten wir diesen.

START_IMOND='yes'      <- hiermit wird der IMOND aktiviert.
IMOND_PORT='5000'     
<- Standardport des IMOND. Einfach so lassen.
IMOND_PASS=''           
<- hier könnte man ein Passwort eintragen. I.d.R. bleibt das leer.
IMOND_ADMIN_PASS='' 
<- siehe oben.
IMOND_LED='com1'      
<- ich habe eine kleine Schaltung zur Anzeige des online/offline Status gebaut. Die ist am com1
IMOND_BEEP='yes'       
<- ob er sich akustisch melden soll wenn er sich einwählt.
IMOND_LOG='no'             
<- soll ein LOG geführt werden?
IMOND_LOGDIR='/var/log'  
<- hier wird die LOG Datei abgelegt.
IMOND_ENABLE='yes'       
<- hier können Router/IMONC Befehle genehmigt / verboten werden
IMOND_DIAL='yes'           
<- "
IMOND_ROUTE='yes'        
<- "
IMOND_REBOOT='yes'      
<- "

So. nachdem nun die Base.txt soweit angepasst ist, können wir eigentlich den ersten Versuch wagen. Dazu muss die Datei mktgz.bat ausgeführt werden. Geht das DOS Fenster nach Ausgabe von einigen Parametern wieder zu, können wir anschließend die Diskette formatieren und die Datei mkfloppy.bat ausführen. Diese erstellt dann die bootbare Fli4l Diskette. In Verbindung mit Windows XP kann es dabei dazu kommen, dass das System den Zugriff nicht gleich freigibt. Einfach in dem Dialog "Ignorieren" wählen - dann geht es.



Wie geht es weiter?

Während das System bootet, sollte man auf die sogenannten Shellmeldungen achten. Dazu ist, wie oben schon erwähnt, eine Grafikkarte ratsam. Die Fehlermeldungen sollte man sich notieren oder merken, wie auch immer. Dann kann man, unter Zuhilfenahme der Doku oder der Newsgroup, den Fehler beseitigen. Nur eine Bitte am Rande: es gibt eine Suchfunktion in der Newsgroup und auf der Fli4l Seite: erst die benutzen bevor Fragen zweimal gestellt werden.....

Ist nun das System erfolgreich gestartet, müsst ihr den IMONC starten. Dazu müsst ihr in das Verzeichnis \Fli4l\Windows\Imonc wechseln und mit einem Rechtsklick auf die Imonc.exe Datei im Kontextmenü "Senden an" wählen und eine Verknüpfung auf den Desktop erstellen. Dann diese Verknüpfung erneut rechts klicken und im Eigenschaftenfenster auf der Registrierkarte "Verknüpfung" im Feld "Ziel" die Router IP eingeben.
Bei mir sieht das dann so aus: ...\windows\imonc\IMONC.EXE /s:192.168.20.80.

Den IMONC können wir dann starten.
Wie ihr den IMONC richtig einstellt, könnt ihr ausführlich in der Doku lesen. Auf jeden Fall kann man mit dem IMONC sehr einfach den Router updaten wenn man HDinstall gewählt habt. Allerdings gehe ich hier nun nicht weiter darauf ein.
Wer soweit schon mal ist, sollte sich so oder so die komplette Doku reinziehen. Da kommt man nicht drum herum. Aber: es lohnt sich.

Mittlerweile laufen auf meinem Fli4l folgende OPTs:
Bash, CGI Config, DSL, DynIP, Faxrcv, faxrcvswitch, Firelog, Glibc225, HD, Http, Info, ISDN, MTG Capi, Register, RegisterPlus, Samba, Serial, Yaps und YAPS GUI.
...und es werden immer mehr *g*.



Geschichtliches

Mein erster Router war ein P2 233 MHz. Diesen habe ich in einen Alukoffer gebastelt. Dass ich Euch die Fotos nicht vorenthalten möchte dürfte ja wohl klar sein oder? Klick mich für die Fotos des alten Routers.
Mittlerweile habe ich einen P3 500MHz in einem schicken 2HE Servergehäuse untergebracht. Der Router ist mittlerweile schon richtig "erwachsen" geworden. Logisch. Ich habe viel Erfahrung gesammelt und meine, mich jetzt schon ein wenig besser damit auszukennen. So habe ich einige OPT Packete installiert und experimentiere noch mit eben diesen herum. Der Router ist technisch tiptop. Ich hatte auch bei der Materialbeschaffung viel Glück muss ich sagen. Vielen Dank an dieser Stelle an meinen Arbeitgeber und an Tobi für das Gehäuse!



Bilder meines jetzigen Routers:

(Klick for big *g*)

Draufsicht ohne Deckel. Hier von hinten. Schön sieht man hier das Mobo und das Kabel-Wirwar Ich habe mal eben das DSL Modem (Siemens) aus dem Plastikgehäuse verbannt und einfach mit in den Router gebastelt. Wenn schon so viel Platz da ist....
..und das Mobo von oben. Die Kabel, die Karten und die CPU sind alle schön Heißgeklebt das ja nix wackelt. Und da ist er Zuhause! Im Flur unserer WG. Platzsparend und leise....

greetz,
Hartwareguru