Гид по технологиям

Настройка server2.example.com как вторичного DNS и создание зоны DNS

3 min read DNS Обновлено 27 Nov 2025
Настройка server2 как вторичного DNS
Настройка server2 как вторичного DNS

Что мы делаем и зачем

Кратко: делаем server2.example.com вторичным DNS-сервером для отказоустойчивости и распределения нагрузки. Вторичный DNS получает зоны от первичного и отвечает на DNS-запросы, если первичный недоступен.

Определение: вторичный DNS — сервер, который держит копии зон (AXFR/IXFR) от первичного и отвечает на запросы DNS.

Важно: статья предполагает Debian-подобную систему и ISPConfig 3 в мультисерверной конфигурации.

Требования и предпосылки

  • Доступ root или sudo на server2.example.com.
  • server1.example.com уже настроен как первичный DNS с ISPConfig 3.
  • Межсерверный доступ по сети между server1 и server2 (порты MySQL, SSH и DNS должны быть доступны по правилам вашего брандмауэра).
  • Резервные копии конфигураций до изменений.

1. Установка пакетов на server2.example.com

Выполните следующие команды на server2 как root или через sudo. Команды сохранены исходными, их можно копировать:

apt-get -y install ntp ntpdate
apt-get -y install mysql-client mysql-server

Во время установки MySQL вам предложат задать пароль для пользователя root MySQL. Запомните его.

apt-get -y install php5-cli php5-mysql php5-mcrypt mcrypt
apt-get -y install bind9 dnsutils

Пояснение: ntp синхронизирует время, MySQL нужен для связи с базой ISPConfig, PHP — для инсталлятора и веб-интерфейса, BIND — собственно DNS-сервер.

2. Установка ISPConfig 3 на server2 (присоединение к multiserver)

Скачайте и запустите инсталлятор ISPConfig в /tmp:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/

php -q install.php

Во время установки выберите режим expert, укажите FQDN server2.example.com и отметьте, что сервер будет присоединяться к существующей multiserver-конфигурации. Пример интерактивного вывода инсталлятора (сокращённо):

root@server2:/tmp/ispconfig3_install/install# php -q install.php

