Як додати вторинний DNS до хостинг-панелі CyberPanel
Навіщо CyberPanel потрібен вторинний DNS

CyberPanel використовує PowerDNS як вбудований DNS-сервер. За замовчуванням усі ваші домени залежать від одного неймсервера. Якщо цей сервер впаде — під час перезавантаження, оновлення ядра, DDoS-атаки або апаратного збою — кожен домен стане недоступним. Відвідувачі не можуть зайти на сайт, пошта не доставляється, API-виклики не проходять.
Додавання вторинного DNS-сервера усуває цю єдину точку відмови. Кожна зона автоматично реплікується через AXFR (повний трансфер зони), тому DNS продовжує відповідати на запити навіть коли основний сервер недоступний або на обслуговуванні.
Реєстратори доменів вимагають щонайменше два неймсервери, а RFC 2182 рекомендує три для продакшн-середовищ. Без вторинного DNS достатньо одного збою, щоб повністю вимкнути DNS усіх доменів на сервері.
Ще не маєте вторинного неймсервера? SecondDNS дає його на безкоштовному 3-місячному пробному періоді, без картки — почніть тут, а потім виконайте кроки нижче.
Як працює DNS у CyberPanel
CyberPanel використовує PowerDNS, а не BIND. Це важливо, бо підхід до налаштування відрізняється від того, що описано в більшості інструкцій щодо вторинного DNS.
У PowerDNS дані DNS зберігаються в базі даних MySQL (таблиці domains та records бази cyberpanel), а не у файлах зон. PowerDNS читає й записує дані через бекенд бази даних. Це означає, що ви не можете просто відредагувати named.conf для налаштування трансферу зон — потрібно оновити параметри PowerDNS у pdns.conf та використовувати утиліти PowerDNS (pdnsutil), щоб керувати властивостями зон.
При налаштуванні вторинного DNS для CyberPanel ви вказуєте PowerDNS:
1. Позначити кожну зону як MASTER, щоб PowerDNS надсилав NOTIFY-повідомлення при зміні зони 2. Дозволити AXFR-запити з IP-адреси сервера SecondDNS (allow-axfr-ips) 3. Оновлювати серіал SOA у форматі, що ініціює оновлення зони на вторинному сервері
Плагін SecondDNS виконує все це автоматично, перехоплюючи події створення та видалення доменів у CyberPanel.
Як працює інтеграція вторинного DNS
Плагін SecondDNS інтегрується в CyberPanel і перехоплює події створення та видалення доменів. Коли ви додаєте новий домен, плагін автоматично:
1. Змінює тип зони з NATIVE на MASTER, щоб PowerDNS надсилав NOTIFY вторинному серверу при зміні зони (сам AXFR дозволяється через allow-axfr-ips) 2. Оновлює серіал SOA до стандартного формату YYYYMMDDNN 3. Реєструє зону в SecondDNS через API, щоб вторинний сервер завантажив повну копію
Коли ви видаляєте домен, плагін прибирає його з вторинного сервера. Жодних ручних дій, забутих зон чи застарілих записів.
Після налаштування призначений вам неймсервер SecondDNS зберігає копію кожної зони лише для читання та відповідає на DNS-запити як повноцінний авторитетний сервер. Хостнейм та IP вашого неймсервера відображаються в панелі SecondDNS у розділі Settings > Nameservers.
Вимоги до вторинного DNS для CyberPanel
Перед початком переконайтеся, що у вас є:
- CyberPanel v2.x або новіше з PowerDNS - Root (sudo) доступ до сервера - git встановлений на сервері - 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 вашого неймсервера в панелі SecondDNS у розділі Settings > Nameservers, потім замініть SECONDARY_IP у командах нижче.
Якщо використовуєте UFW:
ufw allow from SECONDARY_IP to any port 53 proto tcp
ufw reloadЯкщо використовуєте iptables:
iptables -I INPUT -s SECONDARY_IP -p tcp --dport 53 -j ACCEPTЩоб перевірити, що TCP-порт 53 доступний ззовні:
nmap -p 53 -sT YOUR_SERVER_IPІнсталятор автоматично додає правильний IP до allow-axfr-ips PowerDNS, коли ви запускаєте його з API-ключем — він отримує дані призначеного вам неймсервера через API SecondDNS.
Встановлення вторинного DNS на CyberPanel
Виконайте команду від root:
curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/cyberpanel/install.sh | bash -s -- --api-key=YOUR_API_KEYІнсталятор: - Перевірить ваш API-ключ - Визначить IP-адресу сервера (IPv4 та IPv6) - Встановить CLI-інструмент та плагін CyberPanel - Налаштує PowerDNS для AXFR (master-режим, allow-axfr-ips на ваш призначений IP SecondDNS, формат серіалу SOA) - Запропонує перезапустити CyberPanel для активації плагіна
Замініть YOUR_API_KEY на ключ з вашої панелі SecondDNS. У разі будь-якої помилки інсталятор завершується з кодом помилки та повідомляє, на якому кроці вона сталася.
Виправте схему PowerDNS на CyberPanel
CyberPanel v2.4.5 має застарілу схему бази даних PowerDNS. Через два відсутні стовпці PowerDNS аварійно завершується під час оновлення зон. Виконайте ці SQL-запити в консолі MySQL:
mysql -e "ALTER TABLE cyberpanel.domains ADD COLUMN options TEXT DEFAULT NULL;"
mysql -e "ALTER TABLE cyberpanel.domains ADD COLUMN catalog VARCHAR(255) DEFAULT NULL;"Потім перезапустіть PowerDNS:
systemctl restart pdnsЯкщо стовпець вже існує, команда виведе безпечну помилку Duplicate column — її можна ігнорувати. Цей крок потрібен лише для CyberPanel v2.4.5. Інших версій ця проблема не стосується.
Налаштуйте неймсервери в CyberPanel
Перейдіть до CyberPanel > DNS > Create/Edit Nameservers та вкажіть:
- NS1: ваш основний неймсервер (наприклад, ns1.yourdomain.com) - NS2: хостнейм вашого неймсервера SecondDNS (відображається в панелі у розділі Settings > Nameservers)
Якщо у вас є додаток Personalized NS, використовуйте ваш брендований хостнейм (наприклад, ns2.yourdomain.com). Завдяки цьому кожна нова зона матиме правильний вторинний неймсервер у своїх NS-записах.
Синхронізуйте існуючі домени з вторинним DNS
Якщо домени в CyberPanel вже існували до встановлення, синхронізуйте їх із вторинним сервером:
seconddns syncЦе порівняє ваші локальні зони з вторинним сервером і додасть відсутні. Домени, видалені локально, будуть прибрані з вторинного. Команда sync ідемпотентна — її можна запускати кілька разів, дублікати не створюються.
Щоб перевірити статус конкретної зони:
seconddns status example.comПеревірте налаштування вторинного DNS CyberPanel
Створіть тестовий домен у CyberPanel і переконайтеся, що він з'явився на вторинному сервері:
seconddns listПотім надішліть запити на обидва неймсервери, щоб підтвердити трансфер зони. Замініть SECONDARY_IP на IP вашого неймсервера з панелі:
dig @YOUR_PRIMARY_SERVER_IP example.com SOA +short
dig @SECONDARY_IP example.com SOA +shortОбидві команди мають повернути однаковий серіал SOA у форматі YYYYMMDDNN. Якщо вторинний показує менший серіал, трансфер зони ще не завершено — зачекайте 30 секунд і повторіть.
Якщо вторинний повертає SERVFAIL або не відповідає, перевірте правила файрволу для TCP-порту 53. Найчастіша причина невдалих трансферів — TCP 53 заблоковано на рівні файрволу, тоді як UDP 53 відкритий.
Усунення несправностей вторинного DNS CyberPanel
Зона не з'являється на вторинному сервері Перевірте лог плагіна /var/log/seconddns.log. Переконайтеся, що CyberPanel було перезапущено після встановлення. Перевірте валідність API-ключа:
seconddns statusAXFR відхилено PowerDNS відхиляє запит трансферу зони. Інсталятор налаштовує allow-axfr-ips автоматично, але ручні зміни pdns.conf можуть його перезаписати. Перевірте поточне значення:
grep allow-axfr-ips /etc/pdns/pdns.confЗначення має відповідати IP вашого неймсервера SecondDNS (з панелі). Якщо ні — оновіть і перезапустіть PowerDNS:
systemctl restart pdnsСеріал SOA залишається 1 Плагін оновлює серіал після створення зони. Якщо зона була створена до встановлення плагіна, виконайте:
seconddns syncабо примусово оновіть серіал:
pdnsutil increase-serial YOURDOMAIN.COMPowerDNS аварійно завершується при оновленні зони Застосуйте виправлення схеми з Кроку 2. Це відома проблема CyberPanel v2.4.5.
Плагін не спрацьовує під час створення домену Перевірте, що в точці входу CyberPanel є блок сигналів. Запустіть інсталятор повторно, щоб перереєструвати сигнали — це безпечно для вже встановленого плагіна.
TCP-порт 53 недоступний Запустіть тест nmap з розділу налаштування файрволу. Якщо TCP 53 заблоковано, додайте правило для IP вашого неймсервера SecondDNS (з панелі) та повторіть трансфер.
Трансфер зони зависає Великі зони (тисячі записів) можуть потребувати більше часу. Перевірте розмір зони:
pdnsutil list-zone YOURDOMAIN.COM | wc -lЗони з понад 10 000 записів можуть передаватись кілька хвилин.
Видалення
Щоб видалити інтеграцію:
curl -sL https://raw.githubusercontent.com/seconddns/dns_integrations/main/hosting-panels/cyberpanel/uninstall.sh | bashЦе видалить CLI, плагін, реєстрацію сигналів та systemd-хук. Ваші зони на вторинному сервері не видаляються автоматично — видаліть їх через панель SecondDNS або виконайте:
seconddns remove-allперед видаленням, якщо хочете очистити вторинний сервер.
Пов'язані інструкції
Якщо ви керуєте іншими хостинг-панелями або хочете розширити резервування DNS, перегляньте:
- Як додати вторинний DNS до cPanel/WHM - Як додати вторинний DNS до DirectAdmin - Як додати вторинний DNS до Plesk - Моніторинг вторинного DNS через Nagios - Моніторинг вторинного DNS через Zabbix - Як налаштувати вторинний DNS-сервер - Як працюють трансфери зон AXFR - Резервування DNS: чому це важливо і як його забезпечити