OPNsense – Installation auf einer Sophos XG 330 Firewall

In dieser Anleitung möchte ich dir zeigen, wie du auf einer Sophos XG 330 Firewall OPNsense als Betriebssystem installieren kannst.
Sophos nutzt in seinen Firewall-Gerätschaften herkömmliche Hardware, wodurch der Installation eines anderen Betriebsystems nichts im Weg steht.
Die XG 330 hat z.B. einen Intel i5-6500 Prozessor verbaut, 12GB RAM (1x8GB + 1x4GB) und eine 256GB SSD als Festplatte.

Warum macht man sowas?
Zum einen weils geht, zum anderen weil SophosOS ziemlich reudig ist und ich das Ding aus gewissen Gründen einfach nur hasse.
Ein weiterer Vorteil der Hardware ist, dass alle Netzwerkports einen eigenen Intel-Chipsatz haben und wir dadurch auch die Hardwarebeschleunigung nutzen können.
Somit kann die CPU die Arbeit an die Hardware in vielen Fällen abgeben und hat dadurch mehr Zeit für andere Aufgaben.




Was benötigen wird?

– Eine Sophos Firewall
– Ein USB-Stick mit min. 4GB Speicherplatz
– Eine Tastatur + Maus
– Ein Monitor mit HDMI-Anschluss
– Ein HDMI-Kabel
– Ein Rechner mit Internetzugang
– Optional: Ein USB-Hub, falls nur ein oder zwei USB-Ports am Gerät verfügbar sind

Vorab: Sophos hat die SSD speziell formatiert und ggf. auch verschlüsselt. Damit OPNsense installiert werden kann, muss die interne SSD komplett platt gemacht werden. Dies müssen wir vor der Installation von OPNsense selbst von Hand erledigen.
Hinweis: Diese Anleitung beschreibt nicht, wie man die Firewall nach der Installation korrekt einrichtet. Hier dreht es sich um die reine Installation von OPNsense auf einer Sophos Firewall.
Hinweis 2: Ja du kannst auch die Firewall über ein Konsolen-Kabel mit OPNsense versorgen, sofern du kein HDMI-Port und / oder Kabel besitzt. Ich habe diese Methode aber nie getestet, da mit ein passendes Kabel zu fehlte.


1. GParted auf den USB-Stick packen

