Dnsmasq cache कब तक मरती है?


9

मैंने मैन पेज देखा और पता नहीं चला कि कितनी देर तक dnsmasq कैश ए डीएनएस। कैशिंग और समाप्ति के लिए नियम क्या है?

मुझे एक समस्या है जो बाहरी सेवा को भेजने का अनुरोध कभी-कभी 5 या 10 सेकंड से अधिक समय के लिए होता है। मैं बाहरी सेवा आईपी / / / मेजबानों को बचा सकता था लेकिन मैं आईपी परिवर्तन से डरता हूं। Dnsmasq को स्थापित करने से नाम देखने में सुधार होता है, लेकिन धीमी गति से चलने वाला नामकुप अभी भी कम आवृत्ति के साथ होता है।

एक समाधान क्रोन जॉब में एक साधारण पिंग सेटअप करना है, लेकिन मुझे पहले समाप्ति समय का पता लगाने की आवश्यकता है।

धन्यवाद।

अपडेट करें

जोड़ा गया आउटपुट

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

अद्यतन २

पिछले खुदाई आउटपुट में 0 के रूप में TTL शामिल है जो भ्रामक है। मैंने एक और डिग आउटपुट पोस्ट किया है।

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

DNSmasq कैशिंग अवधि निर्धारित करने के लिए DNS TTL मान का उपयोग करता है। आप digउस डोमेन के लिए अपने DNS सर्वर के वर्तमान टीटीएल को क्वेरी करने के लिए कमांड का उपयोग कर सकते हैं ।


क्या आपका मतलब है कि टीटीएल अवधि के भीतर केवल कैश के बराबर ही डीएनएसएमएक्यू है? मैंने अपने सवाल को आउटपुट के साथ अपडेट किया।
पर्लवेल

1
हां, केवल TTL अवधि का उपयोग कैशिंग के लिए किया जाता है। और आपका TTL 0 है, इसलिए DNSmasq हमेशा आधिकारिक DNS सर्वर को क्वेरी करेगा।
तेरो किलक्कनन

हालाँकि, जैसा कि मैनुअल में कहा गया है, आप कैश्ड मानों के लिए कम TTL को बाध्य करने के लिए --max-cache-ttl का उपयोग कर सकते हैं (इसे स्वयं परीक्षण नहीं किया है)।
sam_pan_mariusz

@TeroKilkanen का Query time: 0msecमतलब है कि dnsmasq को कैश हिट। लेकिन कब तक dnsmasq dns का रिकॉर्ड कैश में रखेगा?
पर्लवैल

@sam_pan_mariusz मुझे लगता है कि आपको --max_ttlध्वज का मतलब है ? मैं बाहरी सेवा IP परिवर्तन को याद करने की बजाय हमेशा सही IP प्राप्त करना चाहूंगा।
पर्ल

4

Dnsmasq के लिए आपको जो विकल्प सेट करने की आवश्यकता होगी --min-cache-ttl, वह मूल्य सेकंडों में है।

खुदाई आउटपुट के अनुसार, टीटीएल 0 है, यदि आप इसे कहते हैं --min-cache-ttl=600, तो टीटीएल मान जो खुदाई द्वारा वापस आ जाएगा, 600 होगा। टीटीएल api.mch.weixin.qq.comजहां से मैं 600 साल का हूं, इसलिए इसे 600 सेकंड में सेट करें। किसी भी आईपी परिवर्तनों को याद करने से बचने में यथोचित रूप से सुरक्षित होना चाहिए। (मुझे लगता है कि आप चीन में स्थित हैं।)

इससे सभी DNS रिकॉर्ड 10 मिनट के लिए वैध माने जाएंगे।

इस सुविधा की शुरूआत का विवरण देते हुए dnsmasq मेलिंग सूची संदेश देखें ।


मैं हर 10 मिनट में पिंग करने जा रहा हूं और उम्मीद है कि डीएनएस लुकिंग लैग को ठीक कर देगा। जैसा कि पिछली टिप्पणी में उल्लेख किया गया है, मैं एक पुराने संस्करण का उपयोग कर रहा हूं जिसमें वह सेटिंग नहीं है। अगर मैं गलत हूं तो मुझे सुधारें .. हालांकि, अगर यह उपलब्ध है, तो इसे 600 पर सेट करना बाहरी सेवा TTL के समान होगा। इससे कोई फर्क नहीं पड़ेगा, क्या यह होगा?
perlwle

1
@perlwle नहीं, ऐसा नहीं होगा, मैंने मान लिया था कि आपको हमेशा शून्य का TTL प्राप्त होता है, इसे बढ़ाकर 1200 करने से मदद मिलेगी। मैं DNSCrypt में देखने का सुझाव दूंगा । अधिक जानकारी के बिना कि कितने समय के लिए लुकअप, आपके कनेक्शन की गति, और 3 पार्टियों के प्रभाव, मैं स्पष्ट जवाब नहीं दे सकता। यदि आपको अधिक शक्तिशाली DNS कैश / रिज़ॉल्वर की आवश्यकता है, तो मैं अनबाउंड के बारे में इस ट्यूटोरियल के मूल भाग की सिफारिश करूंगा , यह Ubuntu 12.04 पर मानक रिपॉजिटरी से पूरी तरह से काम करता है। (ध्यान दें कि Google DNS अब DNSSEC को ठीक से संभालता है।)
आकार बदलता है

1
उन होस्ट फ़ाइल प्रविष्टियों के लिए dnsmasq 'local-ttl' पर भी ध्यान दें
KCD
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.