TEST

Mini-PC als Router für Fortgeschrittene

Umfangreiche Möglichkeiten mit OPNsense analysiert - OPNsense-Betriebssystem und Interface-Möglichkeiten

Portrait des Authors


Netzwerk-Plan erstellen ist Pflicht

Werbung

Bevor man sich überlegt, einen solchen Mini-PC mit OPNsense aufzusetzen, sollte man sich Gedanken machen, welches Ziel man mit diesem Projekt verfolgt. Eine OPNsense-Appliance ist nicht automatisch sicherer als beispielsweise eine FRITZ!Box von AVM. Viel mehr bietet OPNsense wesentlich mehr Möglichkeiten dank manueller Konfiguration und damit verbundene Freiheiten. Doch gerade bei den Firewall-Regeln unter OPNsense sollte man stets wissen, was man tut. Im schlimmsten Fall öffnet man Hof und Türe für Jedermann von außerhalb - und dies ist nun mal nicht Sinn der Sache.

Für den Grundbetrieb sind zwei physische Interfaces (LAN-Ports) stets das Minimum. So wird ein WAN- und ein LAN-Interface benötigt. Aus dem Internet wandern die Datenpakete in den WAN-Port, werden dort entsprechend der hinterlegten Firewall-Regeln gefiltert und ggf. auch an das LAN-Interface weitergegeben. Jedoch nur, wenn gewisse Datenpakete vom Intranet angefordert wurden. Andernfalls werden die nicht angeforderten Datenpakete aus dem Internet blockiert. In diesem Fall wären also bereits zwei LAN-Ports von insgesamt vier belegt.

Nun kann man sich folgende Frage stellen: Möchte man für die WLAN-Geräte ein eigenes Interface aufbauen oder sollen diese ebenfalls über das LAN-Interface versorgt werden? Diese Entscheidung bleibt jedem selbst überlassen. Es ist natürlich auch möglich, neben einmal WAN und LAN ein WLAN-Interface rein für Gäste aufzubauen. Eine weitere Möglichkeit besteht darin, ein autarkes Interface sowohl für das private WLAN- als auch für das Gäste-WLAN über einen LAN-Port arbeiten zu lassen. Hierfür kommt dann allerdings das Thema VLAN (Virtual Local Area Network) ins Spiel, um diese beiden Netzwerke (Subnetze) voneinander zu trennen. Dafür ist dann schließlich auch ein VLAN-fähiger Netzwerk-Switch erforderlich, der (Smart)Managed ist. Alle Geräte, sprich die OPNsense, der Netzwerk-Switch und der/die WLAN-Access-Point(s) müssen dann natürlich Kenntnis von diesen VLANs erlangen.

Wichtig ist dann natürlich auch die Erstellung von ACLs (Access Control List), um die VLANs gegenseitig zu isolieren und das Hauptnetzwerk ((Management-)LAN) zu schützen. Und das auf der OPNsense (mittels Firewall-Regeln), auf dem Netzwerk-Switch sowie auf dem/den WLAN-Access-Point(s).

Das übriggebliebene vierte Interface könnte man dann entweder unbenutzt lassen oder setzt dieses für eine DMZ (demilitarisierte Zone) ein. In ein solches Netzwerk können Server eingebunden werden, die frei von außerhalb erreichbar sein sollen und sind von den restlichen Netzwerken abgeschottet. Spätestens jetzt sollte daher also rübergekommen sein, was alles dahintersteckt, wenn man den Plan verfolgt, sein Netzwerk manuell zu optimieren.

