पारंपरिक रूप से नाम रिज़ॉल्यूशन, जो नामों को होस्ट करने के लिए आईपी पते की मैपिंग है और इसके विपरीत, एक DNS (डोमेन नाम सिस्टम) सर्वर द्वारा किया जाता है।
आपके पास संभवतः एक इंटरनेट राउटर है जो आपके स्थानीय नेटवर्क के लिए DNS प्रदान करता है। एक बंद मौका है, कि आपका राउटर आपको इसके DNS में प्रविष्टियां जोड़ने की अनुमति देता है, लेकिन आमतौर पर ग्राहक ग्रेड हार्डवेयर यह पेशकश नहीं करता है। जांच के लिए चोट नहीं पहुंचेगी, क्योंकि यह सबसे आसान तरीका होगा।
जैसा कि यह संभव नहीं होगा, जाने के कई तरीके हैं
ध्यान दें : डोमेन .local
एक प्रणाली को संदर्भित करता है जिसे m (अल्टिकास्ट) DNS , aka zeroconf / bonjour / avahi के रूप में जाना जाता है - तकनीकी विवरण के लिए RFC देखें । यह नाम रिज़ॉल्यूशन और सेवा घोषणा प्रदान करता है अगर कोई समर्पित डीएनएस सर्वर उपलब्ध नहीं है, हालांकि ओएस एक्स (बोनजोर) और उबंटू (अवाही) पर यह डिफ़ॉल्ट रूप से सक्षम है।
अद्यतन: मुझे अवधी पद्धति तुरंत व्यवहार्य नहीं लगी और स्थानीय डीएनएस की स्थापना से ही समझ में आता है कि क्या यह नेटवर्क के लिए प्राथमिक डीएनएस के रूप में चल सकता है।
अधिकांश ऑपरेटिंग सिस्टम एक hosts
फ़ाइल को बनाए रखते हैं , जिसमें प्रविष्टियाँ होती हैं जैसे IP hostname
। आप मैन्युअल रूप से एक प्रविष्टि जोड़ सकते हैं (उचित आईपी के साथ x की जगह लें!)
192.168.x.x dev.robi
करने /etc/hosts
लैन पर प्रत्येक ग्राहक पर। यह तरीका सीधा है, लेकिन थोड़ा अव्यवहारिक है, अगर आईपी या होस्टनाम अक्सर बदलते हैं।
जैसा कि ऊपर उल्लेख किया गया है, avahi-daemon
उबंटू पर डिफ़ॉल्ट रूप से चल रहा है। आप कई नामों के तहत खुद को घोषणा करने के लिए मशीन को कॉन्फ़िगर कर सकते हैं, लेकिन लैन में प्रत्येक मशीन पर चलने वाला एक mDNS क्लाइंट होना चाहिए, जो नए होस्टनाम को हल करना चाहिए (विंडोज मशीनों पर, ऐप्पल बोनजॉर सेवा आईट्यून्स के साथ स्थापित है)। इसे जोड़कर देखें
192.168.x.x dev.robi.local
, /etc/avahi/hosts
और सेवा को पुनः आरंभ करें sudo service avahi-daemon restart
। अब कोशिश करें कि नई होस्टनाम को किसी अन्य मशीन से पिंग करके सुलझाया जाए।
अद्यतन: उर्फ सेटअप करने के लिए अवधी का उपयोग करने के लिए वर्णित विधि काम नहीं करती है! अवाही एक ही आईपी के लिए कई होस्टनामों को बांधने की अनुमति नहीं देगा, क्योंकि यह हमेशा एक संबंधित पीटीआर दर्ज करने की कोशिश करेगा, जिससे टकराव होता है। यह अपेक्षित और अच्छा व्यवहार है। हालांकि, एक विस्तार अवहि-उपनाम मौजूद है जो उपनाम (CNAME) को पंजीकृत करने की अनुमति देता है। दुर्भाग्य से, उन उपनामों को (कम से कम) विंडोज क्लाइंट द्वारा मान्यता नहीं दी जाएगी, लेकिन जब तक आप केवल एवाही के साथ क्लाइंट चला रहे हैं, यह एक वास्तविक विकल्प प्रदान करता है।
उबुन्टु प्रणाली पर अवही को स्थापित करने के लिए, करें
sudo apt-get install avahi-daemon libnss-mdns
एक स्थानीय DNS सर्वर सेट करें। मैं सिफारिश करूंगा dnsmasq
। इसके साथ स्थापित किया जा सकता है sudo apt-get install dnsmasq
। यह एक डीएचसीपी सर्वर के साथ आता है जिसे आप अक्षम करना चाहेंगे। में इसका कॉन्फिगरेशन स्टोर किया जाता है /etc/dnsmasq.conf
। DHCP सेट को अक्षम करने के लिए
no-dhcp-interface=eth0
eth0
LAN से कनेक्ट होने वाला इंटरफ़ेस कहां है। dnsmasq स्वचालित रूप से पढ़ता है /etc/hosts
, इसलिए अपने होस्टनाम को hosts
ऊपर बताए अनुसार जोड़ें।अंत में प्रत्येक क्लाइंट पर DNS सर्वरों की सूची में dnsmasq चलाने वाली मशीन जोड़ें।
अपडेट: आपके पास संभवतः एक डीएनएस सर्वर पहले से चल रहा है, जैसे आपके इंटरनेट राउटर पर। क्लाइंट DNS क्वेरी को उस सर्वर पर भेजेंगे। आप बस अपने क्लाइंट कॉन्फिगर में एक सेकेंडरी डीएनएस नहीं जोड़ सकते, क्योंकि यह केवल तब ही क्वियर किया जाएगा जब प्राइमरी डीएनएस अगम्य है। जब तक आप हमेशा एक ऐसी मशीन चला रहे हैं जो नेटवर्क के लिए प्राथमिक DNS बन सकती है, इस काम को करने का कोई तरीका नहीं है।
सारांश में: लिनक्स-ओनली एनवायरनमेंट में, जहां आप प्रत्येक क्लाइंट पर अवही-डेमॉन चला सकते हैं, एविही विधि वास्तव में एक समाधान प्रदान करती है। मैंने खुद यह कोशिश की।
जब से तुम शायद में एक मशीन चालू नहीं कर सकता DNS सर्वर, स्थापित करने और विन्यस्त से, हमेशा एक dnsmasq
है की सलाह नहीं दी ।
फिर भी, सबसे सरल अगर थोड़ा बोझिल तरीका है, तो प्रत्येक क्लाइंट पर होस्ट फ़ाइल में एक प्रविष्टि जोड़ना है!
DNS रिज़ॉल्यूशन के साथ आपकी हाल की समस्या संभवतः dnsmasq चलाने से आती है। मैं अब वास्तव में dnsmasq का उपयोग करने को हतोत्साहित करता हूं, क्योंकि यह आपकी समस्या को हल नहीं करेगा। सेवा बंद करो sudo service dnsmasq stop
। फिर प्रयास करें host -v ro.archive.ubuntu.com
। इसे Google के DNS 8.8.8.8 को कॉन्फ़िगर करने के रूप में हल करना चाहिए resolv.conf
।
इसके अलावा, यदि आप hosts
विधि के साथ जाते हैं , तो डोमेन को संलग्न न करें .local
, क्योंकि यह mDNS के लिए आरक्षित है। इसके बजाय, बस डाल दिया
192.168.0.5 dev.robi
में /etc/hosts
, नहीं dev.robi.local
।