OPNsense - DNSCrypt-Proxy

Aus maxTechCorner
(Weitergeleitet von OPNsense DNSCrypt)

Auf einen Blick

Gilt fürOPNsense 26.1 und 26.7 mit Plugin os-dnscrypt-proxy 1.17 (dnscrypt-proxy 2.1)
BereichIT-Security
Dauerca. 20 Minuten (Plugin, Server-Auswahl, Anbindung an Unbound, optional DNSBL)
RechteAdministrator (OPNsense-WebUI)
StandOktober 2026 (OPNsense 26.7.5)

DNSCrypt-Proxy in OPNsense verschlüsselt die DNS-Anfragen der Firewall auf dem Weg ins Internet. Das Plugin os-dnscrypt-proxy bindet den freien DNS-Proxy dnscrypt-proxy ein, der die Protokolle DNSCrypt v2, DNS over HTTPS (DoH) und Oblivious DoH (ODoH) beherrscht. Er wählt automatisch die schnellsten Server aus einer signierten öffentlichen Liste, kann Anfragen über Relays anonymisieren und bringt eigene DNS-Blocklisten gegen Werbung, Tracking, Phishing und Malware mit.

Dieser Artikel zeigt Installation und Grundeinstellungen, die empfohlene Kombination mit Unbound, Server-Auswahl und Filter, Anonymized DNS, Blocklisten, Forwarders, Overrides und Whitelists sowie Logs und Fehlerbehebung.

DNSCrypt-Proxy auf der OPNsense: Clients fragen Unbound, Unbound leitet alle Anfragen an dnscrypt-proxy auf 127.0.0.1:5353 weiter; dieser filtert per DNSBL und sendet die Anfragen verschlüsselt per DNSCrypt, DoH oder ODoH – optional über Relays – an die Resolver.

Warum DNS verschlüsseln?

Klassisches DNS läuft unverschlüsselt über UDP/TCP Port 53. Jeder auf dem Übertragungsweg – Provider, öffentliches WLAN, Angreifer – kann sehen, welche Domains aufgerufen werden, und Antworten manipulieren. DNSSEC schützt nur die Echtheit der Antworten, nicht die Vertraulichkeit.

Verfahren Transport Besonderheit
DNSCrypt v2 UDP/TCP, meist Port 443 eigenes Protokoll mit Signatur der Serverzertifikate; schnell, auch über UDP
DNS over HTTPS (DoH) HTTPS, Port 443 von normalem Webverkehr kaum zu unterscheiden, schwer zu blockieren
Oblivious DoH (ODoH) HTTPS über einen Relay Relay kennt die Absender-IP, aber nicht die Anfrage; der Resolver kennt die Anfrage, aber nicht die Absender-IP
DNS over TLS (DoT) TLS, Port 853 bietet dnscrypt-proxy nicht an; dafür reicht Unbound allein (siehe unten)

DNSCrypt-Proxy oder Unbound mit DNS over TLS?

Für reine Verschlüsselung braucht es kein Plugin: Unbound beherrscht unter Services → Unbound DNS → DNS over TLS bereits DoT zu ausgewählten Anbietern. DNSCrypt-Proxy lohnt sich, wenn

  • DoH oder DNSCrypt gewünscht ist (z. B. weil Port 853 im Netz blockiert wird),
  • die automatische Auswahl der schnellsten Server aus einer großen Liste mit Filtern (NoLog, DNSSEC, NoFilter) genutzt werden soll,
  • Anonymized DNS oder ODoH die Absenderadresse vor dem Resolver verbergen soll.

Installation und Grundeinstellungen

  1. System → Firmware → Plugins: os-dnscrypt-proxy installieren, Seite neu laden.
  2. Services → DNSCrypt-Proxy → Configuration, Reiter General.
