Администратору DCImanager

Модуль "Интеграция с PowerDNS"

ISPSystem

Для работы некоторых интернет-сервисов (например, отправки электронной почты) на выделенных серверах необходимо преобразование IP-адресов в доменные имена. Чтобы это преобразование выполнялось, нужно настроить интеграцию DCImanager c DNS-сервером.

DCImanager поддерживает интеграцию с PowerDNS. PowerDNS — это высокопроизводительный бесплатный DNS-сервер с открытым исходным кодом. Подробнее о PowerDNS см. в официальной документации. Вы можете установить PowerDNS на отдельный сервер или запустить его на сервере с DCImanager в отдельном докер-контейнере.

После интеграции на DNS-сервере будут созданы PTR-записи, преобразующие IP-адреса выделенных серверов в доменные имена.

Соответствие 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 MysqlGeneric Postgresql или Generic SQLite3. Подробнее см. в официальной документации PowerDNS.

Чтобы узнать какой источник данных использует PowerDNS, проверьте значение параметра launch в конфигурационном файле /etc/pdns/pdns.conf.

PowerDNS на сервере с DCImanager

  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:

    <mysql_pass> — пароль к MySQL

    <pdns_api_key> — ключ доступа к API PowerDNS. Минимальная длина — 6 символов

    <pdns_port> — порт доступа к встроенному веб-серверу PowerDNS

  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

    <pdns_api_key> — ключ доступа к API PowerDNS. Минимальная длина — 6 символов

    <pdns_port> — порт доступа к встроенному веб-серверу PowerDNS

  2. Перезапустите PowerDNS:

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

    firewall-cmd --permanent --zone=public --add-port=<pdns_port>/tcp && firewall-cmd --reload

    <pdns_port> — порт доступа к встроенному веб-серверу PowerDNS

Настройка DCImanager


На сервере с DCImanager:

  1. Установите модуль "Интеграция с PowerDNS": МодулиИнтеграция с PowerDNSУстановить.
  2. Нажмите Настроить и укажите настройки подключения к API PowerDNS:

    1. Доменное имя или IP-адрес.

    2. Порт подключения.

    3. Ключ API.

    4. Серверы имен.
  3. Нажмите Применить.

Обратите внимание!

Если вы используете модуль "Интеграция с IPmanager 6", установите в VMmanager модуль "Интеграция с PowerDNS" с аналогичными настройками. Подробнее об установке модуля см. в статье Интеграция с PowerDNS документации VMmanager.

Диагностика


Интеграцию DCImanager с PowerDNS выполняет сервис DNSProxy. Вы можете проверить работу сервиса по лог-файлам в докер-контейнере dci_dns_proxy_1 на сервере с DCImanager:

  • /var/log/dns_proxy_integration.log

  • /var/log/dns_proxy_service_1_reader.log

  • /var/log/dns_proxy_service_1_writer.log

Спасибо за ваш отзыв!
Была ли полезна статья?
Уточните, почему:

статья не соответствует названию

статью сложно понять

в статье нет ответа на мой вопрос

рекомендации из статьи не помогли

другая причина

Расскажите, что вам не понравилось в статье: