OPNSense Teil I: Einrichtung im Heimnetzwerk

Inhaltsverzeichnis

  1. Allgemeines
  2. Einrichtung
    2.1 Access (System)
    2.2 Settings (System)
    2.2.1 Administration (System → Settings)
    2.2.2 General (System → Settings)
    2.3 WAN (Interfaces)
    2.3.1 Hinter einem Modem/normaler Router wie FritzBox
    2.3.2 Schwierigkeiten, wenn OPNSense der einzige Router ist
    2.4 Firmware (System)
    2.5 Interfaces
    2.5.1 VLAN (Interfaces → Other Types)
    2.5.2 Assignments (Interfaces)
    2.6. Einrichten eines Interfaces
    2.7 Firewall
    2.7.1 Aliases (Firewall)
    2.7.2 Rules (Firewall)
    2.8 Services
    2.8.1 DHCPv4 (Services)
    2.8.2 Leases (Services → DHCPv4)
    2.8.3 Dnsmasq DNS (Services)
    2.8.4 Network Time (Services)
  3. Abschluss
  4. Ergänzungen
    4.1 Einrichten eines managed Switches / Wann nutze ich tagged, wann untagged?

Teil II zu OPNSense und WireGuard: https://www.kuketz-forum.de/t/opnsense-teil-ii-einrichten-eines-vpn-mittels-wireguard/4024

Auch auf codeberg: https://codeberg.org/o0ps/OPNSense-Tutorial

Beispielhafte Netzübersicht (vereinfacht)


Beschreibung der Skizze:
Die OPNSense erhält das Internet von meinem Modem und gibt die dort eingestellten VLAN an den managed Switch weiter. Von der OPNSense gehen zwei Kabel zum Switch. Eines um den Switch ins Netzwerk einzubinden (*VLAN-TAG 1) und ein weiteres um die VLAN an den Switch zu übermitteln. Im Switch werden dann den einzelnen Ports die entsprechenden VLAN zugewiesen. Die Ports am Switch an denen bspw. Drucker und Computer angeschlossen sind, sind untagged. Der Port, an dem der Access Point angeschlossen ist, ist mit VLAN-TAG 1 und allen anderen VLAN-TAG tagged, die der Access Poiunt über WLAN zur Verfügung stellen soll. Mehr zu tagged / untagged hier: Einrichten eines managed Switches / Wann nutze ich tagged, wann untagged?

1. Allgemeines

OPNSense ist eine Open Source Firewall auf FreeBSD-Basis und eine Abspaltung von pfsense. Mit ihr lässt sich das Netzwerk feiner strukturieren als mit einem herkömmlichen Router. Dafür kann man auch mehr kaputt machen. Während ein Router wie die Fritz!Box eher Plug & Play ist, so muss man bei der OPNSense mehr von alleine einstellen. Und wie immer gilt: Mit mehr Möglichkeiten geht mehr Verantwortung einher. Aber am Ende erhaltet ihr einen Router, den ihr nach eurem Belieben konfigurieren könnt.

In diesem Tutorial möchte ich euch zeigen, wie ihr bei euch zu Hause eine OPNSense einrichten könnt. Am Anfang stand bei mir die Frage, wie dieses Tutorial am Besten zu gestalten ist. Denn so wie jeder Mensch, so ist auch jedes Netzwerk individuell. Daher werde ich euch nicht en détail anhand meines Netzwerkes dies zeigen, sondern euch allgemein erklären wie es funktioniert. Dadurch solltet ihr in der Lage sein, dies für euer Netzwerk umzusetzen.

Dieses Tutorial setzt voraus, dass OPNSense bereits installiert ist. Ich nutze eine NitroWall. Ein anderer Anbieter mit bereits vorinstalliertem System ist Protectli. Ihr könnt es aber auch selbst installieren.

Anmerkung: Ich persönlich nutze Kabelinternet und habe hier meine Erfahrung. Natürlich funktioniert eine OPNSense auch mit VDSL und Glasfaser. Nur die Art der Einwahl unterscheidet sich. Bei Einwahl mittels PPoE kann es sein, das VLAN 7 ausgewählt wird. Hier kann ich euch keine Infos geben, da ich hier keine Erfahrung habe.

Empfehlung: Belasst die Sprache auf Englisch. Denn die offizielle Hilfe ist nur auf Englisch verfügbar. So vermeidet man komische Übersetzungen ins Deutsche und findet die nötige Hilfe besser. Daher nutze ich auch für die einzelnen Menüpunkte die englischen Wörter.

In den runden Klammern () findet ihr die Angabe des Hauptmenüpunktes. Wenn dort bspw. steht Access (System), dann findet sich der Punkt Access im Hauptmenüpunkt System.

In den Einstellungen der OPNSense befinden sich neben vielen Punkten orangefarbene Info-Zeichen. Klickt ihr darauf, erhaltet ihr eine kleine Erklärung zu dieser Einstellung.