Folgende (beispielhafte) Interface-Konfigurationen (max. vier LAN-Ports) sind möglich:

  • (1)WAN, (2)LAN (Minimum-Konfiguration)
  • (1)WAN, (2)LAN, (3)WLAN (privat)
  • (1)WAN, (2)LAN, (3)WLAN (privat und Gäste durch VLAN getrennt)
  • (1)WAN, (2)LAN, (3)DMZ (demilitarisierte Zone)
  • (1)WAN, (2)Management-LAN, (3)LAN, (4)WLAN (privat)
  • (1)WAN, (2)Management-LAN, (3)LAN, (4)WLAN (privat und Gäste)
  • (1)WAN, (2)LAN, (3)WLAN (privat), (4)WLAN (Gäste)
  • (1)WAN, (2)LAN, (3)WLAN (privat und Gäste), (4)DMZ
  • (1)WAN, (2)LAN, (3)WLAN (privat), (4)WLAN (Internet of Things)
  • (1)WAN, (2)LAN, (3)WLAN (privat und Gäste), (4)WLAN (Internet of Things)

Es gibt natürlich noch jede Menge weitere Möglichkeiten, wie zwei WAN-Ports als Failover-Konfiguration zum Thema Redundanz, doch diese zehn Beispiele sollten genügen. Für unseren Testaufbau haben wir uns für diese Konfiguration entschieden: (1)WAN, (2)LAN, (3)WLAN (privat und Gäste, getrennt durch VLANs). Dadurch bleibt ein LAN-Port als Reserve für eventuelle zukünftige Erweiterungen frei.

In Summe kann man in unserem Fall folgende Subnetze/Gateways vergeben:

  • WAN: PPPoE (Deutsche Telekom)
  • LAN: 192.168.10.1
  • WLAN: 192.168.11.1
  • WLAN-Gäste: 192.168.12.1

Ein weiterer Hinweis zum autarken IoT-WLAN-Netz: Hierbei kann es zu Problemen kommen, wenn die IoT-Geräte (Google Home, Amazon Alexa und Co.) von den anderen WLAN-Geräten in einem anderen Subnetz getrennt arbeiten sollen. Dies sollte bei der Überlegung unbedingt beachtet werden. Wer eventuellen Problemen gleich aus dem Weg gehen möchte, verwendet die IoT- und die WLAN-Geräte im selben Subnetz.

Was wird also abgesehen von dem Mini-PC noch an Netzwerk-Equipment benötigt?

  • Netzwerk-Switch mit (Smart-)Managed-Funktion (für die Einrichtung von VLANs)
  • WLAN-Access-Point(s) (ebenfalls VLAN-fähig)
  • ein Modem vor der OPNsense-Appliance für den WAN-Port (DSL, Kabel oder Glasfaser)
  • mehrere Netzwerkkabel (bestenfalls unterschiedlich farbig zur einfachen Orientierung)

Darüber hinaus sind zwei weitere Faktoren sehr wichtig, wenn man zum ersten Mal mit einem solchen Projekt konfrontiert ist: Zeit und Geduld! Erfolge dieser Art sind gerade bei Einsteigern in die OPNsense nicht sofort vorprogrammiert. Es ist sehr gut möglich, dass man an einen Punkt angelangt, wo man wieder von Neuem beginnt.

Infos über OPNsense

Gar keine Frage, auf dem Mini-PC von KingNovy lassen sich diverse Betriebssysteme installieren. Sei es Windows, Linux oder auch FreeBSD. Theoretisch und auch praktisch lässt sich dieser PC somit als gewöhnlicher Windows-Client verwenden. Alternativ kann mit Proxmox (ebenfalls Open Source) auch ein Virtualisierungsserver erstellt werden. In unserem Fall beschränken wir uns auf OPNsense als Router- und Firewall-Distribution, die ihr Debüt am 2. Januar 2015 mit Version 15.1 feierte. Aktuell (Stand: 21. September 2023) ist Version 23.7.4 mit FreeBSD 13.2 die aktuellste Version.

OPNsense selbst stellt dabei ein Fork der ebenfalls beliebten pfSense-Distribution dar, die hingegen selbst von Monowall abstammt. Alle drei genannten Betriebssysteme basieren auf FreeBSD. Allerdings wurde das Monowall-Projekt im Jahr 2015 eingestellt, sodass unter FreeBSD lediglich pfSense und OPNsense zur Wahl stehen. Bei den Versionsnummern orientiert sich das niederländische Unternehmen Deciso B.V. anhand des Jahres und des Veröffentlichungsmonats. Im Falle von der Hauptversion 23.7 ergibt sich das Jahr 2023 und der Monat Juli. Jeweils im Januar und im Juli erscheinen neue Major-Versionen. In den Zwischenzeiträumen folgen weitere Fixes und Verbesserungen. Die nächste Hauptversion wird daher also 24.1 im Januar 2024 sein. Diese Versionssprünge gelten jedoch nur für die Community-Edition.

