Я хочу преобразовать настройку на основе Bind-DLZ в настройку на основе PowerDNS. Для этого я хотел бы использовать инструмент zone2sql, поставляемый с PowerDNS. К сожалению, этот инструмент пропускает прямо через определенную зону DLZ в моем named.conf
. Я искал сценарий, который сбрасывает базу данных DLZ в традиционные файлы DNS и named.conf
это ссылается на них, но не повезло.
Такой инструмент существует? Если да, не могли бы вы связать меня с ним?
Самый простой способ извлечь информацию DNS из базы данных Bind-DLZ - использовать AXFR запрос для каждой «зоны» в базе данных.
Во-первых, определите зоны, хранящиеся в вашей базе данных, подключившись к ней с помощью того клиента, который подходит для вашего типа базы данных (например, mysql
) и выдачи выписки:
SELECT DISTINCT zone FROM dns_records;
Где dns_records
table - это таблица, в которой хранится ваша информация DNS.
Во-вторых, убедитесь, что сервер привязки разрешает запросы на передачу от хоста, на котором вы будете выполнять извлечение. Отредактируйте свой named.conf
и соответствующим образом настройте блок параметров (затем перезапустите Bind):
options {
# Allow host 192.168.1.5 to issue AXFR queries to this server
allow-transfer { 192.168.1.5; };
};
В-третьих, для каждой зоны в списке, полученном из вашей базы данных DLZ, введите следующую команду:
$ dig AXFR @your-dns-server.example.com a.zone.com > a.zone.com.zonefile
Где «a.zone.com» - это зона из списка (например, «example.com»), а «a.zone.com.zonefile» - это файл, который будет создан с записями зоны.
Наконец, используйте zone2sql инструмент для преобразования каждого из файлов вашей зоны в базу данных PowerDNS.