1.1 Lade dir GParted von der Webseite als ISO herunter (https://gparted.org/download.php)
1.2 Flashe die ISO-Datei mit z.B. Etcher auf dein USB-Stick (https://etcher.balena.io/)

2. Festplatte löschen

2.1 Stecke dein USB-Stick mit Gparted an der Firewall an. Nutze hierzu den Port an der Rückseite des Gerätes, sofern einer verfügbar ist
2.2 Stecke nun ein Monitor und Maus + Tastatur an der Firewall an
2.3 Schalte die Firewall ein und drücke die Taste „B“ auf deiner Tastatur des öfteren, um das Boot-Menü zu öffnen
2.4 Wähle als Boot-Gerät dein USB-Stick aus
2.5 Wähle zum starten „GParted Live (Dfault settings)“ aus, was standardgemäß ausgewählt ist
2.6 Bei der Abfrage nach dem Layout, wähle „Don’t touch keymap“ aus
2.7 Wähle die Sprache deiner Wahl aus, 10 = Deutsch
2.8 Bei „Which mode do you prefere ?“ wähle die Nummer 0 aus
2.9 Wenn Gparted gestartet wurde, achte darauf, dass oben rechts die Festplatte der Firewall ausgewählt ist und nicht dein USB-Stick!
2.10 Lösche alle vorhandenen Partitionen auf der Festplatte (Rechtsklick und löschen)
2.11 Lass das alles übernehmen, indem du auf den grünen Haken oben in der Menüleiste klickst
2.12 Drücke oben im Menüband auf „Laufwerk“ und erstelle die Partitionstablle neu
2.13 Belass die Auswahl auf „msdos“
2.14 Schalte die Firewall wieder aus

3. OPNsense auf den USB-Stick packen

3.1 Lade das aktuelle Image in der VGA-Version von der OPNsense Webseite herunter (https://opnsense.org/download/)
3.2 Flashe das Image mit z.B. Etcher auf deinen USB-Stick (https://etcher.balena.io/)

4. OPNsense installieren

4.1 Stecke den USB-Stick anschließend an einen freien USB-Port an der Firewall an. Ist ein Port auf der Rückseite vorhanden, nutze diesen
4.2 Starte die Firewall und drücke ENTFERNEN (ENTF), um in das BIOS zu gelangen
4.3 Navigiere dich mit den Pfeiltasten nach Advanced -> CSM Configuration
4.4 Aktiviere den UEFI-Modus (UEFI and Legacy)
4.5 Speichere die Änderung ab und schließe das BIOS wieder (Save & Exit -> Save Changes and Reset)
4.6 Lass die Firewall nun einfach starten. Da kein Datenträger zum „normalen“ starten vorhanden ist, wird der USB-Stick genutzt und OPNsense sollte starten
4.7 Nach einer Weile solltest du dich anmelden können. Nutze den Benutzer „installer“ und als Passwort „opnsense
4.8 Wähle „Continue with default keymap“ aus
4.9 Nutze das UFS-Format, da ZFS für die alte Hardware unter Umständen etwas „fordernd“ sein könnte
4.10 Wähle deine Festplatte aus (ACHTUNG: Nicht den USB-Stick auswählen!)
4.11 Lass OPNsense installieren (Dauert 1-2 Minuten)
4.12 Setze ein Root-Passwort
4.13 Lass die Firewall neu starten und zieh dabei den USB-Stick wieder ab

Du hast nun erfolgreich OPNsense auf eine Sophos Firewall installiert!
Nun kannst du mit der allgemeinen Einrichtung fortfahren.

4.14 Melde dich über die Konsole mit dem Benutzer root und dem in Schritt 4.12 gesetztem Passwort an
4.15 Wähle Option 1 aus, um min ein Interface zu bestimmen
4.16. Beantworte die Fragen wie folgt:
Do you want to configure LAGGs now? >> n (nein)
Do you want to configure VLANs now? >> n (nein)
Enter the WAN interface name >> igb0 (Ist nacher Port „1/LAN“)
Enter the LAN interface name >> igb1 (Ist nacher Port „2/WAN“)
Enter the Optional interface 1 name >> Einfach „Enter“ drücken

Du kannst dich nun erst mal über Port 2 mit der Firewall verbinden.
Internet kannst du an Port 1 anstecken.
Die Ports lassen sich im Nachgang bequem im Webinterface ändern.
Wir haben jetzt erst mal eine funktionierende Firewall-Büchse am start.

OPTIONAL: Display reaktivieren

Das Display an der Front (sofern vorhanden) zeigt aktuell nur „SOPHOS Protection“ an. Das ist doof.
Wir wollen lieber was sinnvolles da sehen.
Also installieren wir noch kurz die notwendigen Pakete.

5.1 Installiere über die Paketquellen die Erweiterung „os-lcdproc-sdeclcd
5.2 Aktiviere (falls noch nicht passiert) den SSH-Zugriff (System -> Einstellungen -> Verwaltung -> Secure Shell)
5.3 Öffne eine SSH-Sitzung zur Firewall
5.4 Installiere nano als Texteditor, um Probleme bei der Eingabe zu vermeiden

pkg install nano

5.5 Öffne die Konfigurationsdatei für das LCD mit dem Editor nano

nano /usr/local/etc/LCDd-sdeclcd.conf

5.6 Lösche den gesamten Inhalt mit STRG + K und ersetze ihn mit folgendem:
KONFIGURATION FÜR XG330:

[server]
DriverPath=/usr/local/lib/lcdproc/
Driver=hd44780
Bind=127.0.0.1
Port=13666
ReportToSyslog=yes
User=nobody
Foreground=no
Hello="  Welcome to"
Hello="   OPNsense!"
GoodBye="Thanks for using"
GoodBye="   OPNsense!"
WaitTime=10
TitleSpeed=10
ServerScreen=on
Backlight=open
ToggleRotateKey=Enter
PrevScreenKey=Up
NextScreenKey=Down

[menu]
MenuKey=Escape
EnterKey=Enter
UpKey=Up

[hd44780]
ConnectionType=ezio
Device=/dev/cuau1
Keypad=yes
Size=16x2
KeyMatrix_4_1=Down
KeyMatrix_4_2=Escape
KeyMatrix_4_3=Up
KeyMatrix_4_4=Enter

KONFIGURATION FÜR SG230*:

[server]
DriverPath=/usr/local/lib/lcdproc/
Driver=hd44780
Bind=127.0.0.1
Port=13666
ReportToSyslog=yes
User=nobody
Foreground=no
Hello="  Welcome to"
Hello="   OPNsense!"
GoodBye="Thanks for using"
GoodBye="   OPNsense!"
WaitTime=5
TitleSpeed=5
ServerScreen=on
Backlight=open
ToggleRotateKey=Enter
PrevScreenKey=Up
NextScreenKey=Down

[menu]
MenuKey=Escape
EnterKey=Enter
UpKey=Up

[hd44780]
ConnectionType=ezio
Device=/dev/cuau1
Keypad=yes
Size=16x2
KeyMatrix_4_1=Enter
KeyMatrix_4_2=Up
KeyMatrix_4_3=Down
KeyMatrix_4_4=Escape

*Diese Konfiguration stammt von der Webseite busche.org. Ich habe sie nicht getestet, aber wers braucht, hat hier die Lösung.
5.7 Drücke STRG + X, bestätige die Abfrage mit Y für JA und drücke Enter
5.8 Gehe mit exit auf die Startansicht zurück
5.9 Wähle die Nummer 6 aus, um die Firewall neu zu starten, damit die Konfiguration übernommen wird

Fertig 🙂


Wie gut läuft’s?

Hier ein paar kleine Kennzahlen, um ggf. die Hardware mit anderen Lösungen zu vergleichen.
– Stromverbrauch im Leerlauf ~30-35 Watt
– Stromverbrauch unter Last (1Gbit/s) ~35-40 Watt
– CPU-Last bei 1Gbit/s Durchsatz ~15%
– Startzeit bis das Webinterface zur Verfügung steht ~25 Sekunden


Ein Hinweis in eigener Sache:
Das Gerät konnte ich für die Erstellung der Anleitung ausleihen, es ist aber nicht mehr direkt in meinem Besitz.
Fragen wie „wie gut Funktion XY funktioniert“, oder „kannst du mal dies und jedes Testen“, können leider nicht beantwortet werden.

6 Kommentare

  1. Andreas Neubauer

    Prima Anleitung. Besten Dank dafür!
    Ich bin der Anleitung gefolgt, und habe OPNsense auf einer XG310 installiert. Einzig die beiden SFP+ Ports werden nicht gelistet. Was kann man hier noch tun? Wie sieht es damit bei Dir aus.
    Gruß
    Andreas

    • Hi Andreas,
      wie im Hinweis ganz unten zu entnehmen, bin ich nicht mehr im Besitz der Geräte.
      Ich kann es daher nicht mehr testen.
      Die SFP-Ports sind aber immerhin im OS ersichtlich gewesen, wie im Video zu sehen ist 🙂

  2. Hallo,
    Ich wollte heute meine SG 135 Rev die bis dato noch mit Sophos UTM gelaufen ist, auf OPNsense uminstallieren.
    Aber nachdem ich vom USB Stick gebootet hab und OPNSense geladen wurde, kann er keine IP vom DHCP beziehen. (der DHCP funktioniert natürlich)
    auch wenn ich manuell eine IP eingebe, ist diese nicht erreichbar, als würden die NW Karten unter OPNSense nicht richtig funktionieren.

    Hast du da evtl. eine Idee wo ich ansetzten könnte?
    Mit der Software von Sophos läuft das Ding ja…

    danke & LG
    Daniel

    • Hi!
      Keine Ahnung was genau für Hardware in der SG135 verbaut ist.
      Kommst du überhaupt auf die OPNsense-Installation irgendwie drauf?
      Ich würde mal damit beginnen, zu prüfen ob die Netzwerkinterfaces überhaupt erkannt wurden.
      Dann schauen, ob beim Start irgendwelche Fehler aufgetreten sind, die im Log stehen (dmesg).
      Vielleicht ist ja nur der DHCP-Dienst kaputt.

      Sollte es ein Treiberproblem sein, kann ich dir ohnehin nicht helfen, da ich keine Sophos-Hardware mehr zur Hand habe.
      Es gibt aber mit Sicherheit ein paar Personen im OPNsense-Forum, die die Fragen dann beantworten können.

  3. Wir haben das Problem, dass bei einem Neustart, der Port anfängt zu flappen. Ist das ein bekanntes Problem?

    • Hi!
      Keine Ahnung warum dein Port hier ein Problem hat.
      Habe kein direkten Zugriff mehr auf die XG330, aber Neustarts hat sie bisher immer überstanden.
      Je nach dem wie dein Netzwerk aufgebaut ist, trenne mal alle Links zur Firewall und steck sie erst nach dem Neustart wieder.
      Falls dann weiterhin der Port flappen sollte, hab ich nur drei Tipps:
      – Stell mal die Portgeschwindigkeit fix ein (z.B. 1Gbits Full-Duplex)
      – Installiere OPNsense noch einmal frisch
      – Schreib dein Problem mal im OPNsense Forum, vielleicht haben die eine Idee

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.