Passwort vergessen?

Benutzername vergessen?

Alles rund um IT, Web und Entwicklung.
Von Nutzern für Nutzer.

Endian Firewall auf Alix Boards / APUs



Die kleinen und energieeffizienten Alix Boards bzw. APUs eignen sich hervorragend für die Installation der frei verfügbaren Endian Community Firewall.



Da diese Boards keinen VGA Port haben sind bei der Installation von Endian einige Anpassungen und Tricks notwendig.


Vorbereitungen


Im ersten Schritt benötigen wir das normale ISO Image der Endian Community Edition.

Dieses Image muss anschließend mittels Rufus auf einen USB Stick übertragen werden. Ein 2 GB Stick ist hier vollkommen ausreichend.



Als Basis dient das zuvor heruntergeladene ISO-Abbild. Um das Image zu übertragen einfach auf Start klicken.


Serielle Konsole


Nachdem das Image auf den USB Stick übertragen ist, müssen wir noch einige Anpassungen vornehmen um alle Ausgaben auf die Serielle Konsole umzuleiten.

Hierzu am besten mit einem Linux System den USB Stick einbinden. Im Verzeichnis boot/isolinux wird nun die Datei isolinux.cfg an die Serielle Konsole angepasst.

SERIAL 0 115200
TIMEOUT 300
DISPLAY message
PROMPT 1
DEFAULT vmlinuz 
APPEND initrd=instroot.gz root=/dev/ram0 rw console=ttyS0,115200n81
LABEL unattended 
  KERNEL vmlinuz
  APPEND initrd=instroot.gz root=/dev/ram0 rw unattended console=ttyS0,115200n81
LABEL nopcmcia 
  KERNEL vmlinuz
  APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 rw nopcmcia console=ttyS0,115200n81
LABEL nousb
  KERNEL vmlinuz
  APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 rw nousb console=ttyS0,115200n81
LABEL nousborpcmcia
  KERNEL vmlinuz
  APPEND ide=nodma initrd=instroot.gz root=/dev/ram0 rw nousb nopcmcia console=ttyS0,115200n81
LABEL dma
  KERNEL vmlinuz
  APPEND initrd=instroot.gz root=/dev/ram0 rw console=ttyS0,115200n81


Hiermit wird das Bootmenü und die Kernelmeldungen sichtbar. Im nächsten Schritt widmen wir uns dann noch den Konsolenausgaben.

Dazu im Verzeichnis boot/isolinux die Datei instroot.gz mittels GZip entpacken.

cd boot/isolinux
gzip -cd instroot.gz > instroot

Dies erzeugt die neue Datei instroot (ohne .gz Endung). Hierbei handelt es sich um ein Speicherabbild, welches gemountet und dann angepasst werden kann.

mkdir mnt
sudo mount -o loop instroot mnt/


Im nächsten Schritt editieren wir innerhalb des eingebundenen Images die Datei inittab um die Ausgaben auf die Konsole umzuleiten.

sudo nano mnt/etc/inittab
# System initialization.
::sysinit:/etc/rc

# Run gettys in standard runlevels
ttyS0::respawn:/sbin/agetty -L 115200 ttyS0 vt100
#ttyS0::respawn:/bin/iowrap /dev/tty1 /bin/sh --login -c "/bin/installer /tmp/installer.log"
#tty3::respawn:/bin/iowrap /dev/tty3 /bin/sh --login
#tty5::respawn:/bin/iowrap /dev/tty5 /bin/sh --login

# Stuff to do before rebooting
::ctrlaltdel:/etc/halt
::shutdown:/etc/halt


Mit der oben aufgeführten Konfiguration deaktivieren wir sogleich den automatischen Start des Installers, da dieser sonst das Installationsmedium nicht findet. Hierzu später mehr.

Abschließend lösen wir die Einbindung des instroot Images wieder und komprimieren es mit GZip.

sudo umount mnt/
gzip -c instroot > instroot.gz



Installation


Nun kann die eigentliche Installation des vorbereiteten Endian Images beginnen. Hierzu den USB Stick an einen der USB Ports des Alix / APU Boards anstecken und das System einschalten.

Der Client für die Serielle Konsole muss auf eine Baudrate von 115200 eingestellt sein.

Nach dem Booten findet man sich auf einer Shell wieder (den Installer hatten wir weiter oben bewusst deaktiviert). An dieser Stelle suchen wir zunächst nach der Bezeichnung unseres USB Sticks.

/bin/sh
fdisk -l

Disk /dev/sda: 4099 MByte, 4099932160 bytes
255 heads, 63 sectors/track, 498 cylinders
Units = cylinders of 1 × 512 = 512 bytes

   Gerät  boot.     Anfang        Ende     Blöcke   Id  System
/dev/sda1   *        2048     8007679     4002816    c  W95 FAT32 (LBA)


In unserem Beispiel ist dies /dev/sda. Der Pfad kann je nach Hardwarekonfiguration (SSD, SD-Karte, etc.) abweichen. Folgend mounten wir diesen unter dem Pfad /cdrom ein, da der Installer unter diesem Pfad nach seinem Installationsmedium sucht.

sudo mount /dev/sda1 -t vfat /cdrom

Abschließend kann der Installer gestartet werden. Die Ausgabe ist zwar nicht unbedingt schön oder sauber geordnet, man kann sich aber einigermaßen durch den Installer durchhangeln.

/bin/sh
/bin/installer /dev/ttyS0


Wichtig ist hier noch während der Installation bei der Aktivierung der Seriellen Konsole mit "Yes" zu antworten. Andernfalls bleibt die Konsole nach der Installation wieder schwarz.


Fazit


Mit einigen Anpassungen am Installations-Image ist es durchaus möglich eine komplette Endian UTM Firewall auf dem kleinen Alix / APU Board zu installieren. Hier wäre es wünschenswert bereits per Default die Ausgabe über die Serielle Konsole zu aktivieren.

Beim recht neuen Konkurrenten opnsense gibt es sogar extra Images für solche Fälle.

Michael Kostka

Fachinformatiker / Systemintegration
Ich schreibe hier regelmäßig zu den Themen Android, Web, Linux und Hardware.

Raspberry Pi Starter Kit
DataCloud

Hinterlasse einen Kommentar