Przewodniki

Jak dodać wtórny DNS do panelu hostingowego Plesk

Dlaczego serwer Plesk potrzebuje wtórnego DNS

Wtórny serwer DNS dla Plesk — usługa wtórnego DNS przez REST API

Plesk używa BIND jako serwera DNS. Domyślnie wszystkie domeny opierają się na jednym serwerze nazw. Jeśli ten serwer przestanie działać — z powodu konserwacji, awarii sprzętu czy ataku DDoS — każda domena staje się nieosiągalna. Odwiedzający widzą błędy DNS, poczta przestaje docierać, a usługi przekraczają limit czasu.

Wtórny serwer DNS przechowuje zsynchronizowaną kopię wszystkich stref przez AXFR (autorytatywny transfer strefy). Gdy serwer główny jest niedostępny, wtórny dalej odpowiada na zapytania DNS dla domen. Witryny, poczta i usługi pozostają dostępne.

Większość rejestratorów domen wymaga co najmniej dwóch serwerów nazw, a RFC 2182 zaleca trzy dla środowisk produkcyjnych. Dodanie wtórnego DNS to nie tylko dobra praktyka — to warunek niezawodności w środowisku 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 działa DNS w Plesk

Plesk uruchamia BIND (named) i zarządza jego konfiguracją przez własne szablony DNS. To kluczowa rzecz do zrozumienia: na serwerze Plesk nie edytujesz named.conf ręcznie, ponieważ Plesk odtwarza ten plik za każdym razem, gdy przebudowuje konfigurację DNS. Każda ręczna zmiana w named.conf może zostać nadpisana, gdy Plesk następnym razem przebuduje strefę.

Liczą się dwie warstwy:

1. Szablony DNS (Tools & Settings > DNS Settings) określają, jakie rekordy otrzymuje każda nowa strefa — w tym to, które serwery nazw są wymienione w rekordach NS. 2. Transfer Restrictions Template oraz ustawienia DNS dla całego serwera przechowują niestandardowe opcje BIND (takie jak allow-transfer i also-notify), które przetrwają odtworzenie konfiguracji, ponieważ Plesk za każdym razem scala je z powrotem.

Konfigurując wtórny DNS dla Plesk, pracujesz z obiema warstwami: z szablonem, aby nowe strefy wymieniały serwer nazw SecondDNS, oraz z ustawieniami transferu i ustawieniami dla całego serwera, aby transfery AXFR działały także po tym, jak Plesk przepisze named.conf. Installer SecondDNS obsługuje obie warstwy, ale krok 2 poniżej pokazuje, jak samodzielnie utrwalić ustawienia AXFR.

Jak działa integracja wtórnego DNS

Integracja SecondDNS dla Plesk korzysta z programów obsługi zdarzeń, które Plesk wywołuje automatycznie po zdarzeniach DNS:

1. Gdy tworzysz domenę, subskrypcję lub alias domeny — program obsługi zdarzeń rejestruje strefę w SecondDNS przez API 2. SecondDNS pobiera pełną kopię strefy z Twojego serwera przez AXFR 3. Gdy usuwasz domenę lub alias — program obsługi zdarzeń usuwa ją z SecondDNS

W Plesk każda domena, dodatkowa domena i alias domeny ma własną strefę DNS, więc każda z nich jest rejestrowana osobno. Wszystkie zmiany w strefach rozchodzą się automatycznie dzięki mechanizmowi BIND NOTIFY. Bez ręcznych kroków, bez zadań crona, bez nieaktualnych rekordów.

Wymagania wtórnego DNS dla Plesk

Zanim zaczniesz, upewnij się, że masz:

- Plesk Obsidian (18.x lub nowszy) z serwerem DNS BIND - Dostęp root (sudo) do serwera - Klucz API SecondDNS (zdobądź go na seconddns.com/dashboard/api-key) - IP serwera nazw SecondDNS (znajdziesz je w panelu w sekcji Settings > Nameservers) - Otwarty port TCP 53 dla ruchu przychodzącego z IP serwera SecondDNS

Protokół transferu stref AXFR używa portu TCP 53, a nie UDP. Wiele konfiguracji zapory otwiera tylko UDP 53 dla zwykłych zapytań DNS. Jeśli TCP 53 jest zablokowany, transfery stref będą zawodzić po cichu, mimo że zwykłe rozwiązywanie nazw DNS działa.

Otwórz port TCP 53 dla transferów stref DNS

