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

Перезаписать истечение срока действия SOA на подчиненном сервере имен bind9

Я запускаю подчиненный сервер имен домена, над которым у меня нет полного контроля (т.е. изменение SOA невозможно). SOA определяет срок действия в одну неделю. По разным причинам я хотел бы изменить это значение на моем конкретном подчиненном сервере на что-то большее. Есть ли способ сделать это?

Примечание: я знаю, что для полей обновления и повтора bind9 предоставляет параметры min-refresh-time, max-refresh-time, min-retry-time и max-retry-time, чтобы отменить SOA, как указано в документация. По какой-то причине это просто не включает истечение срока.

Прочитав код, я нашел решение, которое, похоже, работает. bind сохраняет время последнего, по его мнению, обновления зоны как время модификации файла зоны. Так

$ touch /var/cache/bind/domain.tld.db
$ rndc reload

заставит его думать, что он только что обновил домен. Этот трюк работает даже задним числом, то есть после того, как ссылка на главные серверы потеряна, а срок действия домена уже истек, а подчиненный сервер перестал отвечать на запросы.

Я не думаю, что вы можете изменить время истечения срока. Однако, если рассинхронизация в течение одной недели допустима, возможно, настройте его как главный и периодически синхронизируйте с dig -t AXFR>db.zone и rndc reload.