Я посмотрел справочную страницу и не смог найти, как долго dnsmasq кеширует днс. какое правило для кэширования и истечения срока действия?
У меня проблема с тем, что отправка запроса во внешнюю службу иногда занимает более 5 или 10 секунд для namelookup. Я мог бы сохранить внешний 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
Query time: 0msec
означает попадание в кеш для dnsmasq. но как долго dnsmasq будет хранить запись DNS в кеше?--max_ttl
флаг? Я бы предпочел всегда получать правильный IP-адрес, а не пропускать изменение IP-адреса внешнего сервиса.Опция, которую вам нужно будет установить для 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, подробно описывающее введение этой функции.
источник