क्यों nslookup परिणाम हमेशा सर्वर से आता है 127.0.0.1


11

मैं काफी उलझन में हूँ कि nslookup हमेशा सर्वर 127.0.0.1 से परिणाम प्राप्त करता है

क्या यह इसलिए है क्योंकि Ubuntu dnsmasq द्वारा एक स्थानीय DNS कैश का उपयोग करता है ? लेकिन मैंने इसे बंद कर दिया है और अपने डीएनएस कैश को फ्लश कर दिया है, फिर एक होस्ट को अनदेखा कर देता हूं जो मैंने कभी नहीं देखा है, फिर भी आउटपुट 127.0.0.1 है।

जो मुझे काफी भ्रमित करता है। क्या कोई मेरे लिए यह समझा सकता है? वैसे, मेरा DNS सर्वर 8.8.8.8 पर सेट है।

जवाबों:


11

डिफ़ॉल्ट रूप से Ubuntu वास्तव में Dnsmasq के साथ DNS प्रविष्टियों को कैश करता है। Dnsmasq एक लुकअप करता है जब DNS प्रविष्टि अपने कैश में नहीं होती है, यही वजह है कि आप हमेशा localhost( 127.0.0.1) आईपी एड्रेस देखेंगे जब नेमसर्वर को निर्दिष्ट किए बिना DNS लुकअप करते हैं।

में मैनपेज यह इस प्रकार के रूप में समझाया है:

Dnsmasq DNS प्रश्नों को स्वीकार करता है और या तो उन्हें एक छोटे, स्थानीय, कैश से उत्तर देता है या उन्हें वास्तविक, पुनरावर्ती, DNS सर्वर के लिए अग्रेषित करता है। यह / etc / मेजबानों की सामग्री को लोड करता है ताकि स्थानीय होस्टनाम जो वैश्विक DNS में दिखाई न दें उन्हें हल किया जा सके और DHCP कॉन्फ़िगर किए गए होस्ट के लिए DNS प्रश्नों का उत्तर भी दिया जा सके।

इस व्यवहार को संपादित करने /etc/NetworkManager/NetworkManager.confऔर बदलने dns=dnsmasqसे मना किया जा सकता है #dns=dnsmasq, जिसके बाद आपको नेटवर्क-प्रबंधक सेवा ( sudo service network-manager restart) को पुनः आरंभ करना होगा ।

अधिक जानकारी सामुदायिक प्रलेखन और मैनपेज में देखी जा सकती है ।


1
उत्तर के लिए धन्यवाद। मुझे महसूस नहीं हुआ कि यह Dnsmasq एक लुकअप करता है जब DNS प्रविष्टि कैश में नहीं होती है। आपका बहुत बहुत धन्यवाद!
47dev47null

यदि पहले से कोई dns=dnsmasqरेखा नहीं है तो क्या करें ?
डगलस गास्केल

@ डगलसगैस्केल: यह उत्तर पुराना है: मेरा मानना ​​है कि उबंटू systemd-resolved17.04 संस्करण में बदल गया है। देखें: askubuntu.com/questions/907246/...
सिल्क

2

अगर जांच

cat /etc/NetworkManager/NetworkManager.conf

[मुख्य]

प्लगइन्स = ifupdown, keyfile

dns = dnsmasq

[Ifupdown]

कामयाब = false

हैश (#) डीएनएस = डेन्मसक

फ़ाइल को सहेजें और नेटवर्किंग को पुनरारंभ करें।

यदि आप एक स्थानीय रिज़ॉल्वर नहीं चाहते हैं, तो आप इसे निम्नलिखित प्रक्रिया का उपयोग करके DNSMASQ को बंद कर सकते हैं

आपको /etc/NetworkManager/NetworkManager.conf फ़ाइल संपादित करने की आवश्यकता है

gksudo gedit /etc/NetworkManager/NetworkManager.conf

और निम्न पंक्ति से टिप्पणी करें

dns=dnsmasq

सेवा

#dns=dnsmasq

फ़ाइल को सहेजें और बाहर निकलें

अब आपको निम्न कमांड का उपयोग करके नेटवर्क-मैनेजर की आवश्यकता है

sudo restart network-manager

रेफरी: http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.