Як додати вторинний DNS до панелі хостингу Plesk
Навіщо вашому серверу Plesk вторинний DNS

Plesk використовує BIND як свій DNS-сервер. За замовчуванням усі ваші домени покладаються на єдиний сервер імен. Якщо цей сервер вимкнеться — через техобслуговування, апаратний збій чи DDoS-атаку — кожен домен стане недоступним. Відвідувачі отримуватимуть DNS-помилки, пошта перестане доставлятися, а сервіси відмовлятимуть через тайм-аут.
Вторинний DNS-сервер зберігає синхронізовану копію всіх ваших зон через AXFR (авторитетну передачу зони). Коли первинний сервер недоступний, вторинний продовжує відповідати на DNS-запити для ваших доменів. Ваші сайти, пошта та сервіси залишаються в мережі.
Більшість реєстраторів доменів вимагають щонайменше два сервери імен, а RFC 2182 рекомендує три для продакшн-середовищ. Додати вторинний DNS — це не просто гарна практика, а необхідна умова надійності в продакшні.
Ще не маєте вторинного неймсервера? SecondDNS дає його на безкоштовному 3-місячному пробному періоді, без картки — почніть тут, а потім виконайте кроки нижче.
Як працює DNS у Plesk
Plesk запускає BIND (named) і керує його конфігурацією через власні DNS-шаблони. Ось ключове, що треба зрозуміти: ви не редагуєте named.conf вручну на сервері Plesk, бо Plesk перегенеровує цей файл щоразу, коли перебудовує конфігурацію DNS. Будь-яку ручну зміну в named.conf Plesk може перезаписати, щойно торкнеться зони.
Важать два рівні:
1. DNS-шаблони (Tools & Settings > DNS Settings) визначають, які записи отримує кожна нова зона — зокрема, які сервери імен перелічено в NS-записах. 2. Transfer Restrictions Template і Server-wide DNS settings зберігають кастомні опції BIND (такі як allow-transfer і also-notify), що переживають перегенерацію конфігурації, бо Plesk щоразу додає їх назад.
Коли ви налаштовуєте вторинний DNS для Plesk, ви працюєте з обома рівнями: із шаблоном, щоб нові зони перелічували ваш сервер імен SecondDNS, і з налаштуваннями передачі та загальносерверними налаштуваннями, щоб передачі AXFR продовжували працювати після того, як Plesk перепише named.conf. Інсталятор SecondDNS опрацьовує обидва, але Крок 2 нижче показує, як зробити налаштування AXFR постійними самостійно.
Як працює інтеграція вторинного DNS
Інтеграція SecondDNS для Plesk використовує обробники подій, які Plesk викликає автоматично після подій DNS:
1. Коли ви створюєте домен, підписку чи аліас домену — обробник реєструє зону в SecondDNS через API 2. SecondDNS витягує повну копію зони з вашого сервера через AXFR 3. Коли ви видаляєте домен чи аліас — обробник прибирає його з SecondDNS
У Plesk кожен домен, додатковий домен і аліас домену має власну DNS-зону, тож кожен реєструється окремо. Усі зміни зон поширюються автоматично через механізм NOTIFY у BIND. Жодних ручних кроків, жодних cron-завдань, жодних застарілих записів.
Вимоги до вторинного DNS для Plesk
Перш ніж почати, переконайтеся, що у вас є:
- Plesk Obsidian (18.x або новіший) із DNS-сервером BIND - Root-доступ (sudo) до сервера - API-ключ SecondDNS (отримати можна на seconddns.com/dashboard/api-key) - IP вашого сервера імен SecondDNS (знайдіть його в дашборді в розділі Settings > Nameservers) - Відкритий вхідний TCP-порт 53 для IP сервера SecondDNS
Протокол передачі зон AXFR використовує TCP-порт 53, а не UDP. Багато конфігурацій фаєрвола відкривають лише UDP 53 для звичайних DNS-запитів. Якщо TCP 53 заблоковано, передачі зон не спрацюють без жодного повідомлення про помилку, навіть якщо звичайні DNS-запити працюють.
Відкрийте TCP-порт 53 для трансферу зон DNS
Перш ніж запускати інсталятор, відкрийте TCP-порт 53 для сервера SecondDNS. Знайдіть IP вашого сервера імен у дашборді в розділі Settings > Nameservers, а потім замініть SECONDARY_IP у командах нижче.
Якщо ви використовуєте розширення Plesk Firewall, додайте правило в Tools & Settings > Firewall, яке дозволяє вхідні TCP-з'єднання на порт 53 з SECONDARY_IP.
Якщо ви керуєте фаєрволом напряму через firewalld:
firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="SECONDARY_IP" port port="53" protocol="tcp" accept'
firewall-cmd --reloadАбо через iptables:
iptables -I INPUT -s SECONDARY_IP -p tcp --dport 53 -j ACCEPTЩоб перевірити, що TCP-порт 53 досяжний ззовні:
nmap -p 53 -sT YOUR_SERVER_IPВстановлення вторинного DNS на Plesk
Запустіть однорядкову команду від root:
curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/plesk/install.sh | bash -s -- --api-key=YOUR_API_KEYІнсталятор: - Перевірить ваш API-ключ через API SecondDNS - Визначить IP-адресу вашого сервера (IPv4 та IPv6) - Запитає, яку IP-адресу використати, якщо доступно кілька - Установить скрипти обробників подій - Зареєструє 12 обробників подій Plesk для створення, перейменування та видалення доменів - Замінить типовий ns2.<domain> на ваш сервер імен SecondDNS у DNS-шаблоні - Налаштує BIND для AXFR (allow-transfer, also-notify) - Запропонує синхронізувати наявні домени
Після встановлення перевірте DNS-шаблон вручну — автоматична заміна не завжди вдається:
Zone Records Template: Перейдіть до Tools & Settings > DNS Settings > Zone Records Template і переконайтеся, що другий NS-запис (ns2.<domain>.) замінено на сервер імен SecondDNS, показаний у вашому дашборді.
Zone Settings Template: Перейдіть до Tools & Settings > DNS Settings > Zone Settings Template і знайдіть Primary Name Server. Це розкривний список, заповнений на основі NS-записів шаблону — змініть значення з (Autoselect) на запис для сервера імен вашого сервера Plesk (ns1.<domain>). Це гарантує, що нові зони використовуватимуть ваш сервер Plesk як авторитетний первинний, а не вторинний.
Зробіть налаштування трансферу зон постійними
Інсталятор налаштовує BIND напряму, але Plesk може перезаписати named.conf під час перегенерації конфігурації. Щоб налаштування AXFR пережили це, задайте їх через власні DNS-налаштування Plesk — Plesk додає їх назад щоразу, коли перебудовує конфігурацію. Є дві частини: дозвіл на передачу і ціль для NOTIFY.
Дозвольте передачу (штатний спосіб Plesk). Використовуйте Transfer Restrictions Template, — він спеціально призначений, щоб надавати AXFR вторинному серверу для всіх зон, і Plesk його перевіряє:
1. Перейдіть до Tools & Settings > DNS Settings > Transfer Restrictions Template 2. Додайте IP вашого сервера імен SecondDNS (з дашборда в розділі Settings > Nameservers) до списку дозволених адрес 3. Натисніть OK / Apply
Надсилайте NOTIFY при зміні. Додайте also-notify до загальносерверних налаштувань:
1. Перейдіть до Tools & Settings > DNS Settings > Server-wide Settings 2. У полі Additional DNS settings додайте (замініть SECONDARY_IP на IP вашого сервера імен):
also-notify { SECONDARY_IP; };3. Натисніть Apply.
Transfer Restrictions Template надає серверу SecondDNS дозвіл витягувати зону (allow-transfer), а also-notify наказує BIND надіслати NOTIFY, щоб вторинний сервер оновився одразу після зміни. Оскільки обидва зберігаються в налаштуваннях Plesk, а не в named.conf, передачі зон продовжують працювати навіть після того, як Plesk перегенерує свою конфігурацію DNS.
Синхронізуйте наявні домени з вторинним DNS
Якщо до встановлення у вас уже були домени в Plesk, синхронізуйте їх із вторинним сервером:
seconddns syncЦя команда порівнює ваші локальні зони з SecondDNS і додає ті, яких бракує. Домени, видалені локально, прибираються з вторинного сервера. Команда ідемпотентна — її безпечно запускати багато разів.
Щоб перевірити конкретну зону чи переглянути все на вторинному сервері:
seconddns status example.com
seconddns listПеревірте налаштування вторинного DNS Plesk
Створіть тестовий домен у Plesk і слідкуйте за логом обробника:
tail -f /var/log/seconddns.logВи маєте побачити:
Zone created: testdomain.com (plesk event handler)
[+] Zone testdomain.com added to SecondDNSПотім зробіть запит до обох серверів імен. Замініть SECONDARY_IP на IP вашого сервера імен із дашборда:
dig @YOUR_SERVER_IP testdomain.com SOA +short
dig @SECONDARY_IP testdomain.com SOA +shortОбидва мають повернути той самий серійний номер SOA у форматі YYYYMMDDNN. Якщо вторинний сервер показує менший серійний номер або повертає SERVFAIL, перевірте доступ до TCP-порту 53 і лог обробника.
Підтримувані типи доменів
Інтеграція опрацьовує всі типи доменів Plesk:
- Типові домени (перший домен у підписці) - Додаткові домени - Аліаси доменів (як для типових, так і для додаткових доменів)
Кожен тип має власну DNS-зону в Plesk і автоматично запускає обробник подій, коли його створюють чи видаляють через панель керування Plesk або CLI.
Підтримка IPv4 та IPv6
Інсталятор автоматично визначає, які протоколи підтримує ваш сервер і які доступні з боку SecondDNS. Якщо доступні і IPv4, і IPv6, ви можете обрати, який використати для передачі зон.
Конфігурацію AXFR (allow-transfer і also-notify) налаштовано з правильною IP-адресою для обраного вами протоколу. Якщо ви використовуєте обидва, додайте кожну адресу до блоків allow-transfer і also-notify у загальносерверних налаштуваннях.
Усунення несправностей вторинного DNS Plesk
Зона не з'являється на вторинному сервері Перевірте лог за шляхом /var/log/seconddns.log. Переконайтеся, що обробники подій зареєстровано:
plesk bin event_handler --list | grep seconddnsВи маєте побачити 12 обробників (4 для створення, 4 для перейменування, 4 для видалення). Якщо їх немає, запустіть інсталятор повторно.
AXFR відхилено Переконайтеся, що ваш IP SecondDNS є в Transfer Restrictions Template (Tools & Settings > DNS Settings > Transfer Restrictions Template). Саме це налаштування переживає перегенерацію конфігурації Plesk — якщо передачі спочатку працюють, а потім ламаються, то IP бракує в шаблоні — він існував лише в named.conf.
Тайм-аут підключення Перевірте, що TCP-порт 53 відкрито між вашим сервером і SecondDNS. AXFR використовує TCP, а не UDP. Найпоширеніша причина невдалих передач — заблокований на фаєрволі TCP 53, тоді як UDP 53 відкритий.
Налаштування за деякий час скидаються Це означає, що директиви AXFR було додано лише до named.conf, а не через налаштування Plesk. Додайте IP до Transfer Restrictions Template, а also-notify — до Server-wide Settings, як показано в Кроці 2.
Перевірте обробник вручну
NEW_DOMAIN_NAME=example.com bash -c /usr/local/bin/seconddns-plesk-domain_create.shВидалення
Щоб прибрати інтеграцію:
curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/plesk/uninstall.sh | bashЦе видаляє обробники подій, скрипти та файл конфігурації. Ваші зони на вторинному DNS не видаляються автоматично — приберіть їх через дашборд SecondDNS або запустіть:
seconddns remove-allперед видаленням, якщо хочете прибрати їх із вторинного сервера.
Зверніть увагу: IP SecondDNS у Transfer Restrictions Template і рядок also-notify у Server-wide Settings (Крок 2) деінсталятор не прибирає. Видаліть їх вручну з Tools & Settings > DNS Settings, якщо вони вам більше не потрібні.
Пов'язані гайди
Якщо ви керуєте іншими панелями хостингу або хочете розширити налаштування DNS-резервування, перегляньте:
- Як додати вторинний DNS до cPanel/WHM - Як додати вторинний DNS до DirectAdmin - Як додати вторинний DNS до CyberPanel - Моніторинг вторинного DNS із Nagios - Моніторинг вторинного DNS із Zabbix - Як налаштувати вторинний DNS-сервер - Як працюють трансфери зон AXFR - Резервування DNS: чому це важливо і як його забезпечити