web-dev-qa-db-fra.com

Combien de temps dure Dnsmasq cache DNS?

J'ai regardé la page de l'homme et je n'ai pas trouvé combien de temps Dnsmasq cache un DNS. Quelle est la règle de la mise en cache et de l'expiration?

J'ai un problème que la demande d'envoi à un service externe prend parfois plus de 5 ou 10 secondes pour Namelookup. Je pourrais sauvegarder l'adresse IP de service externe sur/etc/hosts, mais j'ai peur du changement IP. L'installation de DNSMASQ améliore la recherche de nom mais Slow NamelookUp se produit toujours avec moins de fréquence.

Une solution consiste à configurer un ping simple dans le travail de cron, mais je dois d'abord découvrir l'heure d'expiration.

merci.

MISE À JOUR

ajout de la sortie Dig

; <<>> 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 qui est trompeuse. J'ai posté une autre sortie de creuser.

; <<>> 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
9
perlwle

Dnsmasq utilise le DNS TTL Valeur pour déterminer la période de mise en cache. Vous pouvez utiliser la commande Dig _ pour interroger le fichier actuel TTL de votre serveur DNS pour ce domaine.

9
Tero Kilkanen

L'option que vous devrez définir pour DNSMASQ est --min-cache-ttl, la valeur est en secondes.

Selon la sortie de la récupération, le TTL== est 0, si vous le définissez, dites --min-cache-ttl=600, alors la valeur TTL renvoyée par DIG sera 600. Le TTL pour api.mch.weixin.qq.com À partir d'où je suis 600, le réglage de 600 secondes que vous devriez être raisonnablement sûr pour éviter de manquer de tout changement IP. (Je suppose que vous êtes situé en Chine.)

Cela entraînera une prise en compte de tous les enregistrements DNS valables 10 minutes.

Voir le DNSMASQ Message de liste de diffusion Détailler l'introduction de cette fonctionnalité.

4
Phizes