USER STORY

Active_Learner05 en ZimaBoard 2: Een thuisfirewall bouwen met OPNsense

Een bericht van Zima

Bedankt, Active_Learner05, dat je ZimaBoard 2 hebt benaderd als een platform om van te leren, in plaats van als een apparaat met maar één vaste functie. Een ZimaBoard 2 1664 ombouwen tot een OPNsense-firewall en vervolgens werken aan opslag, opstartvolgorde, interface-toewijzing, omzetting naar accesspoint en beveiligingsplugins laat precies het soort praktische verkenning zien dat een homelab echt nuttig maakt.

We waarderen het vooral dat je het proces hebt gedeeld terwijl het nog in ontwikkeling was. Het waardevolle is niet alleen dat de firewall online kwam, maar ook dat andere gebruikers de beslissingen erachter kunnen zien: waarom OPNsense het hoofdbesturingssysteem werd, hoe het netwerk werd aangesloten, welke beveiligingsdiensten werden ingeschakeld, wat er tijdens de installatie misging en wat je hebt geleerd door die problemen zelf op te lossen.

— Zima

Maak kennis met Active_Learner05

Active_Learner05 omschrijft zichzelf als een manusje-van-alles, met ervaring op het gebied van kunst, gameontwikkeling, ruimtemissies, zendamateurisme en programmeren. Hoewel hij om gezondheidsredenen afstand heeft genomen van regulier werk, is hij blijven creëren door te schrijven, boeken uit te geven, digitale items te verkopen en nieuwe technische projecten te verkennen.

Die nieuwsgierigheid bracht twee ZimaBoard 2 1664-systemen naar zijn opstelling. Het ene werd een speciale beveiligingsapparaat voor het thuisnetwerk, gebaseerd op OPNsense. Het tweede ging een compleet andere richting op, met een eGPU en een oudere RTX 4060 Ti voor Ollama, Plex, IT Tools en andere experimenten. In dit verhaal ligt de focus op het eerste board: hoe hij er de firewall en router van maakte die centraal staan in zijn thuisnetwerk.

Je kunt Active_Learner05 volgen op Reddit om te zien hoe het project buiten deze pagina verdergaat.

Waarom ZimaBoard 2 het firewallplatform werd

De keuze begon bij de specificaties van de ZimaBoard 2 1664, niet bij één vooraf geplande toepassing. Active_Learner05 wilde hardware waarmee hij zijn bestaande kennis kon toepassen en tegelijk verder kon leren over netwerken, thuisbeveiliging, programmeren, productiviteit en andere zelfgehoste workloads.

Voor het firewallproject betekende dit dat hij het board als speciale OPNsense-host gebruikte, in plaats van ZimaOS als primair besturingssysteem te behouden. Zijn gepubliceerde configuratie vermeldt een Intel N150-processor, 16 GB geheugen, een Crucial-SSD van 500 GB en een OPNsense-stack met Suricata, Unbound, Zenarmor en CrowdSec.

ZimaBoard 2 1664 van Active_Learner05 aangesloten als onderdeel van een OPNsense-firewallopstelling voor het thuisnetwerk
In de fysieke netwerkopstelling bevindt ZimaBoard 2 zich direct in het routeringspad, met bekabelde verbindingen tussen de firewallhost en de rest van het thuisnetwerk.

OPNsense installeren op een SATA-SSD

De eerste keer opstarten verliep probleemloos. Active_Learner05 beschreef het board als eenvoudig te starten en bijna plug-and-play, maar de installatie van OPNsense vormde de eerste echte leermoment.

Hij wilde OPNsense vanaf een SATA-SSD draaien, in plaats van het fabrieksysteem op de interne eMMC te blijven gebruiken. Daarvoor moest de opstartconfiguratie worden gewijzigd, zodat de externe SSD de voorkeursdisk voor het besturingssysteem werd. In zijn bouwlog op Reddit beschreef hij hoe hij de fabrieksherstelomgeving van ZimaBoard installeerde voor toegang als fallback, installatiemedia voor OPNsense maakte en OPNsense vervolgens vanaf USB op de SSD installeerde.

