Skip to content

RackNerd Hosting Deals

Homelab Rebuild 2026 — Overview

This section documents a complete rebuild of a personal homelab and privacy stack from the ground up. Rather than just adding services on top of a consumer router, this rebuild takes a different approach: every layer — network, DNS, remote access, authentication, and identity — is purpose-built, open-source where possible, and designed with privacy and security as first-class requirements.

If you're running a similar setup or planning to level up from a consumer router, these guides are written from real experience, including the gotchas that most docs skip over.

Goals

  • Open-source routing — replace a consumer mesh router with OPNsense running on x86 hardware
  • Full DNS sovereignty — no DNS queries leaving to Cloudflare, Google, or the ISP
  • Encrypted remote access — WireGuard VPN built into the router, zero exposed ports
  • Public services without port forwarding — Cloudflare Tunnels as the only inbound path
  • Hardware-bound authentication — YubiKey FIDO2 for SSH and account security
  • Identity privacy — Proton Mail with custom domain, no dependency on Big Tech for email

Architecture Overview

flowchart TD
    Internet([Internet]) --> ISP[ISP Modem/ONT]
    ISP --> OPN[OPNsense Firewall\nZimaboard 2]

    OPN --> IDS[Suricata IDS\nInline detection]
    OPN --> DNS[Pi-hole\nNetwork DNS]
    DNS --> UNB[Unbound\nRecursive resolver]
    UNB --> Root([Root DNS servers])

    OPN --> WG[WireGuard VPN\nKernel-level]
    WG --> Clients([Remote devices\niPhone / MacBook])

    OPN --> Mesh[TP-Link Deco\nAccess Point mode]
    Mesh --> Devices([LAN devices])

    OPN --> NPM[Nginx Proxy Manager\nInternal TLS]
    NPM --> Services([Self-hosted services])

    CF[Cloudflare Tunnels\nZero exposed ports] --> Services
    Internet --> CF

    subgraph Identity
        PM[Proton Mail]
        PW[Proton Pass]
        YK[YubiKey FIDO2]
        PA[Proton Authenticator]
    end

Component List

Network Layer

Component Role
OPNsense on Zimaboard 2 Router, firewall, DHCP, DNS forwarder
TP-Link Deco (AP mode) Wi-Fi access points only, routing disabled
Suricata IDS Inline intrusion detection

DNS Layer

Component Role
Pi-hole Network-wide ad/tracker blocking, LAN DNS
Unbound (on OPNsense) Recursive resolver, DNSSEC validation
Dnsmasq (on OPNsense) DHCP + local hostname resolution

Remote Access

Component Role
WireGuard (OPNsense) Kernel-level VPN, split or full tunnel
Cloudflare Tunnels Outbound-only path for public services

Identity & Authentication

Component Role
Proton Mail Privacy-first email on custom domain
Proton Pass Password manager
Proton Authenticator TOTP 2FA
YubiKey (×2) FIDO2 SSH, account hardware keys

Device Security (macOS)

Component Role
FileVault Full disk encryption
LuLu Outbound application firewall
BlockBlock Persistence monitor
OverSight Mic/camera access alerts

Section Guide

Page What it covers
OPNsense on Zimaboard 2 Hardware setup, install, initial config, DHCP, cutover
Pi-hole + Unbound DNS Full DNS sovereignty stack, DNSSEC, ad blocking
WireGuard VPN Router-level WireGuard, split/full tunnel, firewall + NAT rules
YubiKey SSH FIDO2 SSH with ed25519-sk keys, macOS setup
Cloudflare Tunnels Public services with zero port exposure
Internal Hostnames NPM + Pi-hole local DNS, internal TLS
Proton Mail Migration Custom domain email migration, MX/SPF/DKIM/DMARC
macOS Hardening Native protections + Objective-See toolkit
Architecture Diagram Full stack diagram with all layers


If there is an issue with this guide or you wish to suggest changes, please raise an issue on GitHub.