--------------------------------------------------------------------------------
_____ _________   _____              __ _         ____
|_   _/  ___| ___ \ /  __ \            / _(_)       /__  \
| | \ `--.| |_/ / | /  \/ ___  _ __ | |_ _ _ __ _   _/  /
| |  `--. \  __/  | |    / _ \| '_ \|  _| |/ _` |  | _|
_| |_/\__/ / |     | \__/\ (_) | | | | | | | (_| | ___\ \
\___/\____/\_|     \____/\___/|_| |_|_| |_|\__, | \____/
__/ |
|___/
--------------------------------------------------------------------------------

>> Initial configuration

Operating System: Debian 6.0 (Squeeze/Sid) or compatible

Following will be a few questions for primary configuration so be careful.
Default values are in [brackets] and can be accepted with .
Tap in "quit" to stop the installer.

Select language (en,de) [en]:
Installation mode (standard,expert) [standard]: expert
Full qualified hostname (FQDN) of the server, eg server1.domain.tld  [server2.example.com]:
MySQL server hostname [localhost]:
MySQL root username [root]:
MySQL root password []: <-- your MySQL root password for server2
Shall this server join an existing ISPConfig multiserver setup (y,n) [n]: y
MySQL master server hostname []: server1.example.com
MySQL master server root username [root]:
MySQL master server root password []: <-- your MySQL root password on server1
MySQL master server database name [dbispconfig]: name_of_ispconfig_database_on_server1.example.com

Configure DNS Server (y,n) [y]:
...
Installation completed.
root@server2:/tmp/ispconfig3_install/install#

Примечание: при подключении к существующему MySQL-мастеру вы передаёте установщику доступ к базе данных ISPConfig на server1, чтобы сервер вошёл в мультисерверную конфигурацию.

3. Настройка server2 как зеркала server1 через веб-интерфейс ISPConfig

  1. Откройте панель ISPConfig на server1: http(s)://server1.example.com:8080 и войдите под администратором.
  2. Перейдите в System > Server Services.
  3. Выберите server2.example.com в списке серверов.

ISPConfig: список серверов в System > Server Services, выделен server2.example.com

  1. Убедитесь, что отмечен флажок DNS-Server, в поле Is mirror of Server выберите server1.example.com и нажмите Save.

Настройка зеркала: поле Is mirror of Server установлено на server1.example.com

Пояснение: это укажет ISPConfig, что server2 должен получать зоны от server1 и отвечать как вторичный сервер.

Важно: после сохранения ISPConfig создаст записи сервера в базе и настроит репликацию зон (AXFR/IXFR) между server1 и server2, если это разрешено в настройках BIND и брандмауэре.

4. Создание DNS-зоны через DNS Wizard (рекомендуемая практика)

В ISPConfig используйте мастер DNS (DNS > DNS Wizard > Add DNS Zone) — он автоматически создаёт стандартный набор записей (A, www, mail, NS, MX).

DNS Wizard: кнопка добавления новой DNS зоны

Форма мастера содержит следующие поля и рекомендации:

  • Template: шаблон, определяющий какие записи будут созданы по умолчанию. Шаблоны находятся в DNS > DNS Wizard > Templates. Пример: Default создаст A записи для mydomain.com, www.mydomain.com, mail.mydomain.com.
  • Server: выберите server1.example.com (первичный), это сервер, на котором создаётся запись зоны.
  • Client: клиент — владелец зоны (в ISPConfig).
  • Domain: домен без точки в конце, например mydomain.com.
  • IP Address: IP-адрес, на который будет указывать основной A-запись (www и mail будут указывать на этот IP по умолчанию).
  • NS 1: hostname первичного nameserver, укажите server1.example.com.
  • NS 2: hostname вторичного nameserver, укажите server2.example.com.
  • Email: адрес администратора зоны, например hostmaster@mydomain.com.

Заполните форму и нажмите Create DNS Record.

Создание зоны: форма DNS Wizard с полями Template, Server, Client, Domain

После создания зона появится в списке DNS > DNS > Zones:

Список DNS зон в ISPConfig

Если открыть зону и перейти на вкладку Records, вы увидите автоматически созданные записи A, NS и MX, их можно редактировать или удалять:

Записи зоны: автоматически созданные записи A, NS и MX

5. Проверка и отладка репликации зон

Проверка наличия зоны на server2:

  • На server1 выполните: dig @127.0.0.1 mydomain.com AXFR
  • На server2 выполните: dig @127.0.0.1 mydomain.com AXFR

Если server2 правильно настроен как вторичный, он сможет получить AXFR от server1.

Проверка ответов для клиентов:

  • dig @server2.example.com mydomain.com A
  • nslookup mydomain.com server2.example.com

Типичные проблемы и их причины:

  • Блокировка TCP-портов 53 (AXFR требует TCP): проверьте firewall/iptables.
  • Разрешения на зонные файлы в /etc/bind: проверьте права и владельца.
  • Настройки allow-transfer / also-notify в конфигурации BIND на server1: сервер должен разрешать передачу зон server2 и уведомлять его.

Пример проверки журналов:

  • /var/log/syslog и /var/log/messages для сообщений BIND.
  • Логи ISPConfig в /var/log/ispconfig/ для ошибок синхронизации.

6. Советы по безопасности и производительности

  • Ограничьте allow-transfer только IP server2 в конфигурации BIND на server1.
  • Убедитесь, что уведомления (notify) отправляются на server2 — опция also-notify может пригодиться.
  • Резервное копирование зон и базы ISPConfig перед изменениями.
  • Ограничьте доступ к MySQL по сети; используйте VPN или отдельную сеть для межсерверного общения.

7. Контрольный список перед вводом в эксплуатацию

  • На server2 установлены все пакеты: ntp, mysql, php, bind.
  • ISPConfig установлен в режиме multiserver и завершил установку без ошибок.
  • В System > Server Services server2 отмечен как DNS-Server и зеркалит server1.
  • Создана DNS-зона на server1 через DNS Wizard.
  • server2 успешно получил зону через AXFR (проверено dig).
  • Порты 53 TCP/UDP открыты между серверами.
  • allow-transfer на server1 настроен на IP server2.

8. Когда этот подход не подходит (альтернативы)

  • Если вы используете облачные DNS-провайдеры (Cloudflare, Route53), управлять зоной лучше через API провайдера, а не через BIND/ISPConfig.
  • Если у вас много географически распределённых вторичных серверов, рассмотрите Anycast DNS или специализированные сервисы.

9. Быстрые команды для проверки

  • Проверить локальный BIND: rndc status
  • Запрос AXFR вручную: dig @server1.example.com mydomain.com AXFR
  • Проверка конкретной записи: dig @server2.example.com www.mydomain.com A

10. Решение проблем — таблица причин и действий

  • Нет AXFR: проверить allow-transfer и firewall.
  • Сервер не отображается в ISPConfig: проверить запись сервера в System > Server Services и логи инсталлятора.
  • Ошибки доступа к MySQL master: проверить креденшалы, сетевой доступ и пароль.

11. Сценарий отката (rollback)

  • Восстановите конфигурацию BIND из резервной копии на server1 при возникновении проблем.
  • В ISPConfig отмените отметку «Is mirror of» для server2 и удалите запись сервера, если нужно убрать из мультисервера.

12. Принятие в эксплуатацию — критерии приёмки

  • Зона успешно передаётся на server2 (AXFR прошёл без ошибок).
  • server2 отвечает на DNS-запросы корректно и даёт те же записи, что и server1.
  • Логи не показывают повторяющихся ошибок синхронизации в течение 24 часов.

Заключение

Настройка server2.example.com как вторичного DNS через ISPConfig даёт простую и управляемую модель репликации зон. Важны корректные настройки BIND (allow-transfer, notify), открытые TCP/UDP 53 порты и проверка AXFR. Используйте контрольный список и тесты, описанные выше, чтобы убедиться в надёжности конфигурации.

Важно: если вы планируете управлять большим числом доменов, подумайте об автоматизации создания зон и наблюдении за метриками DNS.

flowchart TD
  A[Начало] --> B{ISPConfig установлен?}
  B -- Нет --> C[Установить ISPConfig в режиме multiserver]
  B -- Да --> D{Server2 добавлен в System > Server Services?}
  D -- Нет --> E[Добавить сервер и отметить DNS-Server]
  D -- Да --> F{Is mirror of установлен на server1?}
  F -- Нет --> G[Выбрать server1 в Is mirror of и сохранить]
  F -- Да --> H[Создать DNS-зону на server1 через DNS Wizard]
  H --> I[Проверить AXFR и ответы DNS на server2]
  I --> J[Ввод в эксплуатацию]
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Ciuvo — сравнение цен в браузере
Онлайн-шопинг

Ciuvo — сравнение цен в браузере

Блокировка потенциально нежелательных программ в Windows Defender
Безопасность

Блокировка потенциально нежелательных программ в Windows Defender

Тёмная тема в популярных приложениях Windows
Советы

Тёмная тема в популярных приложениях Windows

Изменение имени учётной записи в Windows
Windows

Изменение имени учётной записи в Windows

Настройка iptables в Linux — базовый файл правил
Безопасность

Настройка iptables в Linux — базовый файл правил

Исправить "This version of Netflix is not compatible"
Технологии

Исправить "This version of Netflix is not compatible"