Использование PowerDNS c DNSmanager

Материал из ISPWiki

Перейти к: навигация, поиск

Содержание

Установка PowerDNS

При установке на чистый сервер, достаточно выбрать необходимую версию PowerDNS в системе установки DNSmanager. Если же установка проводится на сервер с установленным MySQL, то для успешной активации в файл /usr/local/ispmgr/etc/dnsmgr.conf необходимо добавить 2 параметра:

DBPassword имя_администратора_MySQL
DBSocket путь_к_сокету_MySQL

и запустить установку.

Автоматический запуск PowerDNS настраивать не нужно, напротив, если это сделал установщик пакета, то его лучше убрать. Запуск всех серверов PowerDNS будет осуществляться командой

/usr/local/ispmgr/sbin/mgrctl -m dnsmgr bindip

которая автоматически пропишется в файл /etc/rc.local

Настройка DNSmanager

Для работы DNSmanager с PowerDNS в /usr/local/ispmgr/etc/dnsmgr.conf добавляется параметр

DNSserver powerdns

в MySQL создается пользователь, из под которого выполняется работа с БД. Для настройки подключения к серверу баз данных используются следующие параметры:

PdnsDBHost <hostname> 
PdnsDBUser <user> 
PdnsDBPassword <pass>  // пароль пользователя <user>
PdnsDBSocket <socket>  // путь до MySQL UNIX socket

Обратите внимание, что указываемый пользователь MySQL должен иметь права на создание и удаление баз данных и таблиц.

Другие параметры, необходимые для успешной работы:

  • path pdns_control значение по умолчанию /usr/local/bin/pdns_control - путь до утилиты pdns_control
  • path pdns_server значение по умолчанию /usr/local/sbin/pdns_server - путь до pdns_server
  • path ConfigDir значение по умолчанию /usr/local/etc/pdns - директория, в которой необходимо хранить конфигурационные файлы серверов имен.

Также вы можете изменить шаблон конфигурационного файла PowerDNS, в зависимости от своих потребностей

/usr/local/ispmgr/etc/pdns.conf.template

На основе данного шаблона DNSmanager создает конфигурационные файлы нового сервера PowerDNS. Внимание !!! Файл по указанному пути появляется при первом запуске, до этого он находится в

/usr/local/ispmgr/etc/dist/pdns.conf.template

Как это работает

Поскольку PowerDNS не имеет такого понятия как view, задача изоляции пользователей друг от друга решается запуском отдельных копий сервера, каждая из которых работает с собственным конфигурационным файлом и базой данных.

При создании нового пространства имен создается база данных и конфиг PowerDNS (на основе шаблона, описанного выше), а также запускается новая копия сервера PowerDNS.

Имя базы соответствует имени пространства имен, но символы точки заменены на символ подчеркивания.

Имя конфигурационного файла формируется аналогичным образом, но имеет дополнительно префикс pdns- и суффикс .conf

Остальную информацию о работе и настройке сервера имен вы можете прочитать на сайте производителя http://doc.powerdns.com/

Переход имеющегося сервера, использующего named

Мы постарались максимально автоматизировать процедуру смены DNS-сервера

  • Остановите named и уберите его автозапуск из конфигурационного файла. Данный шаг необходим для освобождения IP-адреса.
  • Закомментируйте на время переноса "DNSserver powerdns" в конфигурационном файле
  • Запустите команду:
/usr/local/ispmgr/sbin/mgrctl -m dnsmgr convert.dns to=powerdns

Через некоторое время начнется перенос зон с мастеров, и зоны начнут работать. Внимание !!! Если пространство имен содержит достаточно большое количество зон (от 1000), мы рекомендуем увеличивать параметр slave-cycle-interval. Чем больше зон, тем больше период опроса (для примерно 100 тыс. доменов данный параметр выставлялся в час). После того как завершится первичный трансфер зон, можно вернуть ему значение по умолчанию - 1 минута.

Если что-то пошло не так или не заработало, всегда можно откатить работу на named

1) остановите сервера PowerDNS

killall pdns_server

2) запустите named

3) в конфигурационном файле dnsmgr.conf напишите

DNSserver named

4) перезапустите DNSmanager

killall dnsmgr
Была ли эта информация полезной? Да | Нет
Личные инструменты