Назад | Перейти на главную страницу

Чтение зон DNS из базы данных

Я разработал приложение с Laravel (это то же самое, что и конструктор сайтов), клиенты могут добавлять свою информацию в свой профиль и, наконец, они могут припарковать домен в профиле (установив мой DNS для доменов)

В контроллере приложения я получу доменное имя (с request()->getHost()) и я загружу правильный профиль.

Все в порядке, когда я протестировал свое приложение на локальном компьютере, добавив образец домена в /etc/hosts.

Моя проблема связана с сервером, потому что мне нужно добавить зону DNS для каждого домена (насколько я знаю), мне интересно, есть ли какое-либо решение для чтения записей DNS из базы данных MySQL вместо файла? потому что BIND загрузит зоны DNS из текстового файла, и я не хочу создавать эти файлы.

Сервер CentOS 8.

Можно ли перейти на PowerDNS вместо BIND? PowerDNS поддерживает чтение записей DNS из базы данных MySQL и имеет JSON API для добавления / удаления записей, которые вы можете использовать из своего приложения (которое будет обрабатывать такие вещи, как правильное увеличение серийного номера) вместо ручного управления своей базой данных.

BIND имеет поддержку базы данных, называемую Динамически загружаемые зоны (DLZ).

DLZ (динамически загружаемые зоны) - это расширение BIND 9, которое позволяет извлекать данные зоны непосредственно из внешней базы данных. Нет обязательного формата или схемы. Драйверы DLZ существуют для нескольких различных баз данных, включая PostgreSQL, MySQL и LDAP, и могут быть написаны для любых других.

Также есть статья о Использование DLZ в BIND.