OPNsense - DNSCrypt-Proxy
Auf einen Blick
| Gilt für | OPNsense 26.1 und 26.7 mit Plugin os-dnscrypt-proxy 1.17 (dnscrypt-proxy 2.1) |
|---|---|
| Bereich | IT-Security |
| Dauer | ca. 20 Minuten (Plugin, Server-Auswahl, Anbindung an Unbound, optional DNSBL) |
| Rechte | Administrator (OPNsense-WebUI) |
| Stand | Oktober 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.

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
- System → Firmware → Plugins: os-dnscrypt-proxy installieren, Seite neu laden.
- 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.
- DNSCrypt-Proxy: Listen Address
127.0.0.1:5353, Save. - Services → Unbound DNS → Query Forwarding: Eintrag ohne Domain (alle Anfragen), Server
127.0.0.1, Port5353. OPNsense setzt für Weiterleitungen an localhost automatischdo-not-query-localhost: no. - Auf derselben Seite Use System Nameservers deaktiviert lassen, damit Unbound nicht zusätzlich die (unverschlüsselten) DNS-Server des Providers fragt; Änderungen übernehmen.
- 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
- OPNsense - Unbound DNS Resolver
- OPNsense - Q-Feeds Threat Intelligence
- OPNsense - Firewall-Regeln
- OPNsense - NAT und Portweiterleitungen
- OPNsense - Plugin-Liste
- DoH
- DNSSEC
Links und Quellen
- OPNsense-Doku – DNSCrypt-Proxy
- dnscrypt-proxy – Projektseite und Wiki
- DNSCrypt – öffentliche Server und Relays
- OPNsense-Plugins – os-dnscrypt-proxy (Quellcode)
- m.a.x. it – OPNsense-Firewall-Services
Ü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?
