DCImanager 6

Модуль "Интеграция с 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

  1. Создайте файл /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:
    Пояснения
  2. Выполните команду:

    docker-compose -f /opt/ispsystem/dci/powerdns.yaml up -d

PowerDNS на отдельном сервере

  1. Разрешите доступ к 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
    Пояснения
  2. Перезапустите PowerDNS:

    systemctl restart pdns.service
  3. Откройте порт веб-сервера в файрволе:

    firewall-cmd --permanent --zone=public --add-port=<pdns_port>/tcp && firewall-cmd --reload
    Пояснения к команде

Настройка 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