我查了手册页,找不到dnsmasqcachingdns多长时间。 caching和过期的规则是什么?
我有一个问题,请求发送到外部服务有时需要超过5或10秒的名称查询。 我可以将外部服务ip保存到/ etc / hosts,但是我担心ip会改变。 安装Dnsmasq可以提高名称查找的速度,但名称查询速度慢的问题仍然会以较低的频率发生
一个解决scheme是在cron作业中设置一个简单的ping,但是我需要首先找出到期时间。
谢谢。
UPDATE
增加挖掘输出
; <<>> 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
先前的挖掘输出包含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使用DNS TTL值来确定caching期。 您可以使用dig命令查询该域的DNS服务器的当前TTL。
您需要为dnsmasq设置的选项是--min-cache-ttl ,该值以秒为单位。
根据挖掘输出,TTL为0,如果设置为--min-cache-ttl=600 ,则dig返回的TTL值为api.mch.weixin.qq.com的TTL api.mch.weixin.qq.com从我这里是600,所以把它设置为600秒自己应该是合理安全的,以避免丢失任何IP更改。 (我猜你在中国。)
这将导致所有DNSlogging被认为有效10分钟。
请参阅dnsmasq 邮件列表消息,详细介绍此function的介绍。