Jak dodac wtorny DNS do panelu hostingowego DirectAdmin
Dlaczego Twoj serwer DirectAdmin potrzebuje wtornego DNS

DirectAdmin zazwyczaj uzywa BIND (named) lub PowerDNS jako serwera DNS. Domyslnie wszystkie domeny polegaja na jednym serwerze nazw. Jesli ten serwer zawiedzie — podczas konserwacji, awarii sprzetu lub ataku DDoS — kazda domena staje sie nieosiagalna. Odwiedzajacy otrzymuja bledy rozwiazywania nazw DNS, poczta przestaje byc dostarczana, a uslugi przekraczaja limity czasu oczekiwania.
Wtorny serwer DNS utrzymuje zsynchronizowana kopie wszystkich stref przez AXFR (autorytatywny transfer strefy). Gdy serwer glowny jest niedostepny, wtorny nadal odpowiada na zapytania DNS dla Twoich domen. Twoje strony internetowe, poczta i uslugi dzialaja dalej.
Wiekszosc rejestratorow wymaga co najmniej dwoch serwerow nazw, a RFC 2182 zaleca trzy dla srodowisk produkcyjnych. Dodanie wtornego DNS to nie tylko dobra praktyka — to warunek niezawodnosci w srodowisku produkcyjnym.
Nie masz jeszcze wtórnego serwera nazw? SecondDNS udostępnia go w bezpłatnym 3-miesięcznym okresie próbnym, bez karty — zacznij tutaj, a potem wykonaj kroki poniżej.
Jak dziala DNS w DirectAdmin
DirectAdmin obsluguje dwa backendy DNS: BIND (named) i PowerDNS. Konfiguruje sie je inaczej.
BIND (named): Strefy sa przechowywane jako pliki stref tekstowych w /etc/named/ lub /var/named/. Transfery stref konfiguruje sie w named.conf: allow-transfer nadaje serwerowi wtornemu uprawnienie do pobrania strefy, a also-notify sprawia, ze BIND wysyla NOTIFY, aby serwer wtorny od razu sie zaktualizowal. To tradycyjne podejscie opisywane w wiekszosci poradnikow.
PowerDNS: Dane DNS sa przechowywane w backendzie bazy danych. Transfery sa kontrolowane przez allow-axfr-ips w pdns.conf. Instalator SecondDNS automatycznie wykrywa, ktorego backendu uzywa Twoj serwer, i konfiguruje odpowiednie dyrektywy.
W obu przypadkach DirectAdmin zarzadza DNS przez skrypty hook. Gdy tworzysz lub usuwasz domene, DirectAdmin wywoluje skrypty w /usr/local/directadmin/scripts/custom/. Integracja SecondDNS instaluje wlasne skrypty Hook w tej lokalizacji, ktore automatycznie rejestruja i wyrejestrowuja strefy — nie musisz zarzadzac strefami recznie.
Jak działa integracja wtórnego DNS
Integracja SecondDNS dla DirectAdmin uzywa skryptow Hook, ktore DirectAdmin wywoluje automatycznie w reakcji na zdarzenia DNS:
1. Gdy tworzysz domene lub domain pointer — Hook rejestruje strefe w SecondDNS przez API 2. SecondDNS pobiera pelna kopie strefy z Twojego serwera przez AXFR 3. Gdy usuwasz domene — hook usuwa ja z SecondDNS
Wszystkie zmiany stref rozchodza sie automatycznie dzieki mechanizmowi NOTIFY w BIND/PowerDNS. Zadnych recznych krokow, zadan crona ani przestarzalych rekordow.
Wymagania wtórnego DNS dla DirectAdmin
Zanim zaczniesz, upewnij sie, ze masz:
- DirectAdmin 1.6 lub nowszy z BIND/named lub PowerDNS - Dostep root (sudo) do serwera - Klucz API SecondDNS (na seconddns.com/dashboard/api-key) - IP Twojego serwera nazw SecondDNS (w panelu pod Settings > Nameservers) - Port TCP 53 otwarty na polaczenia przychodzace z IP serwera SecondDNS
Protokol transferu stref AXFR uzywa portu TCP 53, a nie UDP. Wiele konfiguracji zapory sieciowej otwiera tylko UDP 53 dla zwyklych zapytan DNS. Jesli TCP 53 jest zablokowany, transfery stref beda zawodzic bez ostrzezenia, nawet jesli normalne rozwiazywanie nazw DNS dziala.
Otwórz port TCP 53 dla transferów stref DNS
Przed uruchomieniem instalatora otworz port TCP 53 dla serwera SecondDNS. Znajdz IP w panelu pod Settings > Nameservers i zastap SECONDARY_IP w poleceniach.
Jesli uzywasz UFW:
ufw allow from SECONDARY_IP to any port 53 proto tcp
ufw reloadJesli uzywasz iptables:
iptables -I INPUT -s SECONDARY_IP -p tcp --dport 53 -j ACCEPTJesli uzywasz nftables:
nft add rule inet filter input ip saddr SECONDARY_IP tcp dport 53 acceptAby sprawdzic czy port TCP 53 jest osiagalny z zewnatrz:
nmap -p 53 -sT YOUR_SERVER_IPInstalator automatycznie konfiguruje allow-transfer (BIND) lub allow-axfr-ips (PowerDNS) na Twoj IP SecondDNS po podaniu klucza API.
Zainstaluj wtórny DNS na DirectAdmin
Uruchom jako root:
curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/directadmin/install.sh | bash -s -- --api-key=YOUR_API_KEYInstalator: - Weryfikuje klucz API przez API SecondDNS - Wykrywa IP serwera (IPv4 i IPv6) - Pyta, ktorego protokolu uzyc, jesli oba sa dostepne - Wykrywa backend DNS (BIND lub PowerDNS) - Konfiguruje transfery stref automatycznie (allow-transfer nadaje uprawnienie, also-notify wlacza NOTIFY dla BIND; allow-axfr-ips dla PowerDNS) - Instaluje skrypty hook w /usr/local/directadmin/scripts/custom/ - Proponuje synchronizacje istniejacych domen
Zastap YOUR_API_KEY kluczem z Twojego panelu SecondDNS. Instalator zwraca niezerowy kod wyjścia, jeśli któryś z kroków się nie powiedzie.
Skonfiguruj serwery nazw w DirectAdmin
Po instalacji zarejestruj wtorny serwer nazw w DirectAdmin.
Opcja 1: Przez panel DirectAdmin (zalecane) Zaloguj sie jako Admin → Server Manager → Name Servers. Ustaw NS2 na hostname Twojego serwera nazw SecondDNS (w panelu pod Settings > Nameservers). Z dodatkiem Personalized NS uzyj swojego brandowanego hostname (np. ns2.yourdomain.com). Ustawienie jest automatycznie stosowane do wszystkich nowych domen.
Opcja 2: Edycja szablonu DNS bezposrednio
vi /usr/local/directadmin/data/templates/custom/dns_zone.confJesli katalog nie istnieje, utworz go:
mkdir -p /usr/local/directadmin/data/templates/custom
cp /usr/local/directadmin/data/templates/dns_zone.conf /usr/local/directadmin/data/templates/custom/Dodaj rekord NS wskazujacy na hostname Twojego serwera nazw SecondDNS. Dla istniejacych domen skorzystaj z menedzera DNS w DirectAdmin lub z funkcji masowej aktualizacji DNS.
Zsynchronizuj istniejące domeny z wtórnym DNS
Jesli mialesz domeny w DirectAdmin przed instalacja, zsynchronizuj je z serwerem wtornym:
seconddns syncPolecenie porownuje Twoje lokalne strefy z SecondDNS i dodaje brakujace. Domeny usuniete lokalnie sa usuwane z serwera wtornego. Polecenie jest idempotentne — można je uruchamiać wielokrotnie bez tworzenia duplikatów.
Aby sprawdzic konkretna strefe:
seconddns status example.comAby wylistowac wszystkie strefy na serwerze wtornym:
seconddns listZweryfikuj konfigurację wtórnego DNS w DirectAdmin
Utworz testowa domene w DirectAdmin i obserwuj log skryptow Hook:
tail -f /var/log/seconddns.logPowinienes zobaczyc:
Zone created: testdomain.com (caller=create:domain, user=admin)
[+] Zone testdomain.com added to SecondDNSNastepnie odpytaj oba serwery nazw. Zastap SECONDARY_IP IP Twojego serwera nazw z panelu:
dig @YOUR_SERVER_IP testdomain.com SOA +short
dig @SECONDARY_IP testdomain.com SOA +shortOba powinny zwracac ten sam numer seryjny SOA w formacie YYYYMMDDNN. Jesli serwer wtorny pokazuje nizszy numer lub zwraca SERVFAIL, sprawdz dostep do portu TCP 53 i log skryptow Hook.
Obslugiwane typy domen
Integracja obsluguje wszystkie typy domen DirectAdmin:
- Domeny glowne (create:domain) - Strefy DNS (create:zone) - Domain pointer (create:pointer)
Kazdy typ automatycznie uruchamia skrypt Hook przy tworzeniu lub usuwaniu przez panel albo API DirectAdmin. Hook otrzymuje nazwe domeny, nazwe uzytkownika i typ wywolania (caller) od DirectAdmin i przekazuje je do SecondDNS.
Rozwiązywanie problemów z wtórnym DNS w DirectAdmin
Strefa nie pojawia sie na serwerze wtornym Sprawdz log hookow /var/log/seconddns.log. Upewnij sie ze hooki są zainstalowane i mają ustawiony bit wykonywalności:
ls -la /usr/local/directadmin/scripts/custom/dns_*_post.shJesli brakuje plikow, uruchom instalator ponownie. Jesli istnieja ale nie mają ustawionego bitu wykonywalności:
chmod +x /usr/local/directadmin/scripts/custom/dns_*_post.shAXFR odrzucony (BIND) Sprawdz named.conf dla allow-transfer z IP SecondDNS:
grep -A3 'allow-transfer' /etc/named.confZmiana allow-transfer to zmiana konfiguracji; wprowadz ja poleceniem reconfig (rndc reload tylko ponownie wczytuje dane stref):
rndc reconfigAXFR odrzucony (PowerDNS) Sprawdz allow-axfr-ips w pdns.conf:
grep allow-axfr-ips /etc/pdns/pdns.confPo zmianach zrestartuj PowerDNS:
systemctl restart pdnsPort TCP 53 zablokowany Uruchom test nmap z sekcji zapory. Uzytkownicy CSF: sprawdz, czy IP SecondDNS jest w /etc/csf/csf.allow.
Testowanie hooka recznie:
domain=example.com username=admin caller=create:domain /usr/local/directadmin/scripts/custom/dns_create_post.shHook nie jest wyzwalany Sprawdz, czy system skryptow Hook w DirectAdmin jest wlaczony. W starszych wersjach moze byc konieczne reczne wlaczenie katalogu skryptow niestandardowych.
Deinstalacja
Aby usunac integracje:
curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/directadmin/uninstall.sh | bashUsuwa skrypty Hook i plik konfiguracyjny. Strefy na serwerze wtornym nie sa usuwane automatycznie — usun je przez panel SecondDNS lub uruchom:
seconddns remove-allprzed deinstalacja, jesli chcesz wyczyscic serwer wtorny.
Powiazane przewodniki
Jesli zarzadzasz innymi panelami hostingowymi lub chcesz rozszerzyc konfiguracje redundancji DNS, zapoznaj sie z:
- Jak dodac wtorny DNS do CyberPanel - Jak dodac wtorny DNS do cPanel/WHM - Jak dodac wtorny DNS do Plesk - Monitorowanie wtornego DNS przez Nagios - Monitorowanie wtornego DNS przez Zabbix - Jak skonfigurować wtórny serwer DNS - Jak działają transfery stref AXFR - Redundancja DNS: dlaczego ma znaczenie i jak ją osiągnąć