Für die Community-Edition von OPNsense werden keine Kosten erhoben und die Software darf ohne zeitliche Beschränkung kostenlos auf jedem beliebigen Hardware-System installiert und verwendet werden. Für größere Unternehmen bietet Deciso allerdings auch eine kostenpflichtige Business-Edition inklusive Support an. Pro Jahr müssen 149 Euro für die Business-Edition im Abo eingeplant werden. Alternativ gibt es auch eine Pre-Paid-Version für drei Jahre, die mit 359 Euro im Angebot zu Buche schlägt. Der reguläre Preis beträgt 447 Euro.

Für die reinen Heimuser mit dem notwendigen, netzwerktechnischen Verständnis reicht die kostenlose Community-Edition völlig aus.

Installation von OPNsense

Unter diesem Link kann die kostenlose Community-Edition heruntergeladen werden. Generell steht ausschließlich die 64-Bit-Version zur Verfügung. Für die Installation von einem USB-Stick aus eignet sich die VGA-Version hervorragend. Mit dem ebenfalls kostenlosen Tool Rufus kann der OPNsense-Installations-USB-Stick erstellt werden. Schließlich muss auf der Hardware nur noch vom erstellten USB-Stick gebootet werden. Zunächst wird eine Live-Version von OPNsense gestartet. Sämtliche Komponenten werden im Regelfall automatisch dank einer integrierten Treiber-Datenbank erkannt. Darunter auch die vier I226-V-Controller von Intel mit dem igc-Treiberpaket. Gleiches wird auch für die I225-V-Controller verwendet.

  • Der Login für den Live-Modus: Benutzername: root, Passwort: opnsense
  • Der Login für den Installations-Modus: Benutzername: installer, Passwort: opnsense

Bereits vorab lässt sich die Konfiguration der Interfaces (LAN-Ports) und Weiteres vornehmen. Wenn die Interfaces zugeordnet werden (Assign Interfaces), fragt die OPNsense zunächst, welches Interface als WAN-Port dienen soll. Zur Auswahl steht in unserem Fall igc0 bis igc3. Welcher von den vieren es nun wird, spielt keine Rolle. Man sollte es sich natürlich merken. Wenn es igc0 werden soll, gibt man genau dies ein und bestätigt mit Enter. Gleiches gilt für den LAN-Port. Dort kann man igc1 auswählen. Für diesen Port wird dann die Firewall und das NAT aktiviert. Sollte sich ein Fehler eingeschlichen haben - wenn die OPNsense beispielsweise nicht mehr erreichbar ist - kann einfach erneut vom USB-Stick gebootet werden.

Möchte man OPNsense schließlich auf dem Datenträger installieren, egal ob mit bereits erfolgter Config oder ohne, lautet der Benutzername hingegen "installer". Das Passwort ist mit "opnsense" identisch. Wurde zuvor OPNsense bereits konfiguriert, wird diese Config bei der Installation übernommen. Nach der Installation bietet sich gleich an, das root-Passwort abzuändern, was aus Sicherheitsgründen natürlich dringend empfohlen wird. Anschließend muss das System neu gestartet werden. Dabei sollte der Installations-USB-Stick entfernt werden.

Hinweis: Uns ist bewusst, dass es unnötig ist, die internen IPv4-Adressen zu schwärzen, da diese ohnehin nicht im WAN routbar sind. Es schadet jedoch auch nicht.

