Я пытаюсь настроить динамическую службу DNS (для личного использования). Что-то похожее на dynds.org.
Что сделано на данный момент: - делегировал example.org внешнему DNS-серверу в ovh (мой ящик) - настроил привязку для принятия example.org - добавлен субдомен home.example.org для привязки файла конфигурации с ttl 60
Цель: - home.example.org должен часто обновляться (каждую минуту, как и служба dyndns) с IP-адресом назначения моей домашней сети (динамический IP-адрес) - я поймаю пинг из моей домашней сети, сохраню его в файл зоны и выполните rndc reload example.org на моем DNS-сервере - он должен распространяться по всему миру (как dyndns)
Вопрос в следующем: как должен выглядеть «правильный» файл зоны, чтобы быть уверенным, что он не будет кэшироваться более одной минуты и что все мировые DNS-серверы будут запрашивать у моего сервера текущий IP-адрес.
Проблема в том, что когда я dig flies.dyndns-home.com any
Я вижу, что TTL падает:
flies.dyndns-home.com. 19 IN A X.X.X.X
flies.dyndns-home.com. 3 IN A X.X.X.X
но это не относится к моему домену:
home.example.org. 60 IN A X.X.X.X
home.example.org. 60 IN A X.X.X.X
Всегда 60.
Любая помощь будет оценена.
Разница в том, что то, что вы называете «world dns», является кеширующим сервером, а «ваш домен» является авторитетным для зоны, которую вы запрашиваете. Это совершенно разные роли для программного обеспечения DNS, однако большинство реализаций могут выполнять и то, и другое.
Кэширующий сервер не хранит подлинную информацию об имени, поэтому он показывает свой собственный TTL, чтобы дать вам представление о том, как долго запись будет существовать до ее обновления.
Авторитетный сервер отвечает с подтвержденным TTL для записи, потому что источником этой информации является локальная база данных, и теперь у нее есть исходный TTL.
Что касается метода обновления, в программном обеспечении BIND есть стандартная утилита под названием nsupdate
для этого. Видеть Вот Вы можете поместить ключ к серверу в своей сети и запустить на нем nsupdate, обновив удаленный DNS-сервер BIND.