2009-02-25 3 views
4

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

В основном я просто хочу запросить, какие поддомены уже существуют и добавить новые.

Является ли BIND лучшим решением? Есть ли другой способ автоматического добавления новых доменов без необходимости входить в GoDaddy или обновлять мою конфигурацию BIND вручную?

ответ

3

Функция, необходимая для добавления новых поддоменов, это Dynamic Updates, как указано в RFC 2136, и хорошо поддерживается BIND.

Для добавления и удаления записей из файла зоны с помощью сообщения DNS «UPDATE» достаточно просто (например, с модулем Perl Net :: DNS).

Чтобы действительно получить то, что там, у вас есть два подхода:

  1. лечение некоторые другие базы данных, как окончательные, и преобразующие изменения в этой базе данных в обновления DDNS, или.

  2. Разрешить DNS «AXFR» сообщения, которые позволяют загружать все содержимое зоны

3

Один из подходов - написать программу, которая считывает и/или обновляет конфигурационный файл BIND (это только текстовый файл с определенным форматом) и перезагружает демона BIND, если были сделаны какие-либо изменения. Таким образом, было бы так, как если бы вы обновили свою конфигурацию BIND вручную, за исключением того, что вы бы написали программу для этого.

2

Просто FYI (правда, только в системе управления зоной, а не на весь мир!): Это системы/сетевой административный вопрос, а не вопрос программирования. Вероятно, вы могли бы получить более быстрые ответы быстрее в другом месте.

Это очень просто: вам просто нужен DNS-сервер, который поддерживает базу данных базы данных для своих данных. Затем вы просто записываете записи в базу данных или запрашиваете базу данных для того, что там есть, и записи DNS будут обслуживаться автоматически. В идеале используйте базу данных, которая поддерживает триггеры, чтобы вы могли автоматически обновлять серийные номера записей DNS при изменениях. В противном случае вам нужно будет прочитать/записать серийный номер в каждом изменении вашего кода, выполнив все обновление в транзакции.

Редактировать: просто увидел другой комментарий выше. Не разрешайте AXFR. В наши дни это считается угрозой безопасности.

Есть ли у TTL -ов домена низкий уровень, поэтому обновления распространяются на другие серверы быстро.