Feld Standard Empfehlung
Enable DNSCrypt-Proxy aus aktivieren
Listen Address 0.0.0.0:5353 bei Betrieb hinter Unbound auf 127.0.0.1:5353 (und ggf. [::1]:5353) begrenzen
Use IPv4 Servers / Use IPv6 Servers an / aus IPv6 nur bei funktionierender IPv6-Anbindung
Use DNSCrypt Servers / Use DNS-over-HTTPS Servers an / an beide aktiv lassen
Use Oblivious-DNS-over-HTTPS Servers aus nur zusammen mit ODoH-Relays sinnvoll
Require DNSSEC aus aktivieren – nur Server mit DNSSEC-Validierung
Require NoLog an aktiv lassen – nur Server, die keine Anfragen protokollieren
Require NoFilter aus aus lassen, wenn auch filternde Server (z. B. Malware-Schutz) erlaubt sind
Server List leer (automatisch) bestimmte Server erzwingen, z. B. quad9-dnscrypt-ip4-filter-pri, cloudflare
Disabled Servers List leer einzelne Server ausschließen
Fallback Resolver 9.9.9.9:53 nur für das Laden der Serverliste beim Start (unverschlüsselt); interne oder Provider-DNS möglich
Cache / Cache Size an / 512 beibehalten; hinter Unbound cacht ohnehin Unbound
Enable query logs an für Fehlersuche; im Dauerbetrieb aus Datenschutzgründen prüfen
Timeout / Keepalive 2500 ms / 30 s beibehalten

Weitere Optionen: Force TCP, Proxy (SOCKS5, z. B. für Tor), Block IPv6 (AAAA-Anfragen sofort beantworten), Ephemeral Keys (für DNSCrypt neue Schlüssel pro Anfrage) und TLS Disable Session Tickets.

Die öffentliche Serverliste (public-resolvers) und die Relay-Listen lädt dnscrypt-proxy aus dem Projekt DNSCrypt-Resolvers, prüft deren Minisign-Signatur und aktualisiert sie alle 72 Stunden.

Empfohlener Aufbau: Unbound vor DNSCrypt-Proxy

Bewährt ist die Kombination: Clients fragen weiterhin Unbound auf Port 53 – mit Hostnamen aus DHCP, Overrides, Blocklisten und Cache –, und Unbound leitet alle externen Anfragen an dnscrypt-proxy weiter.

  1. DNSCrypt-Proxy: Listen Address 127.0.0.1:5353, Save.
  2. Services → Unbound DNS → Query Forwarding: Eintrag ohne Domain (alle Anfragen), Server 127.0.0.1, Port 5353. OPNsense setzt für Weiterleitungen an localhost automatisch do-not-query-localhost: no.
  3. Auf derselben Seite Use System Nameservers deaktiviert lassen, damit Unbound nicht zusätzlich die (unverschlüsselten) DNS-Server des Providers fragt; Änderungen übernehmen.
  4. Test: Interfaces → Diagnostics → DNS Lookup bzw. von einem Client nslookup www.max-it.de; im Log Log / Queries erscheinen die Anfragen.

Alternativ kann dnscrypt-proxy seit Plugin-Version 1.13 als alleiniger DNS-Server der Firewall auf Port 53 laufen. Dann muss Unbound deaktiviert oder auf einen anderen Port gelegt werden, und Funktionen wie DHCP-Hostnamen entfallen – für die meisten Umgebungen ist der Aufbau mit Unbound die bessere Wahl.

DNS-Umgehung verhindern

Damit Clients nicht an der Firewall vorbei unverschlüsselt fragen, sollte ausgehender DNS-Verkehr (Port 53) in den Firewall-Regeln nur zur Firewall erlaubt oder per Destination NAT auf Unbound umgeleitet werden. Port 853 (DoT) lässt sich blockieren; DoH von Clients (Browser) ist über Port 443 nur per Richtlinie im Browser, DNS-Blocklisten für bekannte DoH-Server oder einen Proxy einzuschränken.

Anonymized DNS und ODoH

Mit Anonymized DNS laufen DNSCrypt-Anfragen über einen Relay: Der Relay sieht die Absender-IP, kann die verschlüsselte Anfrage aber nicht lesen; der Resolver sieht die Anfrage, aber nur die IP des Relays.

  • Im Feld Relay List die Namen der Relays eintragen (z. B. anon-cs-de, anon-cs-nl) – die Namen stehen in der öffentlichen Liste relays.md. Das Plugin leitet dann alle Server über diese Relays.
  • Relay und Resolver sollten von unterschiedlichen Betreibern stammen.
  • Für ODoH zusätzlich Use Oblivious-DNS-over-HTTPS Servers aktivieren und passende ODoH-Server und -Relays wählen.
  • Anonymisierung kostet Latenz; Unbound-Cache und dnscrypt-proxy-Cache gleichen das im Alltag weitgehend aus.

DNS-Blocklisten (DNSBL)

