私はマニュアルページを調べましたが、dnsmasqがDNSをキャッシュする時間を見つけることができませんでした。キャッシュと有効期限のルールは何ですか?
外部サービスへのリクエスト送信がnamelookupに5秒または10秒以上かかることがあるという問題があります。外部サービスのIPを/ etc/hostsに保存できますが、IPの変更が怖いです。 Dnsmasqをインストールすると、名前のルックアップが改善されますが、遅い名前のルックアップはまだ少ない頻度で発生します。
1つの解決策は、cronジョブで単純なpingをセットアップすることですが、最初に有効期限を確認する必要があります。
ありがとう。
[〜#〜]更新[〜#〜]
追加された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
更新2
以前のDig出力にはTTLとして0が含まれているため、誤解を招く可能性があります。別のDig出力を投稿しました。
; <<>> 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値を使用して、キャッシュ期間を決定します。Dig
コマンドを使用して、DNSサーバーの現在のTTL=そのドメイン。
Dnsmasqに設定する必要があるオプションは--min-cache-ttl
で、値は秒単位です。
Digの出力によると、TTLは0です。これを--min-cache-ttl=600
に設定すると、返されるTTL値Digによって600になります。TTL for api.mch.weixin.qq.com
from I where]は600なので、自分で600秒に設定すると、IPの変更を見逃さないようにするのにかなり安全です。(Iあなたは中国にいると思います)
これにより、すべてのDNSレコードが10分間有効と見なされます。
この機能の導入の詳細については、dnsmasq メーリングリストメッセージ を参照してください。