2. Einrichtung

Wir machen nichts über den Wizzard, auch wenn ihr dies gerne machen könnt. Ich möchte versuchen, euch so gut es geht einen guten Start mit OPNSense zu bereiten. Daher ist es wichtig zu wissen, wo sich welche Einstellung befindet.

2.1 Access (System)

Zunächst empfiehlt es sich einen neuen Nutzer anzulegen, um nicht ständig mit root arbeiten zu müssen. Hierzu gehen wir auf System → Access → Users und klicken auf das +. Wir vergeben einen Benutzername und Passwort. Bei Bedarf geben wir dem Nutzer die Rechte für den Shell-Login. Hier sollte /bin/sh/ eure Wahl sein. Zuletzt fügt ihr diesen Nutzer durch Klicken des entsprechenden Pfeils der Gruppe admins hinzu.

Wenn ihr mögt, kann nun der root-Nutzer deaktiviert werden. Meldet euch dazu mit eurem neu erstellten Nutzer an, geht wieder auf System → Access → Users und klickt bei root auf den Stift. Dort einen Haken bei Disable und speichern.

2.2 Settings (System)

2.2.1 Administration (System → Settings)

Hier stellen wir das Protokoll auf HTTPS ein, sofern nicht schon bereits so eingestellt. Ebenso setzen wir einen Haken bei Enable HTTP Strict Transport Security.

Bei Listen Interfaces schauen wir, dass nur LAN angewählt ist. Denn es ist nicht unbedingt klug, von allen Interfaces das GUI erreichen zu können. Hier könnt ihr auch bei Root Login den Haken entfernen, sofern ein Login mittels root nicht gewünscht ist. Auch beim zweiten Punkt Listen Interfaces, welcher sich unter SSH port befindet, wählen wir nur LAN aus.

2.2.2 General (System → Settings)

Hier vergebt ihr einen Hostname, einen Domainnamen und stellt eure bevorzugte Zeitzone, Sprache und Thema ein. Den Punkt DNS servers merkt ihr euch, den müssen wir später nochmal anpassen. Wir tragen dort aus der Empfehlungsecke ein oder zwei DNS-Server ein. Später werden wir dies durch unseren pi-hole ersetzen.

2.3 WAN (Interfaces)

Nun machen wir einen kurzen Sprung zu Interfaces und kümmern uns ums WAN-Interface. Die restlichen Interfaces richten wir später ein. Das WAN-Interface gehört auch zu dem Interface, welches neben LAN bereits von Beginn an existiert. Dieses Interface ist die Verbindung zum Internet. Daher hängen diese Einstellungen auch von eurem Setting zu Hause ab.

2.3.1 Hinter einem Modem/normaler Router wie FritzBox

Im Grunde ist es relativ einfach, seine OPNSense ins (böse) Internet zu bringen. Dennoch kann es zu Schwierigkeiten kommen, auf die ich im nächsten Punkt eingehen werde.

Wenn du deine OPNSense hinter einem Router verwendest, öffne diesen Hinweis

Wenn ihr zu dieser Gruppe gehört, vergebt ihr bzw. euer Router eurer OPNSense eine IP-Adresse aus dem Bereich eures Routers. Daher müsst ihr die Haken bei Block private Networks und Block bogon Networks deaktivieren. Sonst blockt das WAN-Interface euren Router.

Als IPv4 Configuration wählt ihr DHCP aus. Die IPv6-Variante könnt ihr auf None lassen oder nach belieben einstellen. Da aber nach wie vor nicht alles aus dem Netz mit IPv6 erreichbar ist, ist das aktuell nicht notwendig. Das wars auch schon. Speichert mit Save, bestätigt das Ganze nochmal mit Apply changes.

2.3.2 Schwierigkeiten, wenn OPNSense der einzige Router ist

Wer OPNSense als einzigen Router einsetzen möchte, braucht ein reines Modem.

2.3.2.1 DSL-Modem/DSL-Anschluss

Auf DSL-Seite gibt es Draytek. Habe damit keine Erfahrung, aber dieser Name ist mir bei meiner Recherche öfters begegnet. Dieser kann für einen den entsprechenden VLAN-TAG setzen und dem WAN-Interface das Internet zur Verfügung stellen oder man lässt das die OPNSense erledigen. Aber nicht beide. Hier wird der Weg beschrieben, wie man sich auf OPNSense einwählt: https://www.du-consult.de/opnsense-so-konfiguriert-man-eine-deutschlandlan-pppoe-einwahl/

Was DSL-Modem betrifft, kann ich euch leider nicht viel weiter helfen. Auch ich kann nur das Internet konsultieren und nach Links suchen. Diesen Part kann ich euch nicht abnehmen.

2.3.2.2 Kabel-Modem/Kabel-Anschluss