Reiter DNSBL: Enable DNSBL and RPZ aktivieren und unter Type of DNSBL eine oder mehrere Listen wählen, u. a.:

  • Werbung und Tracking: AdGuard List, AdAway List, Easy List, Easyprivacy List, Steven Black List, Simple Ad/Tracker List, YoYo List
  • Kombinierte Listen: OISD big/small (wildcard), OISD NSFW
  • Telemetrie: WindowsSpyBlocker (spy, update, extra)
  • Krypto-Mining: NoCoin List; Phishing/Betrug: Blocklist.site Phishing/Fraud
  • Q-Feeds – erscheint, wenn das Plugin Q-Feeds installiert ist (Malware-, Phishing- und C2-Domains)

Die Listen werden beim Speichern geladen. Für regelmäßige Updates unter System → Settings → Cron einen Job mit dem Befehl Download DNSCrypt-Proxy DNSBLs and restart anlegen (z. B. täglich nachts). Blockierte Anfragen protokolliert dnscrypt-proxy in /var/log/dnscrypt-proxy/blocked.log.

Wer bereits die Blocklisten von Unbound nutzt, sollte nicht doppelt filtern – entweder in Unbound oder in dnscrypt-proxy blockieren, das erleichtert die Fehlersuche.

Forwarders, Overrides und Whitelists

Reiter Zweck Beispiel
Forwarders Domains an bestimmte DNS-Server weiterleiten (forwarding-rules) ad.example.internal → 192.168.10.10 (Domain Controller)
Overrides feste Antworten für Namen (cloaking-rules) nas.example.internal → 192.168.10.20
Whitelists Namen, die trotz Blockliste aufgelöst werden *.microsoft.com
Servers eigene Server per SDNS Stamp hinzufügen (z. B. eigener DoH-Server) Stamp aus dem Stamp-Calculator von dnscrypt.info (Präfix sdns:// ergänzt das Plugin)

Im Aufbau mit Unbound gehören interne Domains und Overrides besser in Unbound, da dnscrypt-proxy dann nur noch externe Anfragen sieht.

Logs und Fehlerbehebung

Unter Services → DNSCrypt-Proxy stehen Log / General, Log / Queries und Log / NX (nicht existierende Domains) bereit.

Symptom Ursache und Lösung
Dienst startet nicht Port bereits belegt (z. B. 53 durch Unbound oder Dnsmasq) – anderen Port wählen; das Plugin verhindert doppelte Ports.
Keine Auflösung nach dem Start Serverliste konnte nicht geladen werden: Fallback Resolver erreichbar? Ausgehende Verbindungen auf Port 443 erlaubt? Uhrzeit korrekt (Zertifikate)?
Keine Server nach Filterung Kombination aus Require DNSSEC/NoLog/NoFilter, IPv6-only und Relay zu streng – Filter lockern oder Server List setzen.
Langsame Auflösung Relays weit entfernt oder ODoH aktiv – nähere Relays wählen; Cache aktiv lassen.
Webseite fehlt / „Seite nicht gefunden“ Domain in DNSBL – blocked.log prüfen, Eintrag unter Whitelists ergänzen.
Interne Namen nicht auflösbar Clients fragen dnscrypt-proxy direkt – interne Domain in Unbound oder unter Forwarders eintragen.

Fazit

DNSCrypt-Proxy macht die DNS-Anfragen der OPNsense vertraulich und manipulationssicher: Mit DNSCrypt und DoH, automatischer Auswahl protokollierungsfreier Server mit DNSSEC, optionaler Anonymisierung über Relays und eingebauten Blocklisten ist er eine starke Ergänzung zu Unbound. Im bewährten Aufbau bleibt Unbound der DNS-Server für die Clients und reicht externe Anfragen an dnscrypt-proxy auf 127.0.0.1:5353 weiter – ergänzt um Firewall-Regeln, die DNS-Umgehung verhindern.

Unterstützung von m.a.x. it

Sie möchten DNS in Ihrem Netz verschlüsseln, Blocklisten und Threat-Intelligence einbinden oder DNS-Umgehung zuverlässig unterbinden? m.a.x. it unterstützt Sie als OPNsense-Gold-Partner mit OPNsense-Firewall-Services von m.a.x. it und einer Managed Firewall von m.a.x. it.

Siehe auch

Links und Quellen


Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung? Kontakt aufnehmen