Ist der Reboot erfolgt, loggt man sich über CLI (Command Line Interface) mit seinen Login-Daten ein und kann nun die IP-Einstellungen für die erstellten Interfaces vornehmen. Hierfür muss die Option 2 (Set Interface IP address) ausgewählt werden. Beim WAN-Port kommt es darauf an, über welchen Weg die OPNsense die Verbindung zum Internet aufbauen soll. Im Regelfall kommt auch heute noch PPPoE (Point to Point Protocol over Ethernet) zum Einsatz. Falls nicht, sollte man sich zuvor beim Provider erkundigen. Manche Provider arbeiten auch schlicht über DHCPv4 und DHCPv6. Auch ist es möglich, die OPNsense-Appliance hinter der FRITZ!Box anzuklemmen, wobei auf der FRITZ!Box dann der Exposed-Host-Modus für die OPNsense aktiviert werden sollte. Doch generell ist es empfehlenswerter, wenn die OPNsense selbst die Einwahl ins Internet vornimmt. Der WAN-Port kann zunächst jedoch bei der CLI-Oberfläche erst einmal außen vor gelassen werden und dann über die Web-GUI konfiguriert werden.

Sinn macht jedoch die Konfiguration des LAN-Interfaces. Nach der Eingabe der IPv4-Adresse fragt die OPNsense auch nach der Subnetzmaske. Für den Heimgebrauch ist der Suffix 24 (Bit) gebräuchlich und entspricht einem Klasse-C-Netzwerk mit der Subnetzmaske 255.255.255.0. Auf diese Weise bietet ein solches Subnetz im Falle der OPNsense 253 freie Adressen für diverse Clients. Die 255-Adresse ist generell die Broadcast-Adresse und kann von keinem Gerät genutzt werden. Eine weitere IPv4-Adresse ist für das Gateway des Interfaces der OPNsense vorbestimmt. Die OPNsense bietet über CLI (Command Line Interface) auch an, einen DHCP (Dynamic Host Configuration Protocol) für die internen Netzwerke zu aktivieren. Dies kann allerdings auch jederzeit auf der Web-GUI eingestellt werden.

Die OPNsense fragt auch danach, das Web-GUI mit HTTP statt mit HTTPS erreichbar zu machen. Dies sollte verneint werden.

Für die Übersicht: Das Dashboard der OPNsense

Die zentrale Anlaufstelle bei OPNsense ist das Dashboard der Web-GUI. Das Web-Interface der OPNsense lässt sich folgendermaßen aufrufen: Wenn das LAN-Interface beispielsweise die IP-Adresse 192.168.10.1 bekommen hat, dann muss in die Adresszeile im Browser des Vertrauens folgendes eingegeben werden: https://192.168.10.1. Da per default über den Port 443 (HTTPS) gearbeitet wird, muss hinter der IP-Adresse keine Portangabe erfolgen. Da das vordefinierte Zertifikat der OPNsense natürlich nicht signiert ist, folgt eine Sicherheitswarnung, die allerdings getrost ignoriert werden kann. Schlussendlich sollte das OPNsense-Loginfenster erscheinen.

Kleiner Hinweis an dieser Stelle: Normalerweise ist standardmäßig das helle Design aktiviert. Wir haben jedoch bereits zuvor ein dunkles Design heruntergeladen und aktiviert.

Schließlich muss nun lediglich noch der Login selbst erfolgen. Der Benutzername lautet root und als Passwort muss das (im Optimalfall) abgeänderte Kennwort verwendet werden.

Von den bereits erstellten Interfaces einmal abgesehen, sieht das Dashboard der OPNsense im Rohzustand wie oben zusehen aus. Die entsprechenden IP-Adressen der Interfaces und der Gateways haben wir aus Sicherheits- und Datenschutzgründen unkenntlich gemacht. Links befinden sich die zahlreichen Menüs, die wiederum selbst noch Untermenüs bereithalten. In dem System-Information-Fenster werden wichtige Infos bereitgestellt. Neben der OPNsense-Version kann auch gleich auf OPNsense-Updates geprüft werden. Das Prüfen auf Updates und die Durchführung selbst erfolgt niemals automatisch, sodass man dies stets manuell tun muss bzw. kann. Direkt unterhalb wird die CPU angezeigt. In unserem Fall ist tatsächlich der Celeron N5105 anwesend und wird mit vier Kernen und vier Threads korrekt erkannt. Auch die CPU-Last wird in einem Graph dargestellt und auch die durchschnittliche Last angezeigt.

