Download PDF
Download page Модуль "Интеграция с PowerDNS".
Модуль "Интеграция с PowerDNS"
Начиная с версии 2023.08.1 установка и настройка модуля не поддерживается. Для интеграции с DNS-сервером в платформе используйте модуль "Интеграция с DNSmanager 6".
Если в платформе была настроена интеграция с PowerDNS, интеграция продолжит работу до момента установки модуля "Интеграция с DNSmanager 6".
Для работы некоторых интернет-сервисов (например, отправки электронной почты) на выделенных серверах необходимо преобразование IP-адресов в доменные имена. Чтобы это преобразование выполнялось, нужно настроить интеграцию DCImanager 6 c DNS-сервером.
DCImanager 6 поддерживает интеграцию с PowerDNS. PowerDNS — это высокопроизводительный бесплатный DNS-сервер с открытым исходным кодом. Подробнее о PowerDNS см. в официальной документации. Вы можете установить PowerDNS на отдельный сервер или запустить его на сервере с DCImanager 6 в отдельном докер-контейнере.
После интеграции на DNS-сервере будут созданы PTR-записи, преобразующие IP-адреса выделенных серверов в доменные имена.
Интеграция обеспечивает передачу:
- PTR-записей;
- NS-записей, если в настройках модуля указаны дополнительные серверы имён.
Передачу записей других типов нужно настраивать вручную.
Соответствие IP-адреса и обратного доменного имени
Для определения доменного имени по IP-адресу на DNS-сервере используется PTR-запись обратной доменной зоны. Для выполнения запроса адрес узла переводится в обратный вид, способ перевода зависит от версии протокола IP.
IPv4
IPv4-адрес записывается в виде четырёх десятичных чисел от 0 до 255, разделённых точками. Например, 192.168.0.1. Для поиска доменных имён по IPv4-адресам используется домен "in-addr.arpa.". IP-адрес записывается в доменном имени в обратном порядке. Например, адресу 195.161.72.28 соответствует доменное имя "28.72.161.195.in-addr.arpa.".
IPv6
IPv6-адрес записывается в виде восьми шестнадцатеричных чисел от 0 до ffff, разделённых двоеточиями. Например, 3107:0c38:0a67:0000:0000:e446:3925:0091. Для поиска доменных имён по IPv6-адресам используется домен "ip6.arpa.". IP-адрес записывается в доменном имени в обратном порядке. Например, адресу 3107:0c38:0a67:0000:0000:e446:3925:0091 соответствует доменное имя "1.9.0.0.5.2.9.3.6.4.4.e.0.0.0.0.0.0.0.0.7.6.a.0.8.3.c.0.7.0.1.3.ip6.arpa.".
Настройка PowerDNS
В базовой конфигурации PowerDNS использует BIND в качестве источника данных (backend). BIND не поддерживает выполнение API-запросов на запись по HTTP, поэтому не подходит для настройки интеграции. Чтобы настроить интеграцию, измените источник данных на Generic Mysql, Generic Postgresql или Generic SQLite3. Подробнее см. в официальной документации PowerDNS.
Чтобы узнать какой источник данных использует PowerDNS, проверьте значение параметра launch в конфигурационном файле /etc/pdns/pdns.conf.
PowerDNS на сервере с DCImanager 6
Создайте файл /opt/ispsystem/dci/powerdns.yaml:
Пример конфигурации
version: "3.7" services: powerdns_mysql: image: mysql:5 restart: always volumes: - /var/lib/powerdns_mysql:/var/lib/mysql environment: MYSQL_DATABASE: pdns MYSQL_ROOT_PASSWORD: <mysql_pass> networks: - auth powerdns_server: image: psitrax/powerdns restart: always environment: MYSQL_HOST: powerdns_mysql MYSQL_USER: root MYSQL_PASS: <mysql_pass> MYSQL_DB: pdns command: ["--api=yes", "--api-key=<pdns_api_key>", "--webserver=yes", "--webserver-port=<pdns_port>", "--webserver-address=0.0.0.0", "--webserver-allow-from=0.0.0.0/0"] ports: - "53:53" - "<pdns_port>:<pdns_port>" networks: - auth networks: auth:
CODE<mysql_pass> — пароль к MySQL
<pdns_api_key> — ключ доступа к API PowerDNS. Минимальная длина — 6 символов
<pdns_port> — порт доступа к встроенному веб-серверу PowerDNS
Выполните команду:
docker-compose -f /opt/ispsystem/dci/powerdns.yaml up -d
CODE
PowerDNS на отдельном сервере
Разрешите доступ к API PowerDNS. Для этого добавьте в конфигурационный файл /etc/pdns/pdns.conf строки:
api=yes api-key=<pdns_api_key> webserver=yes webserver-port=<pdns_port> webserver-address=0.0.0.0 webserver-allow-from=0.0.0.0/0
CODE<pdns_api_key> — ключ доступа к API PowerDNS. Минимальная длина — 6 символов
<pdns_port> — порт доступа к встроенному веб-серверу PowerDNS
Перезапустите PowerDNS:
systemctl restart pdns.service
CODEОткройте порт веб-сервера в файрволе:
firewall-cmd --permanent --zone=public --add-port=<pdns_port>/tcp && firewall-cmd --reload
CODE<pdns_port> — порт доступа к встроенному веб-серверу PowerDNS
Настройка DCImanager 6
Начиная с версии 2023.08.1 настройка возможна только через API платформы.
Диагностика
Интеграцию DCImanager 6 с PowerDNS выполняет сервис DNSProxy. Вы можете проверить работу сервиса по лог-файлам в докер-контейнере dci_dns_proxy_1 на сервере с DCImanager 6:
/var/log/dns_proxy_integration.log
/var/log/dns_proxy_service_1_reader.log
/var/log/dns_proxy_service_1_writer.log