Wer einen Kabelanschluss hat wie ich, hat ein Problem: Als reines Modem gibt es nur das technicolor tc4400-eu. Und dieses ist nicht immer einfach zu bekommen. Selbst gebrauchte Geräte kommen an den Neupreis heran oder überschreiten ihn sogar. Hat man nicht das Glück, so muss man sich anders behelfen.

FritzBox im Bridge-Mode
Das ist möglich und wird hier beschrieben wie es geht. Funktioniert auch, ABER die FritzBox ist frech. Wenn ihr eine MaxCPE von 1 (die Zahl ist höher, wenn ihr mehrere Telefonnummern habt) habt, könnt ihr den Bridge-Mode mit der FritzBox vergessen. Denn die FritzBox krallt sich immer eine IPv4. Und die braucht ihr, wenn ihr alle Seiten im Internet erreichen wollt.

Router des Providers im Bridge-Mode
Hier wird es knifflig. Entweder der Provider ermöglicht es oder nicht. Vodafone macht es auf jedenfall in einem Teil von Deutschland, ob es auch im anderen Teil ist weiß ich nicht. Einfach beim Support nachfragen.

technicolor tc4400-eu
Mit diesem Gerät ist es im Grunde Plug&Play, sofern ihr echten Dual Stack habt. Bei DSlite stoßt ihr auf das Phänomen, das noch heute nicht alle Seiten via IPv6 erreichbar sind. Und das Modem kann kein DSlite. Und die OPNSense auch nicht.

FAZIT
Wenn du einen Kabel-Anschluss mit DSlite hast, Bridge-Mode bei dir nicht funktioniert dann bleibt dir nur übrig die OPNSense hinter deinen aktuellen Router zu hängen. Um doppeltes NAT zu vermeiden, ist die Einrichtung einer Route möglich.

2.4 Firmware (System)

Unter diesem Punkt könnt ihr nicht nur auf ein Update prüfen, sondern den Mirror ändern, Plugins installieren/deinstallieren und die installierten Packages einsehen. Durch den Menüpunkt Status sehen wir allgemeine Informationen. Mittels Run an audit können verschiedene Parameter überprüft werden, bspw. auf entsprechende Verwundbarkeiten. Das soll uns jetzt aber nicht interessieren. Klickt hier bitte auf den orangefarbenen Button Check for updates und installiert diese falls vorhanden. Möglicherweise startet eure OPNSense neu.

2.5 Interfaces

In diesem Punkt kümmern wir uns um die Einrichtung der Schnittstellen. VLAN sind nicht unbedingt notwendig, hängt von den physischen Ports eurer Hardware ab. Wer keine VLAN anlegen will, kann den ersten Unterpunkt überspringen.

2.5.1 VLAN (Interfaces → Other Types)

Hier legt ihr euch so viele VLAN an, wie ihr wollt. Bedenkt: Euer Access Point muss mit VLAN umgehen können, genauso euer Switch. Wenn ihr alle VLAN angelegt habt, müssen die Änderungen noch mit dem orangenen Button Apply bestätigt werden.

Das Feld bei Device könnt ihr unausgefüllt lassen. Wählt den entsprechenden physischen Port als Parent aus und vergebt einen TAG zwischen 1 und 4094 (Kleiner Hinweis: die 1 ist bereits vergeben). Entscheidet euch noch, welche Priorisierung dem VLAN zugestanden werden soll und vergebt einen Namen.

Meine VLAN haben alle TAGs 10er Bereich. Heißt in meinem Fall als Beispiel:
Private hat die 10. In diesem befinden sich alle privaten Geräte (Smartphone & PC)
IoT hat die 20.
DMZ hat die 30.
GUEST hat die 40.

Dies spiegelt sich später auch in den IP-Adressen wieder.

2.5.2 Assignments (Interfaces)

In diesem Punkt machen wir die Schnittstellen im Grunde nutzbar. Fachlich ist das sicherlich nicht die korrekte Beschreibung.

Nun kümmern wir uns zunächst um die VLAN aus dem obigen Punkt. Hierzu wählen wir das entsprechende VLAN unter dem Punkt New Interface ais und klicken auf +. Dies machen wir solange, bis alle VLAN zugewisen wurden. Im Dropdown-Menü erscheinen glücklicherweise auch nur jene, welche noch nicht zugewiesen wurden. Am Ende drücken wir noch auf den orangenen Button Save, um zu speichern.

Wenn wir nun einen weiteren physichen Port hinzufügen wollen, verfahren wir genauso. Wir wählen ein Interface aus, vergeben einen Namen (Description) und klicken auf +. Sind alle gewünschten Interfaces hinzugefügt, klick auf den orangenen Button Save.

2.6 Einrichtung eines Interfaces

Unter dem Menüeintrag Interfaces sollten nun all’ eure Interfaces aufgeführt sein. Diesen hier beschriebenen Schritt müsst ihr für jedes einzelne Interface einzeln machen.