Zanim uruchomisz Installer, otwórz port TCP 53 dla serwera SecondDNS. Znajdź IP swojego serwera nazw w panelu w sekcji Settings > Nameservers, a następnie zastąp SECONDARY_IP w poleceniach poniżej.

Jeśli używasz rozszerzenia Plesk Firewall, dodaj regułę w Tools & Settings > Firewall, która zezwala na przychodzący ruch TCP na porcie 53 z SECONDARY_IP.

Jeśli zarządzasz zaporą bezpośrednio przez firewalld:

firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="SECONDARY_IP" port port="53" protocol="tcp" accept'
firewall-cmd --reload

Lub przez iptables:

iptables -I INPUT -s SECONDARY_IP -p tcp --dport 53 -j ACCEPT

Aby sprawdzić, czy port TCP 53 jest osiągalny z zewnątrz:

nmap -p 53 -sT YOUR_SERVER_IP

Zainstaluj wtórny DNS na Plesk

Uruchom poniższe polecenie jako root:

curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/plesk/install.sh | bash -s -- --api-key=YOUR_API_KEY

Installer: - Zweryfikuje klucz API w API SecondDNS - Wykryje adres IP serwera (IPv4 i IPv6) - Zapyta, którego adresu IP użyć, jeśli dostępnych jest kilka - Zainstaluje skrypty obsługi zdarzeń - Zarejestruje 12 programów obsługi zdarzeń Plesk dla zdarzeń tworzenia, zmiany nazwy i usuwania domen - Zastąpi domyślny ns2.<domain> Twoim serwerem nazw SecondDNS w szablonie DNS - Skonfiguruje BIND dla AXFR (allow-transfer, also-notify) - Zaproponuje synchronizację istniejących domen

Po instalacji ręcznie zweryfikuj szablon DNS — automatyczne zastąpienie nie zawsze się udaje:

Zone Records Template: Przejdź do Tools & Settings > DNS Settings > Zone Records Template i potwierdź, że drugi rekord NS (ns2.<domain>.) został zastąpiony serwerem nazw SecondDNS widocznym w panelu.

Zone Settings Template: Przejdź do Tools & Settings > DNS Settings > Zone Settings Template i znajdź Primary Name Server. To lista rozwijana wypełniona rekordami NS z szablonu — zmień ją z (Autoselect) na wpis serwera nazw Twojego serwera Plesk (ns1.<domain>). Dzięki temu nowe strefy używają Twojego serwera Plesk jako autorytatywnego serwera głównego, a nie wtórnego.

Utrwal ustawienia transferu strefy

Installer konfiguruje BIND bezpośrednio, ale Plesk może nadpisać named.conf podczas odtwarzania konfiguracji. Aby ustawienia AXFR przetrwały, skonfiguruj je przez własne ustawienia DNS Plesk — Plesk scala je z powrotem za każdym razem, gdy przebudowuje konfigurację. Są dwie części: uprawnienie do transferu oraz cel NOTIFY.

Zezwól na transfer (natywny sposób Plesk). Użyj Transfer Restrictions Template, który jest stworzony specjalnie do przyznawania AXFR wtórnemu serwerowi we wszystkich strefach i jest walidowany przez Plesk:

1. Przejdź do Tools & Settings > DNS Settings > Transfer Restrictions Template 2. Dodaj IP serwera nazw SecondDNS (z panelu w sekcji Settings > Nameservers) do listy dozwolonych adresów 3. Kliknij OK / Apply

Wysyłaj NOTIFY przy zmianie. Dodaj also-notify do ustawień dla całego serwera:

1. Przejdź do Tools & Settings > DNS Settings > Server-wide Settings 2. W polu Additional DNS settings dodaj (zastąp SECONDARY_IP IP swojego serwera nazw):

also-notify { SECONDARY_IP; };

3. Kliknij Apply.

Transfer Restrictions Template przyznaje serwerowi SecondDNS uprawnienie do pobrania strefy (allow-transfer), a also-notify mówi BIND, by wysłał NOTIFY, dzięki czemu wtórny serwer odświeży się natychmiast po zmianie. Ponieważ obie opcje znajdują się w ustawieniach Plesk, a nie w named.conf, transfery stref działają nadal, nawet gdy Plesk odtworzy swoją konfigurację DNS.

Zsynchronizuj istniejące domeny z wtórnym DNS

Jeśli przed instalacją miałeś domeny w Plesk, zsynchronizuj je z wtórnym serwerem:

seconddns sync

Polecenie porównuje Twoje lokalne strefy z SecondDNS i dodaje wszystkie brakujące. Domeny usunięte lokalnie są usuwane z wtórnego serwera. Polecenie jest idempotentne — można je bezpiecznie uruchamiać wielokrotnie.

