# OPNsense DNS Zones: BIND als autoritativer Namensserver
TL;DR / Management Summary Während Unbound (Artikel 579) für die Auflösung externer Namen zuständig ist, nutzen wir das BIND-Plugin in OPNsense, wenn wir selbst “Besitzer” einer Domain im LAN sein wollen (z.B.
int.firma.de). BIND agiert als autoritativer DNS-Server, der die Master-Daten für eine Zone hält. Ein Senior Admin nutzt BIND für komplexe Szenarien mit Reverse-Lookup-Zonen und zur Bereitstellung von SRV-Records für Nicht-AD-Umgebungen.
# 1. Einführung & BIND-Architektur
Der Internet-Standard.
BIND (Berkeley Internet Name Domain) ist die weltweit am häufigsten genutzte DNS-Software.
- Autoritativ: Er gibt definitive Antworten für seine Zonen (kein Raten, kein Weiterleiten).
- Records: Unterstützt alle Typen (A, AAAA, MX, CNAME, TXT, SRV, PTR).
- Sicherheit: Ermöglicht Zonentransfers (AXFR) nur an autorisierte Slaves.
# 2. Einrichtung in der Praxis
Die eigene Zone bauen.
# Schritt 1: Plugin installieren
System -> Firmware -> Plugins. Installieren Sie os-bind.
# Schritt 2: Master Zone erstellen
Services -> BIND -> DNS -> Master Zones.
- Zone Name:
int.firma.de. - Contact:
admin.firma.de. - Allow Query:
any(oder auf LAN-Subnetz einschränken).
# Schritt 3: Records hinzufügen
Services -> BIND -> DNS -> Records.
- Type: A:
proxy->10.0.0.10. - Type: CNAME:
www->proxy.int.firma.de. - Type: MX: (Priority 10) ->
mail.int.firma.de.
# 3. Deep Dive: Reverse Lookup (PTR)
IP zu Name.
Für viele Dienste (und zur Vermeidung von Spam-Markierungen) ist eine Reverse-Zone Pflicht.
- Erstellen Sie eine Master Zone für das Netz (z.B.
0.0.10.in-addr.arpafür10.0.0.0/24). - Fügen Sie PTR Records hinzu:
10->proxy.int.firma.de.
# 4. Day-2 Operations: BIND und Unbound koexistieren
Die Arbeitsteilung.
Häufige Konfiguration:
- Unbound lauscht auf Port 53 für die Clients (Resolver).
- BIND lauscht auf einem alternativen Port (z.B. 5353) oder einer anderen IP.
- Aktion: In Unbound wird ein Domain Override erstellt: “Für
int.firma.defrage BIND auf127.0.0.1:5353”.
# 5. Troubleshooting & “War Stories”
Wenn die Zone nicht lädt.
# Top 3 Fehlerbilder
-
Symptom: BIND startet nicht.
- Ursache: Syntaxfehler in der Zonen-Konfiguration oder Port-Konflikt mit Unbound.
- Lösung: Log-File
/var/log/bind/bind.logprüfen.
-
Symptom: Änderungen an Records werden nicht aktiv.
- Ursache: Die Serial Number der Zone wurde nicht erhöht.
- Lösung: OPNsense erledigt das meist automatisch beim Speichern, im Zweifel Zone manuell neu laden.
-
Symptom: Zonentransfer zum Slave schlägt fehl.
- Lösung:
Allow TransferListe in der Master Zone prüfen.
- Lösung:
# “War Story”: Das “Veraltete” SOA-Drama
Ein Admin änderte Records via Shell direkt in den BIND-Files, statt die GUI zu nutzen. Das Ergebnis: Die Slaves an den Außenstellen luden die neuen Daten nicht herunter, da die SOA-Seriennummer nicht hochgezählt wurde. Die Außenstellen leiteten den Traffic tagelang an einen gelöschten Server. Lehre: Nutzen Sie in OPNsense immer die GUI oder die API für DNS-Änderungen. Das System stellt sicher, dass alle Header-Daten (SOA) korrekt aktualisiert werden.
# 6. Monitoring & Reporting
DNS-Integrität.
# Zone Check (Shell)
# Prüft die Syntax der BIND-Konfiguration
named-checkconf /usr/local/etc/namedb/named.conf
# Prüft eine spezifische Zone
named-checkzone int.firma.de /usr/local/etc/namedb/master/int.firma.de.db
# 7. Fazit & Empfehlung
BIND ist das Kraftpaket für statische Namensauflösung.
- Empfehlung: Nutzen Sie BIND, wenn Sie eigene interne Domains verwalten, die über einfache Host-Overrides hinausgehen.
- Wichtig: Sichern Sie Ihre Zonen-Daten regelmäßig (Artikel 544), da der manuelle Wiederaufbau eines komplexen DNS-Baums extrem zeitaufwendig ist.
# Anhang: Die wichtigsten Record-Typen
| Typ | Zweck | Beispiel |
|---|---|---|
| A | IPv4 Adresse | host.de -> 1.2.3.4 |
| AAAA | IPv6 Adresse | host.de -> 2001:... |
| CNAME | Alias Name | www.de -> host.de |
| SRV | Dienst-Location | _ldap._tcp.de -> dc01.de |
| TXT | Text-Infos | v=spf1 ... |