Настройка ДНС на сервере в Plesk Multi Server от Русоникс

В этой статье обсудим:
  1. Как настроить быстрый централизованный ДНС сервер в новой инсталляции Plesk Multi Server (пошаговая инструкция).
  2. Как провести этот процесс с существующими клиентами и пользователями.
  3. Как поменять ДНС и исправлять любые возникающие ошибки (когда DNS сервер не отвечает, адрес недоступен, не найден и т. д.).



Привет всем пользователям Plesk! Сегодня поговорим про расширение Plesk Multi Server с поддержкой централизованных ДНС . Почему именно об этом? Потому что вы сможете использовать один набор серверов имён NS для всех доменов, которые вы хостите на сервисных серверах (далее нодах) в Plesk Multi Server. И даже учитывая то, что Plesk продолжает развивать централизованный DNS, вы все равно можете использовать расширение Slave DNS Manager для того, чтобы выполнить эту функцию в несколько простых шагов.
  

ЧТО ТАКОЕ PLESK MULTI SERVER


Этот сервер даёт возможность пользователям с одним интерфейсом Plesk, запускать услуги хостинга на множестве серверов. Таким образом вы подключаете 2 или более объектов Plesk с помощью расширений SDK. Одна из этих нод будет «управляющей» для управления другими нодами. Все объекты Plesk, подключенные к управляющей ноде, называются «сервис нодами».

Plesk Multi Server предназначен для малых и средних провайдеров хостинга, для студий веб-дизайна и девелоперских студий, которые также размещают на хостинге клиентские сайты. Давайте кратко рассмотрим конфигурацию инфраструктуры.

КОНФИГУРАЦИЯ ИНФРАСТРУКТУРЫ


Plesk Multi Server


Для Plesk Multi Server нужно иметь 1 или несколько установленных сервис нод. Итак, мы начнём с чистой установки — 2 сервис ноды без клиентов и подписчиков. В этой установке каждая сервис нода будет использоваться как главный ДНС сервер.

Plesk Multi Server: установка сервис нод

Подчинённый ДНС сервер (Slave DNS Manager )


Во-первых, разверните и настройте один или несколько ДНС серверов, которые будут использоваться как подчиненный ДНС сервер. Следуйте настройке описанной ниже. В этом примере используется сервер на ОС Centos 7:

1.Настройте Selinux…
# sestatus
SELinux status: enabled
# setsebool -P named_write_master_zones 1


или полностью его отключите :
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/sysconfig/selinux # sed -i 's/SELINUX=enforcing/SELINUX=disabled/g'

Обновите пакеты и перезагрузите операционную систему:
# yum update -y; reboot

установите и настройте службу Bind:
- установка
yum install -y bind bind-utils

-разрешите новые зоны с rndc:
sed -i 's/options {/options {\n allow-new-zones yes;/;' /etc/named.conf

- выключите рекурсию ДНС
# sed -i 's/recursion\ yes;/recursion\ no;/g' /etc/named.conf

-определите какие ip адреса разрешены для опроса сервера . В данном примере эта опция полностью отключена:
# cat /etc/named.conf | grep allow-query
//allow-query { localhost; };


-добавьте сетевые интерфейсы , которые будут слушать демон named . В этом примере все IP адреса добавлены:
# chmod g+w /var/named/ /var/named/chroot/var/named/

-добавьте групповую привилегию на запись для /var/named, /var/named/chroot/var/named:
# chmod g+w /var/named/ /var/named/chroot/var/named/

Рекомендуем вам включить брандмауэр или iptables на сервере и убедиться, что порты 53 (dns) и 953 (rndc) доступны из внешней сети:
# systemctl start firewalld
# firewall-cmd --permanent --zone=public --add-port=53/tcp
# firewall-cmd --permanent --zone=public --add-port=53/udp
# firewall-cmd --permanent --zone=public --add-port=953/tcp
# firewall-cmd —reload


Менеджер подчинённых DNS (Slave DNS Manager ) на Plesk Multi Server


Установка и настройка


1. Войдите в каталог расширений и установите расширение Slave DNS Manager .

Установка расширения Slave DNS Manager



Установка расширения Slave DNS Manager - 2

2.Используйте функцию «Задачи» чтобы убедиться в том, что расширение было корректно установлено на всех сервис нодах