Das aktuelle Datum inklusive Uhrzeit und auch das Datum der letzten Konfigurationsänderung wird übersichtlich offenbart. Darunter folgen noch weitere Status-Angaben, wie die RAM-Auslastung und die Storage-Ausnutzung. Im reinen Grundbetrieb wird mit weniger als 1 GB genutztem Arbeitsspeicher ersichtlich, dass OPNsense ziemlich ressourcenschonend arbeiten kann. Dies gilt auch für den Bedarf an Storage-Speicherplatz. Von 107 GB werden gerade einmal 2,4 GB genutzt.

Auf der rechten Seite fallen dem Administrator gleich die Dienste ins Auge und zeigen direkt auf, welche Dienste gerade aktiv sind und ggf. auch nicht. Einige von ihnen kann man bei Bedarf auch anhalten, alle Dienste lassen sich zudem neu starten. Unter den Diensten geht es dann weiter mit den Gateways und darunter werden die Interfaces angezeigt, die derzeit in der OPNsense konfiguriert sind.


Glücklicherweise ist das Dashboard in Module bzw. Widgets aufgebaut, was also bedeutet, dass sich weitere Widgets auf dem Dashboard einbinden lassen. Diese Module ermöglichen es dem Anwender, eine weiter optimierte Übersicht über das aktuelle Geschehen der OPNsense zu verfolgen.

So können auch die Wärmesensoren von der CPU mit ins Spiel gebracht werden. Damit dies im Falle eines Intel-Prozessors möglich ist, muss zunächst unter System -> Einstellungen -> Verschiedenes beim Punkt Wärmesensoren die Einstellung "Thermischer Sensor auf dem Die von Intel Core*-CPUs (coretemp)" aktiviert werden. Hierzu reicht dann unten ein anschließender Klick auf Speichern. Wem der CPU-Last-Graph aus dem System-Information-Fenster nicht ausreicht, kann ein separates Widget aktivieren. Direkt darunter haben wir das Firewall-Protokoll angelegt und die Ausgabe auf den WAN-Port beschränkt. So wird nahezu live ersichtlich, wann die Firewall Anfragen aus dem Internet blockiert.

Auf der rechten Seite hingegen haben wir noch die Schnittstellen-Statistik angefügt, die aufzeigt, wieviele Daten über die Interfaces wandern. Etwas verwirrend können die Angaben bei Bytes ausgehend und eingehend abseits des WAN-Ports wirken. Abseits des WAN-Ports werden die Datenmengen nämlich in umgekehrter Reihenfolge angezeigt, was allerdings korrekt ist. Wenn ein LAN-Gerät einen Download durchführt, werden diese Daten korrekt als eingehenden Verkehr beim WAN-Port angegeben. Beim LAN-Interface handelt es sich allerdings um ausgehende Daten, die vom LAN-Interface zum LAN-Client ins interne Netzwerk wandern. Optional lassen sich Interfaces auch ausblenden, in dem die Einstellungen zu diesem Widget mit dem Stift-Symbol aufgerufen werden.

Unterhalb davon haben wir außerdem den praktischen Datenverkehrsgraph ebenfalls mit hinzugefügt. In dessen Einstellungen (der Stift) können die anzuzeigenden Interfaces ausgewählt werden. In unserem Fall ist es lediglich das WAN-Interface.

Doch gibt es noch weitere Widgets, die dem Dashboard hinzugefügt werden können. Nach einer Auswahl oder Änderung des Widgetes ist es wichtig, oben auf "Einstellungen speichern" zu klicken. Generell lassen sich die Widgets frei positionieren und auf bis zu sechs Spalten verteilen. Auf diese Weise kann das Dashboard auf die persönlichen Vorlieben hin eingerichtet und angepasst werden.