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

bind9; как автоматически обновлять запись после ее истечения

Я ищу способ автоматически обновлять записи в моем кеше, если срок его действия истекает.

Например, example.com имеет TTL 60, я хотел бы автоматически обновлять его, если он истекает, чтобы при запросе пользователем example.com свежая версия уже была в кеше.

Возможно ли это внутри привязки?

Спасибо!

BIND поддерживает технику, называемую prefetch. Использование предварительной выборки BIND автоматически обновит записи, срок действия которых скоро истечет. Ниже приводится синтаксис предварительной выборки.

 sudo vim /etc/bind/named.conf.options
 ...
 options {
 ...
 prefetch 2 9;
};
...

Как видите, здесь два числа: trigger (здесь 2), а eligibility (здесь 9). Это указывает BIND обновлять записи DNS для всех записей, у которых начальный TTL был больше 9 секунд, если оставшийся TTL упал ниже 2 секунд. Таким образом, он не будет слепо обновлять все записи, вместо этого он будет отслеживать только те записи, у которых начальный TTL больше, чем допустимость, и как только оставшийся TTL для этих записей упадет ниже значения триггера, он обновит их. Значения права на участие и триггера указаны в секундах.

Итак, предположим, что у example.com TTL составляет 60 секунд (т.е. TTL, когда запись была извлечена), я хочу убедиться, что если оставшийся TTL упадет ниже 10 секунд, запись должна быть обновлена. Следующее будет моей опцией предварительной выборки в файле конфигурации.

prefetch 10 60

Дальнейшее чтение: https://kb.isc.org/article/AA-01122/0

Нет, нет. Кэш предназначен для автоматической «записи» записей при первом обращении к ним для более быстрого доступа в дальнейшем. Нет никакого прироста производительности для записей с «предварительным кэшированием», как вы описываете.