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

Как долго dnsmasq кеширует dns?

Я просмотрел справочную страницу и не смог найти, как долго dnsmasq кэширует dns. какое правило для кеширования и истечения срока действия?

У меня проблема с тем, что запрос на отправку во внешнюю службу иногда занимает более 5 или 10 секунд для поиска имени. Я мог бы сохранить IP-адрес внешней службы в / etc / hosts, но я боюсь изменения IP-адреса. Установка Dnsmasq улучшает поиск имени, но медленный поиск по-прежнему выполняется с меньшей частотой.

Одно из решений - настроить простой ping в задании cron, но сначала мне нужно узнать время истечения срока действия.

Спасибо.

ОБНОВИТЬ

добавлен вывод раскопок

; <<>> DiG 9.8.1-P1 <<>> api.mch.weixin.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45012
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;api.mch.weixin.qq.com.             IN      A

;; ANSWER SECTION:
api.mch.weixin.qq.com.      0       IN      A       140.207.69.102

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jul 17 19:24:36 2015
;; MSG SIZE  rcvd: 55

ОБНОВЛЕНИЕ 2

предыдущий вывод Dig содержит TTL как 0, что вводит в заблуждение. Я опубликовал еще один результат раскопок.

; <<>> DiG 9.8.1-P1 <<>> api.mch.weixin.qq.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 60900
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;api.mch.weixin.qq.com.             IN      A

;; ANSWER SECTION:
api.mch.weixin.qq.com.      181     IN      CNAME   forward.qq.com.
forward.qq.com.             181     IN      A       101.226.90.149
forward.qq.com.             181     IN      A       101.226.129.200

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Tue Jul 21 12:01:54 2015
;; MSG SIZE  rcvd: 99

DNSmasq использует значение TTL DNS для определения периода кэширования. Вы можете использовать dig чтобы запросить текущий TTL вашего DNS-сервера для этого домена.

Параметр, который вам нужно будет установить для dnsmasq, это --min-cache-ttl, значение в секундах.

Согласно выходным данным dig, TTL равен 0, если вы установите, скажем, --min-cache-ttl=600, то значение TTL, которое будет возвращено dig, будет 600. TTL для api.mch.weixin.qq.com от того места, где я нахожусь, - 600, поэтому установка его на 600 секунд должна быть достаточно безопасной, чтобы не пропустить какие-либо изменения IP. (Я предполагаю, что вы находитесь в Китае.)

В результате все записи DNS будут считаться действительными в течение 10 минут.

См. Dnsmasq сообщение списка рассылки подробно описывая введение этой функции.