Установка расширения Slave DNS Manager - проверка

3.Добавьте настроенный ДНС сервер как подчинённый ДНС сервер на одну из сервис нод:

Добавляем ДНС сервер как подчиненный



Добавляем ДНС сервер как подчиненный - 2



Добавляем ДНС сервер как подчиненный - 3

4. Введите ip адрес подчинённого ДНС сервера и запомните или сохраните секретный ключ. Он будет использован в утилите rndc для трансфера ДНС зон из главной в подчинённую.

Вводим ip адрес подчинённого ДНС сервера

5.После сохранения настроек проверьте статус подключённого сервера . Возможно вы увидите следующую ошибку, но не переживайте. В этом случае, выполните следующий шаг.

usr/sbin/rndc -b 10.52.79.37 -s 10.52.63.61 -p 953 -y rndc-key -c /usr/local/psa/var/modules/slave-dns-manager/slave_10.52.63.61.conf status rndc: connection to remote host closed This may indicate that * the remote server is using an older version of the command protocol, * this host is not authorized to connect, * the clocks are not synchronized, or * the key is invalid.

6.Для устранения ошибки добавьте секретный ключ, который вы сохранили на 4-м шаге в конфигурационный файл named.conf на подчинённом ДНС сервере и перегрузите его.

# cat /etc/named.conf | grep -A10 rndc key “rndc-key-master” { algorithm hmac-md5; secret “Y2QwZmIxZjRmN2U3NmU1YzY5MzhmOA==”; }; controls { inet * port 953 allow { 10.52.79.37; 127.0.0.1; } keys { “rndc-key-master”; }; };

7.Нажмите «Resync» для перепроверки соединения с подчинённым ДНС сервером. Если вы все правильно сделали, то увидите зелёную метку, говорящую о корректных настройках.

проверка соединения с подчинённым ДНС сервером

8. Добавьте нужное количество подчинённых ДНС серверов согласно шагам 3-7

9.Настройте подчинённые ДНС серверы для всех сервис нод в Plesk Multi Server .

10.Не забывайте добавлять IP адреса сервис нод в секцию controls{…} в конфигурационном файле named.conf на каждом подчинённом ДНС сервере.

КАК ПРОВЕРИТЬ КОРРЕКТНОСТЬ НАСТРОЕК ПОДЧИНЕННЫХ ДНС СЕРВЕРОВ


1.Для проверки корректности подчиненных ДНС серверов нужно сначала создать новую подписку в Plesk Multi Server. В этом примере это домен «testing.tld»

проверка корректности подчиненных ДНС: создание новой подписки Plesk Multi Server

2. Проверьте подчинённый ДНС сервер.
- вы увидите следующие сообщения в /var/log/messages

Aug 19 17:34:10 a10-52-63-61 named[21982]: received control channel command 'addzone testing.tld IN { type slave; file "testing.tld"; masters { 10.52.79.37; }; };'
Aug 19 17:34:10 a10-52-63-61 named[21982]: zone testing.tld added to view _default via addzone
Aug 19 17:34:10 a10-52-63-61 named[21982]: zone testing.tld/IN: Transfer started.
Aug 19 17:34:10 a10-52-63-61 named[21982]: transfer of 'testing.tld/IN' from 10.52.79.37#53: connected using 10.52.63.61#36010
Aug 19 17:34:10 a10-52-63-61 named[21982]: zone testing.tld/IN: transferred serial 2017081903
Aug 19 17:34:10 a10-52-63-61 named[21982]: transfer of 'testing.tld/IN' from 10.52.79.37#53: Transfer completed: 1 messages, 20 records, 575 bytes, 0.002 secs (287500 bytes/sec)
Aug 19 17:34:10 a10-52-63-61 named[21982]: zone testing.tld/IN: sending notifies (serial 2017081903)
Aug 19 17:34:10 a10-52-63-61 named[21982]: received control channel command 'refresh testing.tld IN '


-в файле сопоставления (mapping file)

# cat /var/named/3bf305731dd26307.nzf | grep testing.tld
zone "testing.tld" { type slave; file "testing.tld"; masters { 10.52.79.37; }; };


-в файле ДНС зоны

# ll /var/named/ | grep testing.tld
-rw-r--r-- 1 named named 1031 Aug 19 17:34 testing.tld


3. в конце проверьте ДНС зону определённого домена с внешнего сервера:

# dig testing.tld @10.52.63.61
….
;; ANSWER SECTION:
testing.tld. 86400 IN A 10.52.79.37


ДОБАВЬТЕ ПОДЧИНЕННЫЙ ДНС СЕРВЕР С СУЩЕСТВУЮЩИМИ ПОДПИСКАМИ И ДОМЕНАМИ.


Вы можете также настроить менеджер подчинённых ДНС серверов для инфраструктуры существующего Plesk Multi Server, аналогично как для новой установки. Давайте настроим централизованный ДНС для Plesk Multi Server с двумя сервис нодами и 500-ми подписками.

настройка централизованного ДНС для Plesk Multi Server

Выполните шаги с 1-го по 7-й аналогично как для новой установки. После окончания настройки нажмите «Resync» кнопку, чтобы сделать трансфер ДНС зон всех существующих доменов на подчинённые ДНС серверы.

трансфер ДНС зон всех существующих доменов на подчинённые ДНС серверы

Проверьте лог /var/log/messages, чтобы убедиться, что все ДНС зоны были перемещены. Вы увидите сообщения об успешном завершении трансфера или одну из ошибок описанных в секции «Исправление проблем». Переданные ДНС зоны можно найти в директории /var/named

[root@a10-52-63-61 ~]# cat /var/named/3bf305731dd26307.nzf | wc -l
508
[root@a10-52-57-119 ~]# ls -la /var/named/ | wc -l
519


ИСПРАВЛЕНИЕ ПРОБЛЕМ: ПОДЧИНЕННЫЙ ДНС СЕРВЕР В PLESK MULTI SERVER


Здесь список ошибок, с которыми вы можете столкнуться во время настройки подчинённого ДНС сервера и пути их решения.

1. Ошибка:rndc: connect failed: 10.52.47.119#953: host unreachable
Решение: проверьте что сервер активен и работает

2. Ошибка:rndc: connection to remote host closed
Решение:
- проверьте , что Selinux был выключен и правильно настроен.
- проверьте что мастер ключ rndc добавлен в файл named.conf
- проверьте, что необходимые порты не блокированы в брандмауэере

#firewall-cmd --get-default-zone public # firewall-cmd --list-port 953/tcp 53/udp 53/tcp

- проверьте секцию настройки подчинённого ДНС сервера по пунктам устранения этих ошибок.

3.Ошибка:rndc: recv failed: connection reset

Решение: Проверьте что инструкции управления доступны с ip адреса сервис ноды Plesk Multi Server. Проверьте настройки BIND на прослушивание на всех доступных сетевых интерфейсах. Затем проверьте секцию controls{…} в файле /etc/named.conf на подчинённом ДНС сервере.

4. Ошибка: в логе /var/log/messages:named[2296]: open: 3bf305731dd26307.nzf: file not found

Решение: исправьте все права в директории/var/named

5. Ошибка:в логе /var/log/messages:

named[2003]: invalid command from 10.52.79.37#34535: expired
named[2449]: invalid command from 10.52.75.171#52596: clock skew
chronyd[473]: Forward time jump detected!


Решение: Синхронизируйте время между серверами

6.Ошибка:в логе /var/log/messages:named[2253]: client 10.50.2.83#54824 (testing2.tld): query ‘testing2.tld/A/IN’ denied

Решение: Проверьте, что нет разрешённых запросов только для localhost , а также секцию allow-query{…} в файле /etc/named.conf

И вуаля! Ваш менеджер подчинённых ДНС серверов заработал!

Теперь вы знаете как установить централизованный подчиненный ДНС сервер на обеих новых установках Plesk Multi Server и один из которых уже в продакшене. Плюс вы теперь знаете что делать с возникающими подводными камнями. Теперь время применить эти знания на практике. Вперёд! Пробуйте :)

Подводя итог, скажем, что расширение «менеджер подчинённых ДНС серверов» это открытый проект и вы всегда можете способствовать улучшению в репозитории Github.

На этом все. Да прибудет с вами сила!

  • Поделиться:
Комментарии
кабинет
+7 495 508 99 59
8 800 100 20 18

Всё для 1C-Битрикс

Для WordPress

Услуги хостинга

SSL и лицензии

Партнёрам

О компании

Поддержка

Личный кабинет
Удобная панель управления