Na de installatie werd zijn voorkeursvolgorde voor het opstarten:

1. SSD
2. CasaOS-herstelomgeving

Dit komt ook overeen met de hersteldocumentatie van ZimaSpace, waarin staat dat bij systemen die op een externe schijf zijn geïnstalleerd, de BIOS-opstartvolgorde of het opstartapparaat moet worden gewijzigd. De handleiding voor fabrieksherstel van ZimaBoard beschrijft de officiële herstelroute, terwijl de installatiehandleiding van OPNsense de firewallinstallatie zelf behandelt.

WAN, LAN en de extra interfaces toewijzen

Nadat OPNsense was geïnstalleerd, bestond de volgende stap uit het omzetten van Ethernetpoorten naar een echte routeringsindeling, in plaats van simpelweg kabels aan te sluiten en te hopen dat de standaardinstellingen bij de gewenste topologie pasten.

Active_Learner05 documenteerde de oorspronkelijke toewijzing van WAN en LAN en voegde daarna de resterende interfaces toe, waarbij hij extra poorten configureerde als OPT1 en OPT2. Hierdoor kon de firewall verschillende functies scheiden, in plaats van elke poort als onderdeel van één vlak netwerk te behandelen.

De upstream- en downstreamonderdelen waren bewust eenvoudig gehouden. Een ASUS-gamingrouter werd zonder fabrieksreset omgebouwd tot accesspoint, terwijl een plug-and-play D-Link DMS-105 2.5GbE-switch de bekabelde distributie verzorgde. De ZimaBoard 2 bevond zich tussen deze componenten als systeem dat verantwoordelijk was voor routering, firewallbeleid, DNS en netwerkbeveiligingsdiensten.

OPNsense- en Zenarmor-dashboard gedeeld bij het firewallproject van Active_Learner05 met ZimaBoard 2
Het OPNsense-dashboard biedt het firewallproject een zichtbare bedieningslaag, met zowel monitoring van systeembronnen als verkeers- en dreigingsinformatie van Zenarmor.

De beveiligingsstack rond OPNsense opbouwen

Dat pakketten van WAN naar LAN konden gaan, was nog maar het begin. Het interessantste onderdeel van de opstelling was de beveiligingsstack die Active_Learner05 boven op OPNsense toevoegde.

Unbound verzorgde de DNS-resolutie. Suricata voegde mogelijkheden voor inbraakdetectie en inspectie toe. Zenarmor bood inzicht in applicatiegericht verkeer en rapportage. CrowdSec voegde een extra laag toe voor het herkennen van en reageren op kwaadaardig gedrag.

Door die combinatie werd de ZimaBoard 2 meer dan alleen een vervanging voor een router van de internetprovider. Het werd een machine die hij actief kon inspecteren: diensten konden worden gecontroleerd, resourcegebruik kon worden gevolgd en netwerkgedrag kon worden onderzocht, in plaats van verborgen te blijven achter een vereenvoudigde interface van een consumentenrouter.

Weergave van de OPNsense-servicestatus uit het firewallproject van Active_Learner05 met ZimaBoard 2
In de gedeelde OPNsense-serviceweergave is de beveiligingsstack eenvoudig te inspecteren, inclusief de actieve routerings-, DNS-, monitoring- en beveiligingsdiensten op de firewall.
Weergave van systeemmonitoring in OPNsense uit het firewallproject met ZimaBoard 2
Dankzij monitoring van systeembronnen kon Active_Learner05 beter begrijpen hoe geheugen, CPU, firewallstatussen en systeemdiensten zich gedroegen naarmate de OPNsense-configuratie uitgebreider werd.

