Инструкция на случай когда нужно добавить в DNSmanager доменные зоны, которые присутствуют в конфигурационном файле BIND.
Алгоритм добавления:
- Доменная зона должна принадлежать пользователю DNSmanager. Создайте его и запомните Имя пользователя и Пространство имён DNS. Подробнее см. в статье Создание пользователя.
-
Откройте конфигурационный файл BIND:
Debian: /etc/bind/named.conf
CentOS: /etc/named.conf -
Каждому пользователю DNSmanager назначается пространство view в конфигурационном файле. Название view соответствует указанному при создании пользователя Пространству имён DNS. Внутри view добавляются все доменные зоны zone пользователя. Например:
view "hoster.me" { allow-transfer { 127.0.0.1; }; match-destinations { 149.154.66.80; }; transfer-source 149.154.66.80; zone "company.my" { type master; file "/etc/bind/hoster.user/company.my"; }; };
Перенесите нужные доменные зоны в конфигурационном файле во view созданного пользователя. -
Откройте базу данных DNSmanagerс помощью sqlite:
sqlite3 /usr/local/mgr5/etc/dnsmgr.db
-
Получите из базы данных id пользователя:
select id from user where name='<имя пользователя>';
-
Получите из базы данных id пространства имён пользователя:
select id from namespace where name='<пространство имён>';
-
Получите из базы данных id, который можно использовать для добавляемого домена:
select max(id)+1 from domain;
-
Добавьте запись о домене в базу данных:
insert into domain ([id],[name],[namespace_id],[user],[dtype]) values ('<id>','<name>','<namespace_id>','<user>','<dtype>');
Пояснения -
Если нужно добавить в базу данных большое количество записей, то можно автоматизировать этот процесс:
- Укажите все нужные доменные имена в файле.
-
Создайте файл со скриптом.
#!/bin/bash count=<id> for domain in `cat <file>`; do echo "insert into domain ([id],[name],[namespace_id],[user],[dtype]) values ('$count','$domain','<namespace_id>','<user>','<dtype>');" | sqlite3 /usr/local/mgr5/etc/dnsmgr.db count=$((count+1)) done
Пояснения - Запустите скрипт.
-
Перезапустите DNSmanager:
/usr/local/mgr5/sbin/mgrctl -m dnsmgr exit