Wählt eins aus (am besten fangt beim ersten an) und setzt einen Haken bei Enable Interface und bei Prevent interface removal. Der zweite ist zwar nicht zwingend notwendig, sorgt aber dafür dass ihr unter Interfaces → Assignments nicht ausversehen eines löscht.

Die beiden Haken bei Block private networks und Block bogon networks bleiben frei. Nur im WAN-Interface sind diese angehakt. Dies haben wir aber weiter oben bereits eingestellt. Bei IPv4 Configuration Type wählen wir Static IPv4 aus. Bei Bedarf kann auch eine IPv6 konfiguriert werden. Ich habe dies bei mir mit None deaktiviert, da ich vermutlich nie so viele Geräte nutzen werde dass mir die IP-Adressen ausgehen werden :slight_smile:

Unter Static IPv4 configuration vergeben wir noch eine IP-Adresse. Beachtet hier am Besten eure VLAN-TAG, sofern ihr welche eingerichtet habt. Mit privates Netz bspw. hat die interne IP 192.168.10.1. Die 10 entspricht dem VLAN-TAG. Achtet auch auf den korrekten Suffix. Die eben zitierte IP hat das Suffix 24. Wählt ihr das falsche aus, meckert OPNSense zunächst nicht. Später beim Konfigurieren von DHCP jedoch schon.

Das ganze bestätigt ihr, wie soll es anders sein, mit dem Save Button. Dieser ist orange :wink: . Aber Achtung, ihr müsst das Ganze ein zweites mal bestätigen über den nun erschienenen Button Apply changes.

Wiederholt diesen Schritt für alle eure Interfaces, außer WAN und LAN, die sind schon konfiguriert. Ihr könnt natürlich die IP des Routers ändern. Das wäre unter LAN möglich.

2.7 Firewall

Kommen wir nun zum Herzstück und zu dem Part, der selbst eine FritzBox alt aussehen lässt.

2.7.1 Aliases (Firewall)

OPNSense bietet die Möglichkeit, IP-Adressen oder Netzwerke in einem Alias zu bündeln. Dies verschafft uns bei der Erstellung der Regeln später etwas mehr Übersicht und vereinfacht auch das hinzufügen bzw. ändern. Denn wenn wir unserem PC bspw. den Zugriff auf den Drucker erlauben und sich entweder dessen IP ändert oder ein zweiter Drucker hinzukommt, verändern wir einfach den Eintrag im entsprechenden Alias. Die folgenden Aliasse empfehle ich anzulegen:

  1. PrivateNetworks: In diesem Alias bündeln wir alle von uns angelegten Netzwerke, um sie später durch entsprechende Regeln voneinander abzuschirmen. Für die Erstellung der Regeln benötigen wir diesen Alias. OPNSense legt für jedes Interface bereits einen Alias an. Diese können wir in diesem Alias bündeln. Sieht dann in etwa wie folgt aus:

  2. pi-hole: In meinem Setting kommt ein pi-hole vor, um in meinem Netzwerk gewisse Seiten zu blockieren. Das kann zwar auch OPNSense selbst, jedoch kann diese kein RegEx-Filter. Zudem fühle ich mich mit ihm wärmer. Allerdings ist es in meiner Konfiguration so, dass die einzelnen Geräte im Netzwerk im pi-hole nicht angezeigt werden. Einzig und allein der Router wird als Client angezeigt. Für meine Zwecke reicht das, wer es anders haben will kann hier schauen: https://yewtu.be/watch?v=_5Noy-7tcro

  3. Drucker

  4. PC

Die Liste könnt ihr natürlich nach Belieben erweitern oder verkürzen. Wie legt ihr nun einen Alias an? Einfach auf das + klicken, vergebt einen Namen. Als Type wählt ihr für einzelne IP-Adressen Host(s), für ganze Netzwerke Network(s), für Ports Port(s), für URL *URL(IPs).

2.7.2 Rules (Firewall)

Hinweise vorab:

  1. Hat ein Interface keine Regeln definiert, werden alle Anfragen automatisch blockiert. Man muss also bewusst Löcher in die Firewall bohren.
  2. Die Regeln werden von oben nach unten nach dem first match-Prinzip abgearbeitet. Daher spielt auch die Reihenfolge der Regeln eine wichtige Rolle.
  3. Es ist zudem wichtig darauf zu achten, dass sich die Regel auch im richtigen Interface befindet. OPNSense wird keinen Fehler ausspucken, aber diese Regel auch nicht wie gewünscht bearbeiten.
  4. Die Logging-Option der einzelnen Regeln sollte ausgeschaltet sein, um unnötigen Datenmüll zu verhindern. Im Fehlerfall lässt sich diese Option schnell aktivieren.
  5. Die Regeln können sowohl als in als auch als out entsprechend ihrer Richtung erstellt werden. Es empfiehlt sich, sich für eine Richtung zu entscheiden. Dies dient der Übersicht.

