Sekundären DNS zum DirectAdmin Hosting-Panel hinzufügen
Warum Ihr DirectAdmin-Server einen sekundären DNS braucht

DirectAdmin verwendet typischerweise BIND (named) oder PowerDNS als DNS-Server. Standardmäßig hängen alle Domains von einem einzelnen Nameserver ab. Fällt dieser aus — bei Wartung, Hardware-Ausfall oder DDoS-Angriff — wird jede Domain unerreichbar. Besucher erhalten DNS-Fehler, E-Mails werden nicht zugestellt und Dienste laufen in ein Timeout.
Ein sekundärer DNS-Server hält eine synchronisierte Kopie aller Zonen via AXFR. Wenn der primäre nicht verfügbar ist, beantwortet der sekundäre weiterhin DNS-Anfragen. Ihre Websites, E-Mails und Dienste bleiben online.
Die meisten Domain-Registrare verlangen mindestens zwei Nameserver, RFC 2182 empfiehlt drei. Sekundärer DNS ist nicht nur Best Practice — im Produktivbetrieb ist er für einen zuverlässigen Betrieb unverzichtbar.
Sie haben noch keinen sekundären Nameserver? SecondDNS stellt einen in einer kostenlosen 3-monatigen Testphase bereit, ohne Kreditkarte — jetzt starten, dann folgen Sie den Schritten unten.
Wie DNS in DirectAdmin funktioniert
DirectAdmin unterstützt zwei DNS-Backends: BIND (named) und PowerDNS. Der Konfigurationsansatz unterscheidet sich zwischen beiden.
BIND (named): Zonen werden als Zonendateien unter /etc/named/ oder /var/named/ gespeichert. Zonentransfers werden in named.conf konfiguriert: allow-transfer erteilt dem sekundären Server die Berechtigung, die Zone abzuholen, und also-notify lässt BIND ein NOTIFY senden, damit der sekundäre Server die Zone sofort aktualisiert. Dies ist der traditionelle Ansatz, den die meisten Anleitungen beschreiben.
PowerDNS: DNS-Daten werden in einem Datenbank-Backend gespeichert. Transfers werden über allow-axfr-ips in pdns.conf gesteuert. Der SecondDNS-Installer erkennt automatisch, welches Backend Ihr Server verwendet, und konfiguriert die richtigen Direktiven.
In beiden Fällen verwaltet DirectAdmin DNS über Hook-Skripte. Wenn Sie eine Domain erstellen oder löschen, ruft DirectAdmin Skripte in /usr/local/directadmin/scripts/custom/ auf. Die SecondDNS-Integration installiert eigene Hooks an diesem Ort, um Zonen automatisch zu registrieren und zu entfernen — keine manuelle Zonenverwaltung erforderlich.
Wie die Sekundär-DNS-Integration funktioniert
Die SecondDNS-Integration für DirectAdmin verwendet Hook-Skripte, die DirectAdmin automatisch nach DNS-Ereignissen aufruft:
1. Beim Erstellen einer Domain oder eines Domain-Pointers — registriert der Hook die Zone bei SecondDNS über die API 2. SecondDNS lädt eine vollständige Kopie der Zone per AXFR 3. Beim Löschen einer Domain — entfernt der Hook sie aus SecondDNS
Alle Zonenänderungen werden automatisch über den NOTIFY-Mechanismus propagiert.
Voraussetzungen für sekundäres DNS mit DirectAdmin
Stellen Sie vor Beginn sicher, dass Sie Folgendes haben:
- DirectAdmin 1.6 oder neuer mit BIND/named oder PowerDNS - Root-Zugriff (sudo) auf den Server - Einen SecondDNS API-Schlüssel (unter seconddns.com/dashboard/api-key) - Die IP Ihres SecondDNS-Nameservers (im Dashboard unter Settings > Nameservers) - TCP-Port 53 eingehend für Anfragen der SecondDNS-IP freigegeben
Das Zonentransferprotokoll AXFR verwendet TCP-Port 53, nicht UDP. Viele Firewall-Konfigurationen öffnen nur UDP 53 für reguläre DNS-Anfragen. Wenn TCP 53 gesperrt ist, schlagen Zonentransfers stillschweigend fehl, auch wenn die normale DNS-Auflösung funktioniert.
TCP-Port 53 für DNS-Zonentransfers öffnen
Öffnen Sie vor dem Ausführen des Installers TCP-Port 53 für den SecondDNS-Server. Die IP finden Sie im Dashboard unter Settings > Nameservers. Ersetzen Sie SECONDARY_IP in den Befehlen.
Falls Sie UFW verwenden:
ufw allow from SECONDARY_IP to any port 53 proto tcp
ufw reloadFalls Sie iptables verwenden:
iptables -I INPUT -s SECONDARY_IP -p tcp --dport 53 -j ACCEPTFalls Sie nftables verwenden:
nft add rule inet filter input ip saddr SECONDARY_IP tcp dport 53 acceptUm zu prüfen, ob TCP-Port 53 von außen erreichbar ist:
nmap -p 53 -sT YOUR_SERVER_IPDer Installer konfiguriert allow-transfer (BIND) oder allow-axfr-ips (PowerDNS) automatisch auf Ihre SecondDNS-IP.
Sekundäres DNS auf DirectAdmin installieren
Als root ausführen:
curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/directadmin/install.sh | bash -s -- --api-key=YOUR_API_KEYDer Installer wird: - Ihren API-Schlüssel über die SecondDNS API prüfen - Die Server-IP erkennen (IPv4 und IPv6) - Fragen, welches Protokoll zu verwenden ist, wenn beide verfügbar sind - Das DNS-Backend erkennen (BIND oder PowerDNS) - Zonentransfers automatisch konfigurieren (allow-transfer erteilt die Berechtigung, also-notify aktiviert NOTIFY für BIND; allow-axfr-ips für PowerDNS) - Hook-Skripte nach /usr/local/directadmin/scripts/custom/ installieren - Anbieten, bestehende Domains zu synchronisieren
Ersetzen Sie YOUR_API_KEY durch den Schlüssel aus Ihrem SecondDNS-Dashboard. Der Installer beendet sich mit einem Fehlercode, wenn ein Schritt fehlschlägt.
Nameserver in DirectAdmin konfigurieren
Registrieren Sie nach der Installation den sekundären Nameserver in DirectAdmin.
Option 1: Über das DirectAdmin-Panel (empfohlen) Melden Sie sich als Admin an → Server Manager → Name Servers. Setzen Sie NS2 auf den Hostnamen Ihres SecondDNS-Nameservers (im Dashboard unter Settings > Nameservers). Mit dem Personalized NS Add-on verwenden Sie Ihren gebrandeten Hostnamen (z.B. ns2.yourdomain.com). Diese Einstellung wird automatisch für alle neuen Domains übernommen.
Option 2: DNS-Vorlage direkt bearbeiten
vi /usr/local/directadmin/data/templates/custom/dns_zone.confFalls das Verzeichnis nicht existiert, erstellen Sie es:
mkdir -p /usr/local/directadmin/data/templates/custom
cp /usr/local/directadmin/data/templates/dns_zone.conf /usr/local/directadmin/data/templates/custom/Fügen Sie einen NS-Eintrag hinzu, der auf Ihren SecondDNS-Nameserver-Hostnamen zeigt. Für bestehende Domains verwenden Sie das DNS-Management oder die Massen-DNS-Update-Funktion von DirectAdmin.
Bestehende Domains mit sekundärem DNS synchronisieren
Wenn Sie vor der Installation bereits Domains in DirectAdmin hatten, synchronisieren Sie diese:
seconddns syncDies vergleicht Ihre lokalen Zonen mit SecondDNS und fügt fehlende hinzu. Lokal gelöschte Domains werden vom sekundären Server entfernt. Der Befehl ist idempotent — sicher mehrfach ausführbar, ohne Duplikate zu erzeugen.
Um den Status einer bestimmten Zone zu prüfen:
seconddns status example.comUm alle Zonen auf dem sekundären Server aufzulisten:
seconddns listDirectAdmin-Sekundär-DNS-Einrichtung prüfen
Erstellen Sie eine Test-Domain in DirectAdmin und beobachten Sie das Hook-Log:
tail -f /var/log/seconddns.logSie sollten Folgendes sehen:
Zone created: testdomain.com (caller=create:domain, user=admin)
[+] Zone testdomain.com added to SecondDNSFragen Sie dann beide Nameserver ab. Ersetzen Sie SECONDARY_IP durch Ihre Nameserver-IP aus dem Dashboard:
dig @YOUR_SERVER_IP testdomain.com SOA +short
dig @SECONDARY_IP testdomain.com SOA +shortBeide sollten die gleiche SOA-Seriennummer im Format YYYYMMDDNN zurückgeben. Wenn der sekundäre eine niedrigere Seriennummer zeigt oder SERVFAIL zurückgibt, prüfen Sie den TCP-Port-53-Zugang und das Hook-Log.
Unterstützte Domain-Typen
Die Integration behandelt alle DirectAdmin-Domain-Typen:
- Hauptdomains (create:domain) - DNS-Zonen (create:zone) - Domain-Pointer (create:pointer)
Bei jedem dieser Typen wird der Hook automatisch ausgelöst, sobald er über das DirectAdmin-Panel oder die API erstellt oder gelöscht wird. Der Hook empfängt den Domainnamen, Benutzernamen und den Caller-Typ von DirectAdmin und leitet sie an SecondDNS weiter.
Fehlerbehebung für DirectAdmin-Sekundär-DNS
Zone erscheint nicht auf dem sekundären Server Prüfen Sie das Hook-Log /var/log/seconddns.log. Stellen Sie sicher, dass Hooks installiert sind und die Ausführungsrechte gesetzt sind:
ls -la /usr/local/directadmin/scripts/custom/dns_*_post.shFehlen die Dateien, führen Sie den Installer erneut aus. Falls die Ausführungsrechte fehlen:
chmod +x /usr/local/directadmin/scripts/custom/dns_*_post.shAXFR abgelehnt (BIND) Prüfen Sie named.conf auf allow-transfer mit Ihrer SecondDNS-IP:
grep -A3 'allow-transfer' /etc/named.confEine Änderung an allow-transfer ist eine Konfigurationsänderung; wenden Sie sie mit reconfig an (rndc reload liest nur Zonendaten neu):
rndc reconfigAXFR abgelehnt (PowerDNS) Prüfen Sie allow-axfr-ips in pdns.conf:
grep allow-axfr-ips /etc/pdns/pdns.confNach Änderungen PowerDNS neu starten:
systemctl restart pdnsTCP-Port 53 gesperrt Führen Sie den nmap-Test aus dem Firewall-Abschnitt aus. CSF-Nutzer: prüfen Sie, ob die SecondDNS-IP in /etc/csf/csf.allow eingetragen ist.
Hook manuell testen:
domain=example.com username=admin caller=create:domain /usr/local/directadmin/scripts/custom/dns_create_post.shHook wird nicht ausgelöst Prüfen Sie, ob das Hook-System von DirectAdmin aktiviert ist. Ältere DirectAdmin-Versionen erfordern eventuell explizite Aktivierung des custom-scripts-Verzeichnisses in der Konfiguration.
Deinstallation
Um die Integration zu entfernen:
curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/directadmin/uninstall.sh | bashDies entfernt Hook-Skripte und Konfigurationsdatei. Zonen auf dem sekundären DNS werden nicht automatisch gelöscht. Wenn Sie den sekundären Server vor der Deinstallation bereinigen möchten, entfernen Sie die Zonen über das SecondDNS-Dashboard oder führen Sie aus:
seconddns remove-allVerwandte Anleitungen
Wenn Sie andere Hosting-Panels verwalten oder Ihr DNS-Redundanz-Setup erweitern möchten, lesen Sie:
- Sekundären DNS zu CyberPanel hinzufügen - Sekundären DNS zu cPanel/WHM hinzufügen - Sekundären DNS zu Plesk hinzufügen - Sekundären DNS-Monitoring mit Nagios - Sekundären DNS-Monitoring mit Zabbix - So richten Sie einen sekundären DNS-Server ein - AXFR-Zonentransfers verstehen - DNS-Redundanz: Warum sie wichtig ist und wie Sie sie erreichen