# OPNsense Unbound DNS: High-Performance Resolving & Privacy

TL;DR / Management Summary Der Unbound DNS Resolver ist der Standard-Namensdienst in OPNsense. Im Gegensatz zu einfachen Forwardern löst er Anfragen selbstständig von der Wurzel (Root) an auf oder leitet sie verschlüsselt via DNS-over-TLS (DoT) an vertrauenswürdige Server weiter. Ein Senior Admin optimiert Unbound durch gezieltes Caching (Prefetching) und schützt das Netzwerk durch DNS-Blocklisten (Unbound DNSBL), um Werbung und Malware bereits auf Protokollebene zu blockieren.


# 1. Einführung & Architektur

Der iterative Resolver.

Unbound ist ein validierender, rekursiver Caching-DNS-Resolver.


# 2. Einrichtung in der Praxis

Performance-Tuning.

Services -> Unbound DNS -> Settings.

# 1. Caching optimieren

# 2. DNS-over-TLS (DoT) für Privatsphäre

Vermeiden Sie unverschlüsselte DNS-Anfragen, die der ISP mitlesen kann.

  1. Services -> Unbound DNS -> DNS over TLS.
  2. Add Server: 1.1.1.1, Port 853, CN: cloudflare-dns.com.
  3. Add Server: 9.9.9.9, Port 853, CN: dns.quad9.net.

# 3. Deep Dive: DNS-Blocklisten (DNSBL)

Werbung und Viren am Eingang stoppen.

OPNsense integriert eine mächtige Blacklist-Funktion direkt in Unbound. Services -> Unbound DNS -> Blacklist.

  1. Enable: Aktivieren.
  2. Type of List: Wählen Sie Listen wie StevenBlack oder Malwaredomains.
  3. Aktion: Unbound gibt für blockierte Domains die IP 0.0.0.0 zurück. Der Browser des Users kann die Seite gar nicht erst laden.

# 4. Day-2 Operations: Local Overrides

Interne Namen ohne AD.

Wenn Sie Dienste in Proxmox haben (z.B. proxmox.meinefirma.local), die keinen eigenen DNS-Server haben:


# 5. Troubleshooting & “War Stories”

Wenn die Namen verwirren.

# Top 3 Fehlerbilder

  1. Symptom: DNS-Auflösung geht gar nicht.

    • Ursache: Unbound wartet auf DNSSEC-Validierung, aber die Systemzeit (NTP) der OPNsense ist falsch.
    • Lösung: Uhrzeit manuell setzen oder DNSSEC temporär deaktivieren.
  2. Symptom: “NXDOMAIN” für interne Server.

    • Ursache: Domain-Suffix Mismatch oder Search-Domain nicht via DHCP verteilt.
    • Lösung: DHCP-Option 15 (Domain Name) prüfen.
  3. Symptom: Hohe CPU-Last durch Unbound.

    • Ursache: Zu viele riesige Blocklisten geladen (z.B. Millionen Einträge).
    • Lösung: Listen auf das Nötigste reduzieren.

# “War Story”: Der “DNS-Loop” des Grauens

Ein Admin konfiguriert OPNsense so, dass sie Anfragen an einen internen Windows-DC weiterleitet. Der Windows-DC wiederum hatte die OPNsense als Forwarder eingetragen. Das Ergebnis: Ein User fragte google.de an. OPNsense schickte an DC, DC schickte an OPNsense, OPNsense schickte an DC… Die Folge: Innerhalb von 10 Sekunden war die gesamte Bandbreite durch DNS-Pakete gesättigt und die CPU beider Server bei 100%. Lehre: Definieren Sie eine klare Hierarchie. OPNsense -> Internet ODER Windows-DC -> OPNsense. Niemals im Kreis!


# 6. Monitoring & Reporting

DNS-Statistiken.

# Unbound Metrics

Nutzen Sie das Dashboard-Widget “DNS-Leases” und prüfen Sie unter Reporting -> Settings das Logging von Unbound.


# 7. Fazit & Empfehlung

Unbound ist der heimliche Held der Netzwerkleistung.


# Anhang: Cheatsheet

Aufgabe Pfad / Befehl
DNS Cache leeren pluginctl -s unbound restart
Live Log (Shell) tail -f /var/log/unbound/unbound.log
DNS Test (Shell) drill @127.0.0.1 google.de
Overrides Services -> Unbound DNS -> Overrides

# Referenzen