Firewall - fli4l

Als Firewall zu meinem Heimnetzwerk hatte ich bisher, zu meiner vollsten Zufriedenheit, einen alten PC mit fli4l eingesetzt (V2.0.8).

Und dann hat mich ein Kollege auf eine andere Hardware-Platform aufmerksam gemacht: ALIX - System Boards.
Das hat einen geringeren Energieverbrauch versprochen und zusätzlich mehr Platz auf den dort eingesetzten Compact-Flash-Medien - gegenüber einer normalen 5¼"-Floppy.

Hardware

Entschieden haben wir uns dann für das Board alix2c1 (der Link führt u.A. zu den Eckdaten).
Vom Preis her war der Unterschied zu den anderen Versionen nicht groß und auf dem alix2c1-Board sind immerhin 3 LAN-Anschlüsse für jeweils 100bT vorhanden und man kann eine Mini-PCI-Karte nachrüsten (z.B. für WLAN).

Bestellt haben wir aber in der EU bei der Fa. Tronico.
Was man zum Motherboard noch braucht ist

Software

Zum Einsatz soll ja weiterhin das bewährte fli4l kommen.
Und die haben bezüglich des alix-Boards schon ganze Arbeit geleistet und fli4l an das Board angepasst - ein herzliches Dankeschön an Frank MEYER und sein Team an dieser Stelle.

Pakete

fli4l besteht aus einzelnen Paketen, welche individuell eingesetzt werden können, um die Firewall den eigenem Bedarf anpassen zu können.
Um die alix-Boards betreiben zu können ist jedenfalls die neue Entwicklerversion V3.1.4 sowie zusätzliche Kernel-Patches notwendig.

Hier nun die Liste der von mir gewählten Pakete,ausgehend von den für die alix-Boards notwendigen:

Und die dazupassenden Basis-Pakete, sowie ein paar Tools

optional das Dokumentationspaket

Eingerichtet habe ich dann das Verzeichnis */fli4l-3.1.4/ auf meiner Harddisk und die heruntergeldenen Paket dorthin entpackt (mit 7-Zip).
Nicht unwesentlich ist die Reihenfolge des entpackens:

  1. fli4l-3.1.4.tar.gz
  2. [fli4l-3.1.4-doc.tar.gz]
  3. kernel_26_2.tar.gz
  4. hd.tar.gz
  5. httpd.tar.gz
  6. tools.tar.gz
  7. sshd.tar.gz
  8. alix.tar.gz
  9. opt_alix_01.tar.gz
  10. alix_patch_2.6.20.21

Konfiguration

Auf jeden Fall sollte man die Dokumentation der Pakete (vor allem des Basispaktes) lesen. Manche wichtige oder ratsame Hinweise sind an Stellen, an welchen man sie nicht suchen würde...
Z.B. der dass man beim Wechsel der Konfiguration nur das config-Verzeichnis kopieren und die darin enthaltenen Dateien ändern braucht. Ausgewertet wird dann immer das Verzeichnis config.
Was für mich bedeutet, dass bei jeder Änderung der Name des kopierten config-Verzeichnisses auf config_<datum> (also z.B. config_20080302) geändert wird.

Hier nun die Änderungen an Hand der änderbaren Konfigurationsdateien

mkfli4l.conf

Diese Datei habe ich nicht direkt geändert. Das Programm zur Erstellung des Target-Mediums kann einige Parameter abspeichern, was ich auch genutzt habe - aber keine direkten Änderungen/Einträge soweit.

base.txt

Das ist die Basiskonfiguration (wie schon in der alten Version).
Geändert habe ich die folgenden Einträge/Variablen:

Die nächsten Variablen beziehen sich auf den Packetfilter.
Da ich keine Lust hatte die bestehenden Regeln manuell auf das neue Format zu ändern habe ich den vorgeschlagenen Weg gewählt:

  # Please choose the new packet filter configuration, the old one is
  # deprecated and only provided for compatibility reasons. During boot
  # up the configuration will be translated to the new configuration,
  # printed to the screen and written to bootmsg.txt to allow for an
  # easy migration to the new config style.

D.h. im ersten Schritt, neben den bestehenden Regeln, folgende Werte setzen:

Danach habe ich dann einfach die entsprechenden Zeilen der alten base.txt übernommen (liste ich hier aber nicht auf) - reines kopieren funktioniert leider nicht, die Umstellung ist aber fast selbsterklärend.

hd.txt

Damit wird die Harddisk angesprochen - in meinem Fall natürlich die Compakt-Flash-Card..
Geändert habe ich nur den folgenden Variablenwert:

1. Konfigurationslauf

Mit den bisherigen Einstellungen habe ich dann erstmalig ein Image erzeugt und auf die Compact-Flash-Karte geschrieben.
Das hat zwar erst nach mehrmaligen Versuchen funktioniert - aber immerhin.

Dazwischen dachte ich schon, dass mein Board ein zu altes BIOS (v0.98 gegenüber der aktuellen V0.99) hat.
Ein Versuch dieses zu flashen, misslang total.....

Schlussendlich ist dann die Karte hochgelaufen und der gewohnte Prompt kam zum Vorschein.
Die Werte aus der bootmsg.txt konnte ich auch auslesen - die werde ich aber erst später in die base.txt einpflegen.

Was mich am meisten irritiert hat war, dass ifconfig nicht mehr zur Verfügung steht.
Stattdessen wird das Kommando ip verwendet - siehe dazu auch ip-Command.

Weiter Konfigurationsläufe

Inzwischen habe ich obige Probleme in den Griff bekommen.

Weitere Anpassungen

Neben den Adaptierungen für das alix-Board habe ich ja auch SSH vorgesehen - damit sollte es möglich sein, dass Board per LAN hochzurüsten.
Ansonsten muss man ja für das Ziehen der Compact-Flash-Karte das Gehäuse zerlegen und das Motherboard ausbauen.
Jetzt gehts jedenfalls weiter:

alix.txt

Damit wird die Hardware des alix-Boards konfiguriert.
Geändert habe ich die folgenden Einträge/Variablen:

httpd.txt

sshd.txt

Dienst um eine SSH-Verbindung aufbauen zu können.
Geändert habe ich die folgenden Einträge/Variablen:

tools.txt