До основного вмісту

Перенесення DNS-зони між серверами імен: BIND і PowerDNS

Міграція · 29.09.2026

Що таке DNS-зона і коли її переносять

DNS-зона — це файл із записами одного домену: A, AAAA, MX, TXT, CNAME, NS. Зону переносять при зміні DNS-хостингу, міграції з BIND на PowerDNS або під час консолідації кількох серверів імен в один.

Перед перенесенням вивантажте поточну зону в текстовий формат — це резервна копія на випадок помилки і джерело для імпорту на новий сервер.

Експорт зони з BIND

Файли зон у BIND зазвичай лежать у каталозі /etc/bind/zones/ або /var/named/. Перевірте і експортуйте зону командою:

named-compilezone -f text -o example.com.zone example.com /etc/bind/zones/db.example.com
cat example.com.zone

Якщо зона зберігається в базі (BIND з DLZ) або доступ до файлів обмежений, вивантажте зону через AXFR-запит із сервера, який має право на трансфер.

Перенесення зони через AXFR між BIND-серверами

AXFR — це протокол повної передачі зони між серверами імен. На старому сервері дозвольте трансфер для нової IP-адреси в named.conf:

zone "example.com" {
    type master;
    file "/etc/bind/zones/db.example.com";
    allow-transfer { 203.0.113.10; };
};

На новому сервері запросіть зону:

dig axfr example.com @203.0.113.5

Отриманий вивід збережіть у файл зони і підключіть як master на новому сервері.

Імпорт зони в PowerDNS

PowerDNS зберігає зони в базі даних (MySQL, PostgreSQL або SQLite), а не в текстових файлах. Імпортуйте зону утилітою pdnsutil:

pdnsutil create-zone example.com
pdnsutil load-zone example.com example.com.zone
pdnsutil rectify-zone example.com

Команда rectify-zone обов'язкова для зон із DNSSEC або великою кількістю записів — вона перераховує службові поля в базі PowerDNS.

Перевірка зони перед перемиканням

Звірте кількість записів і вміст ключових полів на старому і новому сервері:

dig +short A example.com @old-ns
dig +short A example.com @new-ns
dig +short MX example.com @new-ns

Перевірте також серійний номер зони (SOA) — він має бути вищим, ніж на старому сервері, інакше вторинні сервери імен відмовляться приймати оновлення. Загальний підхід до перенесення без простою описано в статті про керування DNS під час міграції.

Як уникнути простою при зміні NS-серверів

Знизьте TTL записів до 300 секунд за 24-48 годин до перенесення — це прискорить поширення змін. Тримайте старі сервери імен робочими щонайменше 72 години після зміни NS у реєстратора: частина резолверів кешує старі записи NS довше належного.

Підсумок: чек-лист перенесення DNS-зони

  • Експортуйте поточну зону в текстовий файл як резервну копію.
  • Перенесіть зону через AXFR або ручний імпорт у PowerDNS.
  • Знизьте TTL записів за 24-48 годин до перемикання.
  • Перевірте серійний номер SOA і вміст записів A, MX, TXT.
  • Тримайте старі сервери імен активними щонайменше 72 години після перемикання.
  • Збережіть список піддоменів з окремою делегацією — такі NS-записи перевіряють окремо, це часте джерело розбіжностей після перенесення.

Якщо щось пішло не так після зміни NS, порядок дій для повернення описано в плані відкату міграції. Після повного перемикання виконайте перевірку сайту за загальним чек-листом перевірки після міграції.

← Назад до бази знань Поставити питання підтримці