Anmerkungen:

  • Sollte OPNSense bei euch Regeln hinzugefügt haben, löschen wir diese zunächst. Ich spreche aber nicht von den Automatically generated rules, welche sich zwar anzeigen aber nicht löschen lassen.
  • Am WAN-Interface machen wir zunächst nichts. Da sollten auch keine Regeln definiert sein. Somit werden alle von außen kommenden Anfragen blockiert, so wie es auch sein soll. Nur wenn man einen VPN errichten will oder Dienste von Außen erreichbar machen will, werden hier entsprechende Regeln definiert.
  • Regeln, welche Dinge erlauben, sollten immer vor den Regeln sein, die Dinge verbieten.
  • Floating Rules gelten für alle Interfaces. Ich bevorzuge diese Rubrik zu meiden, da man so auf einem Blick sehen kann welche Regeln für das ausgewählte Interface gelten
  • Gebt euren Regeln aussagekräftige kurze Beschreibungen, damit ihr auch später noch wisst was diese Regel macht

Erstellen von Regeln am Beispiel eines Interfaces
Unter Rules werden uns alle Interfaces angezeigt, welche aktiv sind. Alle Regeln, die für das entsprechende Interface gelten sollen müssen auch hier definiert werden. Als Beispiel erläutere ich die Erstellung der Regeln anhand meines PRIVATE-Interfaces, in dem mein Smartphone als auch PC ihren Platz haben.

Zunächst habe ich eine Regel definiert, welche DNS erlaubt. Hierzu klickt ihr auf +. Bei Action sollte Pass stehen, bei Interface der Name eures Interfaces, in meinem Fall wäre dies PRIVATE, Direction steht bei in. Bei TCP/IP Version wählen wir IPv4+IPv6 aus. Dies wäre so der Grundstock, der bei jeder Regel gleich ist.

Bei Protocol ist TCP/UDP gesetzt, bei Source PRIVATE net, bei Destination PRIVATE address, bei Destination port range in beiden Auswahlfeldern DNS, als Description ALLOW DNS. Um die eine Regel zu speichern wird mit Save bestätigt.

Nun möchte ich, dass aus meinem Netzwerk Geräte in anderen Netzwerken erreichbar sind. Hierzu habe ich entsprechende Regeln erstellt. Alle Geräte in diesem Netz sollen auf meinen Home Assistant zugreifen können. Daher existiert die Regel ALLOW HA. Unten im Screenshot ist zu sehen, das kein Protocol spezifiziert wurde. Daher steht nach der IP-Version ein * . Die Source ist wieder PRIVATE net, denn es sollen ja alle Geräte aus diesem Netzwerk darauf zugreifen können. Eine Port range wurde auch nicht spezifiziert, was das * anzeigt. Als Destination ist mein Home Assistant gewählt. An den orangenen Balken erkennt man, dass es sich hierbei um einen Alias handelt. Wenn man mit der Maus über den Namen des Alias fährt, sieht man den Inhalt des Aliasses. Auf die orangenen Balken kann man klicken und somit den entsprechenden Alias bearbeiten. Als Description habe ich ALLOW HA gewählt.

Die vier darauffolgenden Regeln sind etwas spezifischer. Diese schränken die Source weiter ein. Ausschließlich mein PC darf auf das Router-Netzwerk, die 192.168.1.1, zugreifen. Dies habe ich gemacht, um mein Netzwerk von meinem Computer aus ohne Umstecken administrieren zu können. Man kann diese Regel auch weglassen, dann muss man entweder jedes Mal seinen Computer in das Router-Netzwerk umstecken oder einen extra Rechner dafür nehmen. Wie ihr das macht ist euch überlassen. Für diese und die anderen drei Regeln habe ich also als Source meinen PC ausgewählt. Alle anderen Geräte in diesem Netzwerk können nicht auf die in Destination definierten Geärte/Netzwerke zugreifen.

Die letzte Regel verschafft uns Internet, blockiert aber zugleich auch den Zugriff der Geräte in andere Netzwerke. Hierzu nehmen wir folgende Settings vor:
Action steht auf Pass, Interface entspricht unserem Interface PRIVATE, Direction ist in, TCP/IP Version ist IPv4+IPv6, *Protocol steht auf any, Source auf PRIVATE net, Destination / Invert ist aktiviert, bei Destination ist der Alias Private_Networks ausgewählt, als Description habe ich ALLOW INTERNET gewählt.

Achtung: Auch hier gilt: Änderungen müssen 2x bestätigt werden. Wenn ihr Änderungen an einer Regel jeglicher Art macht, muss dies noch mit Apply changes endgültig gespeichert werden.

2.7.2.1 Umgang mit Regeln

