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

Несвязанный - домены кешируются только на короткое время

Недавно я настроил Unbound для кэширования DNS вместе с DNScrypt в Linux Mint 18.1. Это работает, но я заметил, что страницы кешируются только на короткое время:

  1. Первый запрос на google.com - 48 мс (домен не кешируется)
  2. Второй запрос на google.com (сразу после этого) - 0 мс (домен кеширован)
  3. Третий запрос к google.com (через ~ минуту) - 46 мс (домен не кэширован)

Это предполагаемое поведение или мне нужно настроить что-то другое для кеширования страниц на более длительное время? Вот моя несвязанная конфигурация (/etc/unbound/unbound.conf): #

 Unbound configuration file for Debian.
    #
    # See the unbound.conf(5) man page.
    #
    # See /usr/share/doc/unbound/examples/unbound.conf for a commented
    # reference config file.age
    #
    # The following line includes additional configuration files from the
    # /etc/unbound/unbound.conf.d directory.
    include: "/etc/unbound/unbound.conf.d/*.conf"
    server:
        verbosity: 1
        num-threads: 4
        outgoing-range: 8192
        so-rcvbuf: 4m
        so-sndbuf: 4m
        so-reuseport: yes
        msg-cache-size: 50m
        msg-cache-slabs: 16
        num-queries-per-thread: 4096
        rrset-cache-size: 100m
        rrset-cache-slabs: 16
        infra-cache-slabs: 16
        do-ip4: yes
        do-ip6: no
        do-udp: yes
        do-tcp: yes
        do-daemonize: yes
        hide-identity: yes
        hide-version: yes 
        harden-short-bufsize: yes
        harden-large-queries: yes
        harden-glue: yes
        harden-dnssec-stripped: yes
        harden-below-nxdomain: yes
        harden-referral-path: yes
        logfile: "/etc/unbound/unbound.log"
        use-caps-for-id: yes
        do-not-query-localhost: no
        prefetch: no 
    forward-zone:
        name: "."
        forward-addr: 127.0.0.1@40

Несвязанный будет (или, по крайней мере, должен) кэшировать результат на время, указанное в TTL для записи, которую вы запрашиваете.

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

Первоначальный запрос, который показывает TTL 300 секунд и занимает 18 мс

;; ANSWER SECTION:
google.com.             300     IN      A       172.217.20.46

;; Query time: 18 msec
;; SERVER: 10.34.20.1#53(10.34.20.1)
;; WHEN: Sun Feb 12 20:39:30 2017
;; MSG SIZE  rcvd: 44

Последующие запросы - TTL идет обратный отсчет и занимает 0 мс

;; ANSWER SECTION:
google.com.             196     IN      A       172.217.20.46

;; Query time: 0 msec
;; SERVER: 10.34.20.1#53(10.34.20.1)
;; WHEN: Sun Feb 12 20:41:14 2017
;; MSG SIZE  rcvd: 44

Срок действия TTL истек, поэтому выполняется еще один восходящий запрос 23 мс

;; ANSWER SECTION:
google.com.             300     IN      A       172.217.20.46

;; Query time: 23 msec
;; SERVER: 10.34.20.1#53(10.34.20.1)
;; WHEN: Sun Feb 12 20:44:37 2017
;; MSG SIZE  rcvd: 44