CentOS में लोकल DNS कैश फ्लश कैसे करें


20

मैं एक CentOS 6 पर स्थानीय DNS कैश को फ्लश करने का एक तरीका ढूंढ रहा हूं।

सिस्टम कोई भी DNS सर्वर या कुछ भी नहीं चला रहा है, और मैं चाहता हूं कि हर DNS क्वेरी को कॉन्फ़िगर किए गए नेमसेवर से बाहर जाने दिया जाए, यहां तक ​​कि डुप्लिकेट वाले के लिए भी।

मैंने जो भी ऑनलाइन पाया वह मुझे करने service nscd restart, पुनः लोड करने या करने के लिए कहता है nscd -i hosts। हालाँकि, कोई भी कैश फ्लश करने के लिए लगता है।

इसलिए मैं सोच रहा हूं कि किसी को इस बात का अंदाजा हो कि मैं यह कैसे कर सकता हूं। क्या कर्नेल में किसी प्रकार का स्विच है जिसे मुझे फ्लिप करने की आवश्यकता है? आसपास किसी भी तरह का काम ठीक है।


आप यह जांचने के लिए क्या कर रहे हैं कि कैश फ्लश हुआ है या नहीं?
जॉन

ठीक है, यह थोड़ा जटिल है, मेरे पास पोर्ट 53 पर सुनने वाले अपने सिस्टम पर एक कार्यक्रम है और DNS प्रश्नों को निश्चित तरीके से अग्रेषित करता है, और स्थानीयहोस्ट का उपयोग करते हुए http प्रॉक्सी भी 'DNS सर्वर' के रूप में देता है; पहली क्वेरी (कहो wget -e 'http_proxy=localhost:3128' xxx.com) पर मैं देख सकता हूं कि क्वेरी को सही ढंग से अग्रेषित किया जा रहा है, लेकिन सभी बाद वाले नहीं हैं। यदि मैं लंबे समय तक प्रतीक्षा करता हूं (कैश समाप्त हो जाता है), तो यह फिर से काम करेगा।
ज़ी

और यह भी कि मैंने किसी भी वस्तु को कैश नहीं करने के लिए प्रॉक्सी (स्क्विड) को कॉन्फ़िगर किया है, इसलिए मैं मानूंगा कि यह सिस्टम अभी भी किसी भी तरह से उत्तर को कैशिंग कर रहा है
zee

1
nscd -i होस्ट -> हर समय काम करता है। मैंने nscd को लगातार 3 बार पुनः आरंभ किया और यह कैश को साफ़ नहीं करना चाहता था।
डेनी

nscd सैंटोस 7 न्यूनतम में एक बात नहीं लगती है। मुझे पता है कि सवाल CentOS 6 को कॉल करता है, लेकिन शीर्षक सामान्य रूप से CentOS को कॉल करता है। CentOS 7 तरीका क्या है?
duct_tape_coder

जवाबों:


11

यह आपका स्थानीय बॉक्स नहीं है जो DNS अनुरोधों को कैशिंग कर रहा है बल्कि यह DNS रिज़ॉल्वर है जिसे आप अपने /etc/resolv.confकैशिंग में उपयोग कर रहे हैं ।

उन कैश्ड प्रश्नों के उत्तर को रोकने के लिए:

  1. रिज़ॉल्वर बदलें।

    $ dig @<resolve-ip> www.google.com

  2. रिज़ॉल्वर पर DNS कैश फ्लश करें, यदि आप DNS सर्वर तक पहुंच सकते हैं।

    $ sudo /etc/init.d/bind restart


हम्म, लेकिन मैंने dns_nameservers 127.0.0.1प्रॉक्सी कॉन्फिगर फ़ाइल में सेट किया है, और श्रोता केवल नाम सर्वर को प्री-कन्फिगर करने के लिए प्रश्नों को फॉरवर्ड करता है, क्या यह मामला नहीं होना चाहिए कि resolv.conf से भी परामर्श नहीं किया गया है?
ज़ी

4
"bash: /etc/init.d/bind: ऐसी कोई फ़ाइल या निर्देशिका नहीं" और OP की विधि "nscd.service को फिर से शुरू करने में विफल: इकाई nscd.service लोड करने में विफल रही: ऐसी कोई फ़ाइल या निर्देशिका नहीं।" मुझे लगता है कि इन्हें स्थानांतरित / बदल दिया गया है। वे सिर्फ उन चीजों को क्यों नहीं छोड़ सकते जो जगह पर काम करती हैं, या कम से कम उपनामों को बनाए रखती हैं? बस एक लिनक्स-बॉक्स का उपयोग करने के लिए ओएस-विशेषज्ञ बनने के लिए बहुत बुरा है। इससे भी बदतर जब आपको हर रिलीज़ के साथ ओएस को फिर से सीखना होगा।
जोसेफ

3

क्लाइंट मशीन पर डीएनएस कैश को रिफ्रेश या फ्लश करने के बाद भी अगर यह काम नहीं करता है तो अपने सर्वर या क्लाइंट मशीन को किसी भी एनआईएस सर्वर के लिए बाध्य करें यदि हां तो "होस्ट: फाइल एनआईएस डीएनएस" को "होस्ट: फाइल डीएनएस एनआईएस" में बदलें। /etc/nsswitch.conf फ़ाइल में प्रविष्टि और आपको एनआईएस मास्टर सर्वर होस्ट सूची में आईपी पते को बदलने की आवश्यकता है।


इसके चलते मेरा समाधान हो गया। अंदर / आदि / मेजबानों को पहले स्टेटिकली कॉन्फ़िगर किया गया पुराना आईपी एड्रेस था। कुछ समय पहले मैंने कुछ किया था। उस लाइन को हटाने (या नए आईपी के साथ बदलने) ने समस्या को हल कर दिया और मुझे अपने होस्टनाम का उपयोग करके अपनी मशीन को पिंग करने की अनुमति दी।
पॉल

3

मुझे लगभग तय हो गया है कि यह प्रतिक्रिया को रोकने वाला सिस्टम नहीं है - यह हिस्सा (सिस्टम कैशिंग) केवल nscdडेमन द्वारा संभाला जाता है । फिर से शुरू करना (या पूरी तरह से रोकना) जो डेमन रीसेट करता है या नाम सेवा अनुरोध प्रतिक्रियाओं के ओएस कैशिंग को समाप्त करता है।

मैं दो संभावनाएं पेश करूंगा, हालांकि आपके द्वारा पोर्ट 53 पर स्थापित कस्टम श्रोता पानी को काफी कम कर देंगे:

  • ए) आपका सिस्टम अपस्ट्रीम प्रश्नों को जारी कर रहा है, लेकिन तत्काल अपस्ट्रीम नाम रिज़ॉल्वर सेटिंग्स या रिकॉर्ड के टीटीएल के आधार पर प्रतिक्रिया को कैशिंग कर रहा है।
  • बी) आपका कस्टम श्रोता आंतरिक रूप से प्रतिक्रियाओं को कैच कर रहा है और बस उस प्रतिक्रिया को सिस्टम में वापस सौंप रहा है जब कैश समय समाप्त होने से पहले इसे फिर से पूछा जाता है।

इनपुट के लिए धन्यवाद, लेकिन श्रोता क्वेरी और प्रतिक्रिया के अलावा कुछ नहीं करता है, यह केवल कोड की 200 लाइनों की तरह है। तो दूसरा मामला नहीं होना चाहिए; यह भी सुनने वाला सब कुछ प्राप्त कर रहा है, इसलिए मुझे यकीन है कि यह वास्तव में कुछ भी नहीं मिल रहा है: |
ज़ी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.