Verschieben von Regeln: Um eine Regel zu verschieben, markiere ich alle zu verschiebenden Regeln und dann auf den nach links zeigenden Pfeil bei der Regel, über der die zu verschiebenden Regeln verschoben werden sollen. Möchte ich bspw. die ALLOW PC DRUCKER Regel über die Regel ALLOW PC AMDIN GUI verschieben, setze ich einen Haken bei der Regel ALLOW PC DRUCKER und klicke auf den nach links zeigenden Pfeil bei der Regel ALLOW PC ADMIN GUI.

Deaktivieren von Regeln: Durch Klicken auf das Rechteck (grün = aktiv; grau = deaktiviert) kann ich eine Regel aktivieren bzw. deaktivieren.

Logging aktivieren/deaktivieren: Durch Klicken auf das Runde i aktiviere bzw. deaktiviere ich Logging für diese Regel.

2.7.3 Live View (Firewall → Log Files)

Hier können wir unserer Firewall bei der Arbeit zusehen und ist die erste Anlaufstelle, wenn ein Gerät keinen Zugriff auf etwas erhält. Denn hier landen alle geblockten oder erlaubten Anfragen. Entsprechend mit rot oder grün hinterlegt. Durch die oberen Auswahlfelder lassen sich entsprechende Sachen Filtern. Wenn also ein Gerät kein Zugriff auf etwas erhält, kann ich durch Einstellen der Source mir alle Aktivitäten von dieser anschauen. Damit ein Kriterium aktiv wird, muss ich zunächst die Suchparameter einstellen und dann auf das + drücken. Über >> lassen sich die aktuellen Suchparameter auch als Template abspeichern.

2.8 Services

Unter diesem Punkt finden wir die Einstellungen bspw. zu DNS und DHCP. Wenn ihr Plugins installiert, finden sich deren Einstellungen auch hier.

2.8.1 DHCPv4 (Services)

Damit unsere Geräte auch eine IP-Adresse erhalten, müssen wir für jedes Interface den Dienst aktivieren. Wenn ihr auf den Punkt DHCPv4 klickt, werden euch alle aktivierten Interfaces angezeigt. Wählt eines aus und setzt einen Haken bei Enable DHCP server on the PRIVATE interface (PRIVATE natürlich durch den von euch gewählten Namen ersetzen). Wenn ihr bei der Erstellung des Interfaces kein falsches Suffix angegeben habt, könnt ihr eure Range einstellen. Wenn nicht, wird euch dies bei Available range angezeigt. Die bei mir gewählte Range geht von 10 bis 100. In den beiden Felder nist also folgendes eingetragen: 192.168.10.10 und 192.168.10.100. Geräte mit fester IP erhalten immer eine IP außerhalb der Range bei mir. Daher lasse ich da immer Luft. Alle anderen Felder können leer bleiben, es sei denn ihr wollt vom Standard abweichen.

Bei jedem Interface gibt es die Tabelle DHCP Static Mappings for this interface. Hier können für entsprechende Geräte feste IP-Adressen zugewiesen werden. *Über den +-Button öffnet sich das entsprechende Forumular. Einzutragen sind MAC adress, IP adress, Hostname und Description können angepasst werden. Alle anderen Felder frei lassen, es sei denn es soll vom Standard abgewichen werden. Über dem Punkt Leases lassen sich aber auch statische Einträge erstellen.

2.8.2 Leases (Services → DHCPv4)

Hier werden alle Verbindungen aufgelistet. Gebündelt nach dem entsprechenden Interface. Der Lease type gibt darüber Auskunft, ob es sich um einen statischen (static) Eintrag handelt oder einem nicht statischen (active) Eintrag. Einen Eintrag, der auf active steht, kann ich durch das dahinter stehende + in einen statischen Eintrag umwandeln. Die entsprechende MAC Adresse wird übernommen, die anderen drei Punkte müssen dann selbst per Hand eingetragen werden.

2.8.3 Dnsmasq DNS (Services)

Wir haben die Auswahl zwischen Dnsmasq DNS und Unbound DNS. Ich nutze den Dnsmasq DNS, da mein raspberry neben pi-hole auch Unbound installiert hat.

Um Dnsmasq zu aktivieren, schaut zunächst ob Unbound DNS deaktiviert ist. Wenn nicht, deaktiviert diesen zunächst. Dann wählt ihr bei Dnsmasq DNS Enable Dnsmasq aus. Den Port lasst ihr unverändert. Bei Network Interfaces sollte All (recommended) ausgewählt sein. Weitere Haken sind gesetzt bei:

  • Register DHCP leases
  • Register DHCP static mappings
  • Do not forward private reverse lookups

Alles andere ist unverändert. Drückt dann auf Save und achtet darauf, dass oben der „Play“-Button grün ist. Wenn nicht, drückt ihn.

Wer kein pi-hole nutzt, macht selbiges nur mit Unbound DNS

2.8.4 Network Time (Services)

