Документация DNSmanager

Перенос DNSmanager между серверами

Перенос панели и лицензии DNSmanager на новый сервер может потребоваться при переезде на новое оборудование

Для этого вам нужно:

  1. Импортировать данные пользователей со старого сервера на новый.
  2. Привязать лицензию на панель управления к новому серверу. 

Шаг 1. Импорт данных пользователя


  1. На момент переноса на каждом сервере должна быть активная лицензия. На новом сервере установите и активируйте триальную версию продукта, следуя инструкции по установке.

  2. Перенесите данные на новый сервер. 

Перенос файлов DNSmanager


  1. Установите DNSmanager на новом сервере. В качестве сервера доменных имён выберите тот же, что был выбран для DNSmanager на старом сервере. 
  2. Перенесите нужные настройки из конфигурационного файла DNSmanager (по умолчанию /usr/local/mgr5/etc/dnsmgr.conf) на новый сервер. Не рекомендуем копировать полностью конфигурационный файл, т. к. в нём могут быть указаны пути, которых нет на новом сервере. Например, если на серверах установлены разные операционные системы.
  3. Скопируйте на новый сервер базы данных DNSmanager. Для этого выполните на нём команды:

    scp root@<IP-адрес старого сервера>:/usr/local/mgr5/etc/dnsmgr.db* /usr/local/mgr5/etc/
    scp root@<IP-адрес старого сервера>:/usr/local/mgr5/etc/dnsmgr_ipdb.db* /usr/local/mgr5/etc/
  4. В базах данных замените IP-адрес старого сервера на IP-адрес нового сервера:
    • в базе данных dnsmgr_ipdb.db → таблица ips. Соответствует разделу панели управления Настройки → База IP-адресов → Адреса;
    • в базе данных dnsmgr_ipdb.db → таблица ranges. Соответствует разделу панели управления Настройки → База IP-адресов;
    • в базе данных dnsmgr.db → таблица namespace.

Перенос файлов DNS-сервера


Если на серверах установлен BIND

  1. Скопируйте на новый сервер файл конфигурации DNS-сервера:
    • CentOS: /etc/named.conf
    • Debian: /etc/bind/named.conf и /etc/bind/named.conf.options
  2. Замените в скопированных файлах IP-адрес старого сервера на IP-адрес нового сервера:

    sed -i 's/\<<IP-адрес старого сервера>\>/<IP-адрес нового сервера>/g' <путь к конфигурационному файлу>

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

    \<<IP-адрес старого сервера>\> означает IP-адрес, заключённый в угловые скобки. При этом скобки экранируются. Например, "\<192.168.0.1\>".

  3. Скопируйте на новый сервер файлы доменных зон:
    • CentOS: /var/named/*
    • Debian: /etc/bind/ domains
  4. Очистите кэш базы данных DNSmanager на новом сервере:

    rm -f /usr/local/mgr5/var/.db.cache.*

Если на серверах установлен PowerDNS

  1. Перенесите нужные настройки из конфигурационного файла PowerDNS на новый сервер.
    • CentOS: /etc/pdns/pdns.conf
    • Debian: /etc/powerdns/pdns.conf
    Не рекомендуем копировать полностью конфигурационный файл, т. к. в нём могут быть указаны пути, которых нет на новом сервере. Например, если на серверах установлены разные операционные системы.
  2. Перенесите конфигурационные файлы пространств доменных имён на новый сервер.
    • CentOS: /etc/pdns/pdns-*.conf
    • Debian : /etc/powerdns/pdns-*.conf

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

    В конфигурационных файлах пространств доменных имён указываются параметры подключения к MySQL: gmysql-user — имя пользователя, gmysql-password — пароль. Измените эти значения на актуальные для нового сервера.

  3. Перенесите базу данных PowerDNS на новый сервер:
    1. Создайте дамп базы на старом сервере.

      mysqldump --databases <пространство имён по умолчанию> <пользовательские пространства имён> > <путь к файлу, в который будет записан дамп>
       Пояснения

      <пространство имён по умолчанию> — powerdns для CentOS, pdns для Debian
      <пользовательские пространства имён> — PowerDNS создаёт отдельную базу данных для каждого пространства, укажите их все через пробел

    2. Скопируйте дамп на новый сервер. Для этого выполните на нём команду:

      scp root@<IP-адрес старого сервера>:<путь к файлу, в который записан дамп> <путь к файлу на новом сервере, в который будет скопирован дамп>
    3. Разверните базу данных из дампа на новом сервере:

      mysql <имя базы данных> < <путь к файлу на новом сервере, в который скопирован дамп>
       Пояснения

      <имя базы данных> — powerdns для CentOS, pdns для Debian

Проверка


  1. Перезапустите DNSmanager на новом сервере:

    /usr/local/mgr5/sbin/mgrctl -m dnsmgr exit
  2. Перезапустите DNS-сервер:
    • Если на сервере установлен BIND:

      CentOS
      systemctl restart named
      Debian
      systemctl restart bind9
    • Если на сервере установлен PowerDNS, выполните:

      systemctl restart pdns
  3. Убедитесь, что DNSmanager функционирует корректно.

Настройка вторичных серверов имён (slave)


Замените в конфигурационных файлах IP-адрес старого сервера на IP-адрес нового сервера:

  1. Определите нужный файл:
    • Если на сервере установлен BIND:

      Конфигурационный файл в CentOS: /etc/named.conf

      Конфигурационные файлы в Debian: /etc/bind/named.conf и /etc/bind/named.conf.options

    • Если на сервере установлен PowerDNS:

      Конфигурационный файл в CentOS: /etc/pdns/pdns.conf

      Конфигурационный файл в Debian: /etc/powerdns/pdns.conf

  2. Выполните для него команду:

    sed -i 's/\<<IP-адрес старого сервера>\>/<IP-адрес нового сервера>/g' <путь к конфигурационному файлу>

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

    \<<IP-адрес старого сервера>\> означает IP-адрес, заключённый в угловые скобки. При этом скобки экранируются. Например, "\<192.168.0.1\>".

Отключение DNS-сервера на старом сервере


Отключите DNS-сервер на старом сервере и уберите его из автозагрузки:

  • Если на сервере установлен BIND:

    CentOS
    systemctl stop named
    systemctl disable named
    Debian
    systemctl stop bind9
    systemctl disable bind9
  • Если на сервере установлен PowerDNS, выполните:

    systemctl stop pdns
    systemctl disable pdns