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

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

Привет всем пользователям 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 сервис ноды без клиентов и подписчиков. В этой установке каждая сервис нода будет использоваться как главный ДНС сервер.

Подчинённый ДНС сервер (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

- выключите рекурсию ДНС # 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 .

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

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

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

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 на подчинённом ДНС сервере и перегрузите его.

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

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

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

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

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

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

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)

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

# 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-ми подписками.

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

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

]# 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.

📎📎📎📎📎📎📎📎📎📎