Hier könnt ihr eigene NTP-Server definieren, wenn ihr dies mögt. Denn von diesen Servern holt sich eure OPNSense die aktuelle Zeit.

3. Abschluss

Das wars, zumindest für den Einstieg und ich hoffe, dass ich nichts vergessen/übersehen habe. OPNSense ist vielschichtig und man kann noch viel mehr machen, wie bspw. automatisch nach Viren suchen lassen, einen RADIUS-Server für die Anmeldung einsetzen und und und. Aber auf alle Möglichkeiten einzugehen würde den Rahmen sprengen. Es sollte hier auch nur um die Grundkonfiguration gehen. Vielleicht schiebe ich das ein oder andere später noch nach.

4. Ergänzungen

4.1 Einrichten eines managed Switches / Wann nutze ich tagged, wann untagged?

Wenn ich ein Netzwerk segmentieren will, kommt in der Regel auch ein managed Switch zum Einsatz. Denn die Anschlüsse am Router reichen möglicherweise nicht für die Anzahl an Netzwerken aus, die ich einrichten möchte. Dieser Switch muss mit VLAN-Tags umgehen können, daher können unmanaged Switches hierfür nicht verwendet werden.

Von meiner OPNSense gehen zwei Netzwerkkabel in den Switch. Das eine stellt lediglich die Verbindung zum Switch her und bindet es ins Management-Netzwerk ein, in dem sich auch die OPNSense selbst wie auch der Access Point bei mir befinden. Eben all jene Geräte, die zur Netzwerkinfrastruktur gehören. Dem Port muss natürlich der Tag 1 als untagged zugewiesen werden. Gilt auch für alle anderen Geräte der Netzwerkinfrastruktur.
Das andere Kabel ist für die erstellten VLAN zuständig. Daher ist hier beim Switch am entsprechenden Port „tagged“ zu wählen und diesem alle entsprechenden VLAN zuzuweisen.

Wann nutze ich tagged, wann untagged?
Wenn ich virtuelle Netzwerke erstelle, werden den Netzpaketen Informationen über des entsprechende VLAN hinzugefügt. Geräte wie Drucker oder Computer können damit aber nichts anfangen. Daher dürfen die Ports, an denen diese Geräte am Switch angeschlossen werden, nicht tagged sein.

Heißt: Wenn bspw. mein via LAN verbundener Computer im* VLAN 3* sein soll, so muss dem entsprechenden Port des Switches das VLAN 3 als untagged zugewisen werden. Das bedeutet aber auch, dass kein anderes VLAN diesem Port zugewiesen werden kann.

Möchte ich einen weiteren managed Switch oder VLAN-fähigen Access Point anschließen, so muss dieser Port mit dem VLAN-TAG 1 (Netzwerkinfrastruktur) und allen benötigten VLAN-TAG als tagged eingerichtet werden.


Ich hoffe, dass ich euch weiter helfen konnte und ihr eure OPNSense hiermit in Betrieb nehmen konntet. Wenn ihr Fragen habt, stellt sie. Ich hoffe sie beantworten zu können :wink:

Sollte eine Stelle unverständlich sein, so teilt es auch bitte mit. Dann kann man dies anpassen. Gleiches gilt, wenn ich etwas vergessen habe.

7 „Gefällt mir“

Hallo,

wie stellt man es so ein das erst mal alles geblockt wird.

Und dann nur zu 2-3 IP-Adressen eine Anwendung im www verbindungen aufbauen darf.

MfG

Für die entsprechenden IP erstellst du dann eine Regel, die es erlaubt. Du kannst die IP auch in einem Alias zusammenfassen. Als Source gibst du das entsprechende Interface an, als Destination die entsprechenden IP. Bei Bedarf kann natürlich auch der Port eingeschränkt werden.

Danke und sehr schön ausführlich.

Wenn man sein eigenen Modem verwendet, wird doch automatisch auf Dual-Stack umgestellt oder nicht?

Wie sieht es mit Wi-Fi aus? Wird laut NitroWall nicht unterstützt. Was kann man da machen? Alternativen?

War bei mir nicht so. Hängt meine ich auch vom Vodafone-Gebiet ab. Ich bin im ehemaligen Unity Media Gebiet beheimatet und habe Dual Stack nicht automatisch erhalten.

Ich nutze dazu einen Access Point, der auch VLAN fähig ist.

2 „Gefällt mir“

Welchen Access Point verwendest du?

Welcher Access Point ist empfehlenswert?

Warum kein OpenWRT? (Anfänger).

Ich nutze einen von TP-Link, für den es auch OpenWRT gibt. Habe ich aber noch nicht aufgespielt, da ich den ersten Router gebrickt habe. Kommt dann noch. Welches Modell weiß ich gerade nicht. Meine dass es dieser ist: TP-Link TL-WA1201. Dazwischen hängt ein Managed Switch auch von TP-Link, das Modell finde ich gerade aber nicht. An diesem sind dann auch die anderen Geräte mit LAN angeschlossen.

