मेजबानों की फाइल को नजरअंदाज किया जाता है


18

मेरे पास लगभग ताजा उबंटू डेस्कटॉप बॉक्स है। ओएस दो सप्ताह पहले स्थापित किया गया था और कर्म रिपॉजिटरी से अपडेट किया गया था। पिछले हफ्ते मुझे डीएनएस से कोई समस्या नहीं थी। लेकिन इस हफ्ते कुछ बदल गया था। मुझे यकीन नहीं है कि क्या और कब, और मुझे यकीन नहीं है कि मैंने कोई कॉन्फिगर बदला है।

तो अब मेरे पास कुछ अजीब स्थिति है। लॉग्स नाम के अनुसार हल करने के लिए सामान्य रूप से काम करना चाहिए।

/ Etc / hosts

127.0.0.1   localhost test
127.0.1.1   desktop

/etc/host.conf

order hosts,bind
multi on

/etc/resolv.conf

# Generated by NetworkManager
search search servers obtained via DHCP
nameserver 192.168.0.3

/etc/nsswitch.conf

passwd:         compat
group:          compat
shadow:         compat

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

लेकिन अगर तथ्य यह नहीं है।

उपयोगकर्ता @ परीक्षण ~> पिंग परीक्षण

PING localhost (127.0.0.1) 56(84) bytes of data.
[skip]

पिंग करना ठीक है।

उपयोगकर्ता @ परीक्षण ~> मेजबान परीक्षण

test.mydomain.com has address xx.xxx.161.201

मुझे संदेह है कि NetworkManager इस दुर्व्यवहार का कारण बन सकता है, लेकिन यह नहीं जानता कि इसे कहाँ से शुरू करना है। कोई विचार, सुझाव?

जवाबों:


20

इस कॉन्फ़िगरेशन के साथ, अधिकांश एप्लिकेशन आपके प्रवेश से खुशी के साथ काम करेंगे /etc/hosts

हालांकि hostनहीं दिखता है /etc/nsswitch.conf। यही कारण है, डिजाइन के द्वारा होता है दुर्घटना से नहीं के बाद से hostहै विशेष रूप से DNS लुकअप कार्यक्रम। /etc/hostsDNS नहीं है, यह (ज्यादातर) है जो हमने DNS से पहले इस्तेमाल किया था।

यह भी सच है digऔर nslookup- वे डीएनएस विशिष्ट भी हैं।


तो, आप कह रहे हैं, hostउपयोगिता का उपयोग नहीं करता है /etc/hosts? और मेरे मामले में ठीक करने के लिए कुछ भी नहीं है?
15:

हाँ, बहुत ज्यादा - यहाँ देखने के लिए कुछ भी नहीं :)
Alnitak

मुझे जो नहीं मिलता है, वह host> "नियमित" नाम-क्वेरी कमांड होने के लिए इस्तेमाल किया जाता है, आज्ञा का पालन करना/etc/nsswitch.conf
मेवेरोन

@Kwaio मैं ISC स्रोतों में कोई सबूत नहीं पा सकता है जो hostकभी किया था
Alnitak

खैर, मैंने अपने वितरण को अनैतिक वितरण कार्यान्वयन के लिए इस्तेमाल किया होगा।
मानवरोन

15

hostआदेश (के साथ-साथ digऔर nslookup) का हिस्सा है bindडीएनएस उपयोगिताओं। DNS रिज़ॉल्वर उपयोगिता के रूप में, यह अकेले DNS रिज़ॉल्यूशन करता है।

यदि आप किसी भी libnssडेटा स्टोर से प्रविष्टि लाने में रुचि रखते हैं, तो आप getentप्रोग्राम का उपयोग कर सकते हैं । मेज़बान प्रविष्टि पाने के लिए, उदाहरण के लिए, इसे इस तरह उपयोग करें:

getent hosts google.com

यह क्रम hosts:में नीचे दिए गए रिज़ॉल्यूशन ऑर्डर का पालन करता है /etc/nsswitch.conf, जिसमें यह भी शामिल है /etc/hostsकि क्या "फाइलें" विकल्पों में से एक के रूप में पंक्तिबद्ध हैं।


मुझे याद दिलाने के लिए धन्यवाद getent
इमैनुएल

2
मुझे विश्वास है कि आजकल एक का उपयोग किया जाना चाहिए getent ahostsबजाय getent hostsक्योंकि getent hostsउपयोग करता है gethostbyaddr()या gethostbyname*()जो अप्रचलित हैं। अगर मैं सही तरीके से समझ गया हूं, तो यह getent hostsबताता है कि पुराने UNIX C प्रोग्राम कैसे काम करते थे और getent ahostsजिस तरह से moderm प्रोग्राम को काम करना चाहिए, उसका अनुकरण करता है।
मिकीको रैंटलैनेन

0

मेरे लिए यह समस्या गलत फ़ाइल अनुमतियों के कारण हुई। केवल रूट ही पढ़ सकता है / etc / मेजबान। फ़ाइल विश्व-पठनीय होनी चाहिए।

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