Wat hij van de eerste installatie leerde

Het project verliep niet volledig zonder problemen, en juist dat maakt het verhaal nuttig. Een uitdaging was het verlaten van het standaard opstartpad via eMMC, zodat OPNsense op de SATA-SSD kon staan. Een andere uitdaging deed zich voor tijdens een afzonderlijk PCIe-experiment: een verlengkabel die met een OCuLink-kaart werd gebruikt, werkte niet zoals verwacht. Hij concludeerde dat de kabellengte of compatibiliteit een betrouwbare gegevensoverdracht verhinderde.

Voor de firewall zelf meldde hij later dat het geheugengebruik afhankelijk van de activiteit opliep van ongeveer begin 40% tot begin 80%, terwijl het CPU-gebruik volgens zijn waarnemingen op dat moment piekte rond 50%. Hij merkte ook dat het board warmer werd onder de beveiligingsbelasting en voegde een oudere, temperatuurgestuurde AC Infinity-ventilator van 80 mm toe. Volgens hem verbeterde dat de temperaturen.

Die details zijn belangrijk omdat ze van deze pagina meer maken dan een samenvatting van een vlekkeloze installatie. Het is een echt homelabverhaal: het systeem werkte, maar het proces vereiste nog steeds dat hij leerde hoe opstartapparaten, interface-toewijzingen, plugins, temperaturen en uitbreidingshardware op elkaar inwerken.

Van consumentenrouter naar een netwerk dat je kunt inspecteren

De praktische verandering in het dagelijks gebruik was niet simpelweg het vervangen van de ene router door de andere. OPNsense gaf Active_Learner05 een netwerk dat hij kon onderzoeken.

Het accesspoint kon zich richten op wifi. De 2.5GbE-switch kon zich richten op distributie. ZimaBoard 2 kon zich richten op routering en beveiliging. Binnen OPNsense konden DNS, firewalldiensten, verkeersinspectie, inbraakdetectie en CrowdSec onafhankelijk worden gemonitord, in plaats van gebundeld te zijn in een ondoorzichtig apparaat.

Die scheiding sloot ook aan bij zijn oorspronkelijke reden om de hardware te kopen: de specificaties gebruiken als basis om bestaande kennis toe te passen en te blijven leren. De firewall was niet het einde van het experiment, maar een van de duidelijkste voorbeelden van hoe een algemeen x86-board kon uitgroeien tot een gespecialiseerd netwerkapparaat.

Twee ZimaBoard 2-systemen, twee verschillende richtingen

Het OPNsense-systeem is slechts één kant van de opstelling van Active_Learner05. Zijn tweede ZimaBoard 2 1664 ging de tegenovergestelde richting op, met een externe GPU en een RTX 4060 Ti voor Ollama, GPU-versnelde Plex, IT Tools en verdere experimenten.

Dat contrast helpt zijn benadering van ZimaBoard 2 te verklaren. Hij kocht niet twee identieke machines om twee identieke workloads te draaien. Het ene systeem werd netwerkinfrastructuur; het andere werd een platform voor GPU-, media- en AI-experimenten. De gemeenschappelijke factor is verkenning.

Het verhaal wordt nog steeds geschreven

Het verhaal van Active_Learner05 en Zima wordt nog steeds geschreven. Hij beschreef zichzelf als iemand die nog nieuw is met singleboardcomputers en nog steeds onderzoekt wat de hardware kan. Daardoor is deze OPNsense-firewall minder een voltooid eindpunt en meer een eerste serieuze netwerkopstelling rond het board.

Zijn advies in één zin aan toekomstige gebruikers was eenvoudig: "Probeer en verken." Bezoek voor de volledige firewallbespreking die nog in ontwikkeling is de oorspronkelijke OPNsense-opstelling met ZimaBoard 2 op Reddit. Je kunt ook Active_Learner05 volgen op Reddit terwijl het project verdergaat.