फ़ाइल /etc/hosts
और DNS एक साथ काम नहीं करते हैं। वे नामों (नेटवर्क नामों) के स्वतंत्र संकल्प प्रदान करते हैं।
गोंद जो उन्हें जोड़ता है , लिनक्स सिस्टम के लिए अंदर है/etc/nsswitch.conf
। में /etc/netsvc.conf
AIX सर्वर के लिए, के लिए प्रणाली में विंडोज और साथ सूचीबद्ध किया जा सकता lookupd -configuration
: (LookupOrder के लिए खोज, इसी तरह करने के लिए Cache FF DNS NI DS
MacOS प्रणालियों में)।
वास्तविक आदेश जटिल हो जाता है और आमतौर पर प्रत्येक नाम संकल्प सेवा (और कई बार करते हैं) संकल्प के अन्य स्तरों के अंदर लग सकता है। जैसा dnsmasq
(आम तौर पर एक प्रकाश DNS सर्वर 127.0.0.1:53
, या ::1:53
(या दोनों)) आमतौर पर पढ़ता है और शामिल /etc/hosts
फ़ाइल सामग्री। या जैसे systemd.resolver
(एक मूल रिज़ॉल्वर जो केवल अन-डॉटेड नामों को हल करना चाहिए जैसे mycomputer
) अपनी mycomputer.here.dev.
शर्तों के तहत डॉटेड नामों ( ) के लिए सीधे DNS रिज़ॉल्यूशन कहता है ।
सामान्य तौर पर, सेवाओं को क्रम में कहा जाता है और पहला वह जो जीतता नहीं है और सही पते के रूप में स्वीकार किया जाता है। सामान्य मूल क्रम है: /etc/hosts
(फ़ाइल), mDNS (अन-डॉटेड नाम), DNS, NIS, NIS +, LDAP। कुछ लिनक्स प्रणालियों में सेवा में कंप्यूटर के लिए एक अंतिम उपाय संकल्प होता हैhostname
myhostname
उदाहरण के लिए, इस प्रणाली में (से cat /etc/nsswitch
):
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
ध्यान दें कि बहुत पुराना (2.4 glibc और पुराने) order
प्रविष्टि में सेट/etc/host.conf
के रूप में:
order hosts,bind,nis
केवल फ़ाइल (फ़ाइल /etc/hosts
) नाम सेवा पर लागू होते हैं ।
एनआईएस और एलडीएपी से संबंधित इस (लिनक्स) क्लाइंट कंप्यूटर पर प्रभाव (आमतौर पर) इस्तेमाल किए गए DNS सर्वर (बाइंड, अनबाउंड, आदि) द्वारा नियंत्रित होते हैं।
इसलिए:
- यदि होस्टनाम को / etc / मेजबानों में हल किया जा सकता है, तो DNS होस्टनाम को हल करने के लिए / etc / मेजबानों के बाद DNS लागू करता है या पुनरावर्ती रूप से हल करने के लिए "hostname" के रूप में / etc / host द्वारा हल किए गए IP पते का इलाज करता है?
कोई नहीं।
यदि एक होस्टनाम में हल किया जा सकता है /etc/hosts
, तो DNS
लागू नहीं होता है (यदि फाइलें DNS से पहले है)।
न ही सुलझा हुआ आईपी पता "होस्टनाम" के रूप में माना जाता है।
यह बस है: सुलझा हुआ पता।
ब्राउज़र
एक ब्राउज़र किसी नाम को हल करने के लिए किसी भी विधि का उपयोग कर सकता है (इसके बाद हल किए गए नामों के अपने कैश की जाँच की है)। केवल अगर यह एक प्रणाली प्रदान की विधि का उपयोग करता है तो ऊपर दिए गए आदेश लागू होते हैं। ब्राउज़र, किसी भी प्रोग्राम के रूप में, किसी भी DNS सर्वर से सीधे संपर्क करने का विकल्प चुन सकता है।
यदि सिस्टम ऑर्डर /etc/hosts
पहले से है DNS
, तो इसका मतलब है कि उस फाइल में एक प्रविष्टि DNS
संकल्प सेवा के लिए पूर्ववर्ती होगी ।
इसलिए:
- ... इसका मतलब यह है कि / आदि / होस्ट होस्टनामों को हल करने के लिए DNS को ओवरराइड करता है?
हां (यदि ब्राउज़र सिस्टम प्रदान किए गए रिज़ॉल्यूशन का उपयोग करता है)।
क्यों /etc/hosts
फिर से लागू नहीं होता है, ताकि मैं वेबसाइट से कनेक्ट न कर सकूं?
केवल तब तक जब तक कि ब्राउज़र के आंतरिक कैश को साफ़ नहीं किया जाता (या यह उस समय के लिए) उस विशिष्ट नाम के लिए फिर से ब्राउज़र के बाहर खोजा गया नाम है।
यदि ब्राउज़र का कैश में नाम हल है, तो ब्राउज़र फिर से इसका उपयोग करता है।
कैश को साफ़ करने के लिए इसका उपयोग करें ।
या बस बंद करें (थोड़ी देर प्रतीक्षा करें) और ब्राउज़र को फिर से शुरू करें।
/etc/hosts
और स्थानीय रूप से परिभाषित नाम सर्वर। यह पहली बार देखने के लिए काफी भ्रामक है। (आप को देखते हुए, क्रोमियम-आधारित ब्राउज़र!)