Edit: Ich werde die Tage mal meinen Netzwerkaufbau skizzieren.

Vielen Dank für das tolle Tutorial. Das ist eine große Hilfe für meinen Umzug vom Raspi auf einen Tiny-Server mit Proxmox und OPNSense. Ich muss mich leider noch intensiver dem Aufbau von VLan’s beschäftigen.
Dazu eine Frage zu Deinen weiteren Kommentaren: Mein managed Switch beherrscht zwar VLan, leider aber mein WLan-AP nicht (Amplifi, mit dem ich eigentlich super zufrieden bin). Ich befürchte also, dass da mit OPNSense ein neuer her sollte, damit ich auch dort die Netze trennen kann.
Bei dem von Dir genannten (TP-Link TL-WA1201) steht allerdings in Rezensionen, dass er kein VLan-Mapping beherrschen würde. Vielleicht kannst Du da näher darauf eingehen, falls du noch den skizzierten Netzwerkaufbau einstellen willst. Vielen Dank :smiley:

Der TL-WA1201 ist Multi-SSID fähig und kann bis zu 4 Netzwerke aufspannen. Man muss nur für jedes Netzwerk, dass der Acces Point aufspannen soll, den entsprechenden VLAN-Tag angeben.

Vielen Dank für die Erinnerung. Ich habe jetzt eine beispielhafte Skizze hinzugefügt, die allerdings vereinfacht ist. Ich wollte nicht jedes einzelne Gerät aufnehmen, dies ist mir zu aufwändig und wird auch unübersichtlich. Wichtig ist: Die OPNSense bekommt über den WAN-Anschluss das Internet vom Modem. Die konfigurierten VLAN werden an den Switch weitergegeben. In diesem werden dann den einzelnen Ports die VLAN hinzugefügt. Entweder als tagged oder untagged. Da schreibe ich aber gleich noch einen kleinen Exkurs im Tutorial zu dieser Thematik.

2 „Gefällt mir“

Beispielhafte Netzübersicht (vereinfacht)

Danke für die Skizze.

Brauche ich einen Netzwerk-Switch?

Ich habe nur 2 Geräte, die per Kabel angeschlossen werden und der Rest ist nur WLAN.

Ich würde eigentlich so vorgehen:

-OPNSense erhält das Internet vom Modem
-Von der OPNSense gehen zwei Kabel direkt zum Computer und Laptop.
-WLAN Access Point direkt am OPNSense anschließen.

Würde das so gehen? Wäre für mich als Anfänger leichter.
Würde mich auf eine Antwort freuen.

1 „Gefällt mir“

Wenn deine OpnSense 4 Ethernet-Ports mitbringt, dann funktioniert das.

2 „Gefällt mir“

Danke.

Hat es einen Vor- oder Nachteil, wenn ich auf den Netzwerk-Switch verzichte?

1 „Gefällt mir“

Vorteil: weniger Stromverbrauch
Nachteil: weniger Ethernet-Ports

4 „Gefällt mir“

Ich habe mich noch nicht dazu getraut, es selber zu versuchen, da ich noch offene Fragen dazu habe. Ich hoffe, Ihr kommt mir weiter helfen:

Wenn ich an den Einstellungen nichts ändere und es standardmäßig lasse, würde es ausreichen?
Habe bisher nur Plug&Play Router wie die FritzBox benutzt. Wäre überhaupt so was für mich geeignet (oder lieber bei der FritzBox bleiben)? Möchte gerne zur quelloffenen Software/Hardware wechseln, aber meine Sicherheit dennoch nicht einschränken oder gar in Gefahr bringen.
Ist OPNSense in der Standardausführung genau so sicher wie eine FritzBox?

OPNSense ist eine komplexe Software, die weit über die Funktionen einer FritzBox hinausgehen. Zwar kann die Software nach Installation, sofern nicht bereits vorinstalliert, und nach Einrichtung der WAN-Schnittstelle bereits verwendet werden, denn die WAN-Schnittstelle blockiert alle eingehenden Verbindungen. Allerdings halte ich die OPNSense als FritzBox Ersatz für überdimensioniert.

Vielleicht ist openWRT für dich eine Lösung. Es ist Open Source. In diesen Listen kannst du nach kompatiblen Geräte suchen:

Aber um deine Eingangsfrage auch zu beantworten: Ohne weitere Konfiguration ist sie das.

2 „Gefällt mir“

Ich habe als Alternative zu NitroWall (von Nitrokey) die Firma Thomas-Krenn gefunden. Die sind auch als Partner auf https://opnsense.org/partners/ gelistet. Hat jemand Erfahrung von euch? Würde der LES network 6L ausreichen für 1000 Mbit/s? Coreboot auch verfügbar?