я установил классический сервер bind9 dns в локальной сети, работая передачей сервер DNS, существует мой файл конфигурации (я просто добавил свои серверы DNS ISP как средства передачи):
опции {
каталог "/var/cache/bind";
средства передачи {212.27.40.240; 212.27.40.241;};
передайте только;
автоматическая dnssec-проверка;
автор-nxdomain нет; # соответствуют RFC1035
listen-on-v6 {любой;};};
моим интересным местом является "Время запроса", полученное, когда использование роет
я использовал, роют @my_dns_ipadress www.google.com
я также добавил время, когда был отправлен запрос
6:04:47->;; Время запроса: 157 мс (первый запрос после связывают, были запущены),
6:09:24->;; Время запроса: 1 мс
6:29:28->;; Время запроса: 106 мс
6:39:39->;; Время запроса: 1 мс
7:04:21->;; Время запроса: 98 мс
мой вопрос, почему 3-е и 5-е время запроса не составляет приблизительно 1 мс? кэш не сделал, кажется, используется
Я также выполнил эти тесты при дампе исходящий udp 53 пакета к моему isp серверу DNS, и я нашел, что, когда время запроса выше 1 или 2 мс, свяжите отправленные запросы DNS с моим isp сервером DNS.
Таким образом, как может я вызывать связать для использования его кэша?
привязка не может кэшировать запись дольше, чем TTL записи (время жизни). www.google.com имеет TTL 5 минут, поэтому срок действия кэшированной записи истечет по истечении этого времени.
Мне удалось это сделать, используя несвязанный DNS-сервер, установив для параметра "cache-min-ttl" значение 604800 секунд (1 неделя). Кэш всегда используется в течение одной недели, время Qery составляет от 1 до 3 мс