Aby sprawdzić konkretną strefę lub wypisać wszystko na wtórnym serwerze:

seconddns status example.com
seconddns list

Zweryfikuj konfigurację wtórnego DNS w Plesk

Utwórz testową domenę w Plesk i obserwuj log programu obsługi zdarzeń:

tail -f /var/log/seconddns.log

Powinieneś zobaczyć:

Zone created: testdomain.com (plesk event handler)
[+] Zone testdomain.com added to SecondDNS

Następnie odpytaj oba serwery nazw. Zastąp SECONDARY_IP IP swojego serwera nazw z panelu:

dig @YOUR_SERVER_IP testdomain.com SOA +short
dig @SECONDARY_IP testdomain.com SOA +short

Oba powinny zwrócić ten sam numer seryjny SOA w formacie YYYYMMDDNN. Jeśli wtórny serwer pokazuje niższy numer seryjny lub zwraca SERVFAIL, sprawdź dostęp do portu TCP 53 oraz log programu obsługi zdarzeń.

Obsługiwane typy domen

Integracja obsługuje wszystkie typy domen Plesk:

- Domeny domyślne (pierwsza domena w subskrypcji) - Dodatkowe domeny - Aliasy domen (zarówno dla domen domyślnych, jak i dodatkowych)

Każdy typ ma własną strefę DNS w Plesk i automatycznie uruchamia program obsługi zdarzeń, gdy jest tworzona lub usuwana przez panel sterowania Plesk lub CLI.

Obsługa IPv4 i IPv6

Installer automatycznie wykrywa, które protokoły obsługuje Twój serwer i które są dostępne po stronie SecondDNS. Jeśli dostępne są zarówno IPv4, jak i IPv6, możesz wybrać, którego użyć do transferów stref.

Konfiguracja AXFR (allow-transfer i also-notify) jest ustawiana z prawidłowym adresem IP dla wybranego protokołu. Jeśli używasz obu, dodaj każdy adres do bloków allow-transfer i also-notify w ustawieniach dla całego serwera.

Rozwiązywanie problemów z wtórnym DNS w Plesk

Strefa nie pojawia się na wtórnym serwerze Sprawdź log w /var/log/seconddns.log. Sprawdź, czy programy obsługi zdarzeń są zarejestrowane:

plesk bin event_handler --list | grep seconddns

Powinieneś zobaczyć 12 programów obsługi zdarzeń (4 do tworzenia, 4 do zmiany nazwy, 4 do usuwania). Jeśli ich brakuje, uruchom Installer ponownie.

AXFR odrzucony Upewnij się, że Twoje IP SecondDNS znajduje się w Transfer Restrictions Template (Tools & Settings > DNS Settings > Transfer Restrictions Template). To ustawienie przetrwa odtworzenie konfiguracji Plesk — jeśli transfery najpierw działają, a później przestają, IP brakuje w szablonie i istniało tylko w named.conf.

Przekroczenie limitu czasu połączenia Sprawdź, czy port TCP 53 jest otwarty między Twoim serwerem a SecondDNS. AXFR używa TCP, a nie UDP. Najczęstszą przyczyną nieudanych transferów jest zablokowany TCP 53 na zaporze, podczas gdy UDP 53 jest otwarty.

Ustawienia wracają po jakimś czasie Oznacza to, że dyrektywy AXFR zostały dodane tylko do named.conf, a nie przez ustawienia Plesk. Dodaj IP do Transfer Restrictions Template, a also-notify do Server-wide Settings, jak pokazano w kroku 2.

Przetestuj program obsługi zdarzeń ręcznie

NEW_DOMAIN_NAME=example.com bash -c /usr/local/bin/seconddns-plesk-domain_create.sh

Odinstalowanie

Aby usunąć integrację:

curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/plesk/uninstall.sh | bash

Powoduje to usunięcie programów obsługi zdarzeń, skryptów i pliku konfiguracyjnego. Twoje strefy na wtórnym serwerze DNS nie są usuwane automatycznie — usuń je przez panel SecondDNS lub uruchom:

seconddns remove-all

przed odinstalowaniem, jeśli chcesz je wyczyścić z wtórnego serwera.

Uwaga: deinstalator nie usuwa IP SecondDNS z Transfer Restrictions Template ani linii also-notify z Server-wide Settings (krok 2). Usuń je ręcznie z Tools & Settings > DNS Settings, jeśli już ich nie potrzebujesz.