J'ai recherché la page de manuel et n'ai pas pu trouver combien de temps dnsmasq cache un DNS. quelle est la règle de mise en cache et d'expiration?
J'ai un problème qui demande l'envoi à un service externe prend parfois plus de 5 ou 10 secondes pour namelookup. Je pourrais enregistrer l'ip du service externe dans / etc / hosts mais j'ai peur du changement d'ip. L'installation de Dnsmasq améliore la recherche de noms mais la recherche de noms lente se produit toujours avec moins de fréquence.
Une solution consiste à configurer un simple ping dans le travail cron, mais je dois d'abord connaître le délai d'expiration.
Merci.
MISE À JOUR
sortie de fouille ajoutée
; <<>> 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
MISE À JOUR 2
la sortie de fouille précédente contient TTL comme 0, ce qui est trompeur. J'ai posté une autre sortie de fouille.
; <<>> 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
signifie un accès au cache à dnsmasq. mais combien de temps dnsmasq conservera-t-il l'enregistrement DNS dans le cache?--max_ttl
drapeau? Je préfère toujours obtenir la bonne adresse IP que de manquer le changement d'adresse IP du service externe.L'option que vous devrez définir pour dnsmasq est
--min-cache-ttl
, la valeur est en secondes.Selon la sortie de fouille, le TTL est 0, si vous le définissez, disons
--min-cache-ttl=600
, la valeur TTL qui sera renvoyée par dig sera de 600. Le TTL pourapi.mch.weixin.qq.com
d'où je suis est de 600, donc définissez-le sur 600 secondes vous-même devrait être raisonnablement sûr en évitant de manquer toute modification IP. (Je suppose que vous vous trouvez en Chine.)Ainsi, tous les enregistrements DNS seront considérés comme valides pendant 10 minutes.
Voir le message de la liste de diffusion dnsmasq détaillant l'introduction de cette fonctionnalité.
la source