स्थानीय होस्टनाम रिज़ॉल्यूशन के लिए DNSMasq का उपयोग करना


9

मैं मेरे और मेरे रूममेट्स के लिए एक घर इंट्रानेट स्थापित करने पर काम कर रहा हूं। मेरा विचार यह है कि हम पिछले उपयोगिता बिल जैसी चीजों को स्टोर करने में सक्षम होंगे, जो कि रसोई घर में एक दराज की तुलना में अधिक सुलभ हैं। वैसे भी, मेरे पास अपाचे 2 एक रास्पबेरी पाई पर चल रहा है, मेरे लैन पर, और अगर मैं उपयोग करता हूं इसका IP पता, मैं Pi पर कार्य किए जा रहे पृष्ठों तक पहुंच सकता हूं। चूंकि मैं अपने अपार्टमेंट को सेवा प्रदान करने के लिए नेटवर्किंग के बारे में जानने के लिए इस परियोजना को और अधिक कर रहा हूं, इसलिए मैंने सोचा कि यदि मेरा नेटवर्क मेरे लैन के लिए होस्टनाम रिज़ॉल्यूशन प्रदान कर सकता है तो यह अच्छा होगा। इसलिए अपने ब्राउज़र को इंगित करने के बजाय 192.168.1.151, पाई का आईपी पता, मैं इसे oberon(इसके होस्टनाम) को इंगित कर सकता हूं और पाई द्वारा प्रस्तुत वेब पृष्ठों को देख सकता हूं ।

अब मुझे पता था कि मैं ऐसा करने वाला पहला व्यक्ति नहीं था, इसलिए मैंने Googling द्वारा शुरू किया। यह सवाल, यूनिक्स और लिनक्स पर भी, मुझे बहुत मदद मिली है: अपने होस्टनाम का उपयोग करके लैन से एक मशीन को कैसे सुलभ बनाया जाए । इस बिंदु पर, मैंने सत्यापित उत्तर में सब कुछ आज़माया है। मैंने hostsफ़ाइल का उपयोग करने के बारे में सोचा , लेकिन इसका मतलब यह होगा कि मुझे अपने रूममेट्स को अपनी मशीनों को कॉन्फ़िगर करने के लिए कहना होगा, जो मैं उन्हें नहीं करना चाहता। मैंने अपने राउटर (एक NETGEAR WNR1000v2 (उर्फ एक N150)) पर पाई के लिए डीएचसीपी पट्टे को आरक्षित करने की कोशिश की, और जब आरक्षण काम किया, तो मेजबाननाम संकल्प नहीं करता है। इस तरह की मुझे निराशा होती है क्योंकि मैंने अपने राउटर को पीआई और इसके होस्टनाम का आईपी बताया था , फिर भी यह मेरे लैन पर क्लाइंट को यह जानकारी नहीं देता है।

इन दो तरीकों के काम नहीं करने के कारण, मैंने dnsmasqपाई पर स्थापित करने का निर्णय लिया । यह कॉन्फ़िगर करना आसान लग रहा था और मुझे एक नया टूल सीखने में खुशी होगी। मैंने स्थापित किया है और यह ठीक चल रहा है (ऐसा लगता है)। मैं यह कर सकते हैं digया nslookupपाई के प्रचलित नाम (जो मैं में सेट /etc/hostsकरने के लिए oberonऔर homenet) और सही परिणाम प्राप्त। मैं की तरह इंटरनेट नाम के लिए भी ऐसा ही कर सकते हैं yahoo.comऔर क्योंकि मैं गूगल के सेट सही जवाब पाने 8.8.8.8और 8.8.4.4के रूप में बैकअप सर्वर /etc/dnsmasq.conf। यह देखो:

me@oberon~$ dig oberon

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> oberon
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10787
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;oberon.                                IN      A

;; ANSWER SECTION:
oberon.                 0       IN      A       192.168.1.151

;; Query time: 10 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Oct  6 18:59:18 2013
;; MSG SIZE  rcvd: 40

ध्यान दें कि SERVERहै 127.0.0.1: oberonअपने आप ही अपने आईपी पते को देख रहा है। यह वही है जो मुझे देखने की उम्मीद थी। यदि मैं करता हूं तो आउटपुट समान है dig oberon @localhost। इस आउटपुट के कारण, मैं सोच रहा हूँ कि dnsmasqठीक काम कर रहा है। इसलिए इसे अगले स्तर पर लाने के लिए, मैं चाहता हूं कि मेरे LAN के सभी क्लाइंट oberonअपने ब्राउज़र में टाइप करने में सक्षम हों और इसे oberon's' इंडेक्स पेज पर ले जाया जा सके । इसके लिए मुझे पता है कि मुझे अपने राउटर को कॉन्फ़िगर करने की आवश्यकता है (माफी अगर यह सख्ती से यूनिक्स और लिनक्स क्षेत्र से दूर हो जाता है)।

मेरे पास एक Netgear WNR1000v2 है जिससे मैं काफी परिचित हूं। मैंने पोर्ट अग्रेषण को कॉन्फ़िगर कर दिया है ताकि मैं पाई में SSH कर सकूं, और मैंने अन्य सेटिंग्स में भी चारों ओर पोज़ किया है। मुझे पता है कि इस परियोजना को शुरू करने से पहले, मैं अपने आईएसपी से अपने डीएनएस सर्वर प्राप्त कर रहा था, लेकिन अब मैं उन डीएनएस सर्वरों का प्राथमिक रूप से उपयोग करना चाहता हूं, लेकिन 192.168.1.151अंतिम जांच के रूप में भी उपयोग करना चाहता हूं । इसलिए मैंने अपने राउटर के DNS कॉन्फिगरेशन को निम्न में बदल दिया:

मेरे राउटर का नया DNS कॉन्फिग।  जब मैं कहता हूं कि मेरे आईएसपी द्वारा पहले दो प्रविष्टियां प्रदान की जाती हैं, तो मुझ पर भरोसा करें

तो इस विन्यास के साथ, मुझे उम्मीद है कि मैं nslookup oberonअपने (विंडोज) डेस्कटॉप पर कर पाऊंगा और इसका परिणाम पा सकूंगा 192.168.1.151। लेकिन ऐसा होता नहीं है। यह क्या होता है:

C:\Users\me>nslookup oberon
Server:  UnKnown
Address:  fe80::226:f2ff:fefa:bea

*** UnKnown can't find oberon: Non-existent domain

dnsflushingमेरे विंडोज मशीन पर रीसेट या नेटवर्क एडेप्टर कुछ भी नहीं बदलता है।

अब यहाँ क्यों मैं अपने बालों को यहाँ फाड़ने की तरह हूँ:

C:\Users\me>nslookup oberon 192.168.1.151
Server:  oberon.lan
Address:  192.168.1.151

Name:    oberon
Address:  192.168.1.151

जाहिर है, dnsmasqठीक काम कर रहा है। अगर मैं अपने विंडोज बॉक्स को 192.168.1.151नाम को हल करने के लिए उपयोग करने के लिए कहता हूं oberon, तो सब कुछ ठीक है ( .lanडोमेन के कॉन्फ़िगरेशन का हिस्सा था dnsmasq, इसलिए मुझे वहां इसे देखने की उम्मीद थी)। अगर मैं अपना राउटर प्राप्त करने के लिए अपने विंडोज मशीन को बता सकता हूं कि 192.168.1.151जब यह डीएनएस प्रश्न बनाता है, तो मुझे अच्छा होना चाहिए!

तो यह मुझे लगता है कि समस्या मेरे राउटर में है, लेकिन मैं अभी यह पता नहीं लगा सकता कि डीएनएस सर्वरों को बदलने से आगे क्या करना है 192.168.1.151जैसे कि पहले से ही है। क्या कोई यहां मेरी सहायता करेगा? मैं आगे कोई वांछित जानकारी प्रदान करने का प्रयास करूंगा।


पहले DNS सर्वर के रूप में पाई डालने की कोशिश करें, क्या यह तब काम करता है?
terdon

1
ऐसा करने के लिए राउटर सही जगह है। यदि किसी कारण से आप अपने राउटर को पाई के लिए नाम देने के लिए प्रबंधन नहीं करते हैं, तो पाई पर dnsmasq चल रहा है और राउटर पाई की सेवा कर रहा है क्योंकि DNS सर्वर काम करेगा। ऐसा लगता है कि आपकी समस्या आपके राउटर को ठीक से कॉन्फ़िगर कर रही है।
गिल्स एसओ- बुराई को रोकें '

क्या आप राउटर पर DNS सेटिंग्स को अपडेट करने के बाद क्लाइंट पर डीएचसीपी पट्टे को फिर से जारी कर रहे हैं? DNS कॉन्फ़िगरेशन डीएचसीपी पट्टे में भेजा जाता है, इसलिए इसे नई सेटिंग्स प्राप्त करने के लिए एक नया पट्टा प्राप्त करना होगा। वैकल्पिक समाधान के रूप में, आप mDNS / zeroconf / avahi में भी देख सकते हैं।
पैट्रिक

जवाबों:


2

आपकी समस्या उन DNS सर्वरों के उपयोग के तरीके की गलतफहमी में है, मुझे पता नहीं है कि विंडोज सर्वर किस पद्धति का उपयोग करता है, इसके सटीक विवरण को क्वेरी के लिए चुनते हैं, लेकिन मैं इसके प्राथमिक> द्वितीयक> तृतीयक / हमेशा / के लिए शर्त लगा रहा हूं। और भले ही यह राउंड-रॉबिन नहीं था, फिर भी आप 3 बार के अनछुए सर्वर 2 को क्वेरी करने जा रहे हैं।

क्या होगा प्राथमिक सर्वर को बुझाया जाएगा। यदि वह समय समाप्त हो जाता है, जो एक या दो हो सकता है, तो अगले सर्वर को क्वेर किया जाएगा। DNS एक "सर्वसम्मति" प्रणाली नहीं है, यदि दूरस्थ सर्वरों में से एक का उपयोग किया जा रहा है, तो यह अंततः परिणाम की खोज करेगा कि आपका होस्टनाम आधिकारिक तौर पर मौजूद नहीं है, इसके परिप्रेक्ष्य में इंटरनेट DNS सर्वर के रूप में है।

आपको प्राथमिक DNS सर्वर के रूप में अपने स्वयं के लैन डीएनएस की आवश्यकता है। अन्य लोग उपयुक्त बैकअप सर्वर बनाएंगे, लेकिन मैं इसे पूरी तरह से छोड़ने पर विचार करूंगा।

ध्यान दें, आपका रिवर्स डीएनएस (आईपी टू लुकिंग नाम) "hostname.lan" का समाधान करता है, लेकिन आपके आगे के रिज़ॉल्यूशन टेस्ट होस्टनाम के साथ हैं। आपके पास hostname.lan के लिए कहीं और रिज़ॉल्यूशन भी होना चाहिए। जबकि होस्ट के लिए फॉरवर्ड लुकअप के लिए कई "नाम से संबोधित" हो सकते हैं, एक उम्मीद है कि आईपी के एक नाम के लिए एक रिवर्स लुकअप है, बदले में उस आईपी रिकॉर्ड के लिए एक मिलान नाम है। यह हमेशा महत्वपूर्ण नहीं होता है और बस लॉग फाइल को कभी-कभी व्हाइन बनाता है, लेकिन कुछ चीजें अन्य चीजों की तुलना में इसके प्रति अधिक संवेदनशील होती हैं।

इसके अलावा, किसी भी होस्ट फ़ाइल को हटाने के लिए मत भूलना, जिसे आपने एक बार डाल दिया है जब आप इसे काम कर रहे हैं (मुझे नहीं पता कि क्या dnsmasq के लिए प्रासंगिक है, कभी इसका इस्तेमाल नहीं किया, मेरे पास ISC-Bame नाम का उपयोग करके एक समान लेकिन अधिक जटिल कॉन्फ़िगरेशन है सर्वर, जिसे आप अन्य सर्वरों के लिए अग्रेषित कर रहे हैं जैसे कि आप उपयोग कर रहे हैं, या बस इसे एक गैर-अग्रेषण DNS सर्वर के रूप में उपयोग करें जो पूर्ण नाम का संकल्प स्वयं करता है - जो कि मैंने स्थापित किया है)।

कहने की जरूरत नहीं है, जैसा कि आपने पहली बार अनुमान लगाया था कि इस सेट को बनाने में आप अकेले बहुत दूर हैं, लगभग हर विकसित-विकसित कॉर्पोरेट लैन और कई बेहतरीन विकसित होम लैन में इस तरह का सेटअप होगा।


1
आपकी मदद के लिए धन्यवाद! मैं समझता हूं कि आप इस बारे में क्या कह रहे हैं कि DNS एक सर्वसम्मति प्रणाली नहीं है, इसलिए मैंने अपने राउटर में प्राथमिक DNS सर्वर पर पाई सेट किया है। मैंने तब अपने विंडोज मशीन पर डीएचसीपी पट्टे को नवीनीकृत किया। हालांकि, nslookup oberonअभी भी काम नहीं करता है। मेरे मूल पोस्ट के पाठ में एक बात का उल्लेख नहीं किया गया था कि जब nslookupविफल होता है, तो यह कहता है कि जिस सर्वर का उपयोग किया गया था वह एक fe80आईपीवी 6 पता था - जो मुझे पता है कि एक आरक्षित लिंक-स्थानीय पता है। लेकिन मुझे नहीं पता कि DNS के लिए इसका क्या मतलब है। क्या मेरा विंडोज बॉक्स ही क्वेरी कर रहा है? dnsflushइस व्यवहार को नहीं बदलता है।
c.anna

और इसके लायक क्या है, LAN होस्टनाम रिज़ॉल्यूशन मेरे iOS उपकरणों पर काम नहीं करता है। मैंने अभी तक उनका उल्लेख नहीं किया है क्योंकि मेरे पास विंडोज के साथ बहुत अधिक आत्मनिरीक्षण शक्ति है, लेकिन अगर मेरी समस्याएं वास्तव में विंडोज से सख्ती से उत्पन्न हो रही थीं, तो मुझे उम्मीद नहीं होगी कि इन उपकरणों में भी यही समस्या होगी।
c.anna

इसके अलावा, .lanडोमेन के बारे में आपकी चिंताओं को दूर करने के लिए , मैंने dnsmasqजोड़ने के लिए सरल होस्टनाम को स्वचालित रूप से विस्तारित करने के लिए कॉन्फ़िगर किया है .lan। रनिंग nslookup oberon.lan 192.168.1.151का अपेक्षित परिणामName: oberon.lan Address: 192.168.1.151
c.anna

मुझे आश्चर्य है कि अगर काम या किसी चीज़ पर "विंडोज़वाद" है, तो अपने मेजबानों को सीधे शीर्ष स्तर के डोमेन ('ओबेरॉन।') के तहत नामित करना थोड़े अजीब है, ओबेरोन.लान बहुत अधिक समझ में आता है। एक बात का ध्यान रखना चाहिए कि डोमेन प्रत्यय और 'सर्च डोमेन' को अक्सर इसे हल करने के लिए एक नाम से जोड़ा जाता है, उदाहरण के लिए "ओबेरॉन" को हल किया जा सकता है और यदि खोज डोमेन में लैन है तो इसे "ओबरोन.लान" के रूप में पाया जा सकता है। हालांकि उपरोक्त प्रश्न इस मामले को दिखाने के लिए प्रतीत नहीं होते हैं, खुदाई में विशेष रूप से होस्टनाम पर समाप्ति की अवधि है, लेकिन परीक्षण करते समय इसके बारे में बहुत जागरूक रहें!
०३:०३ ०।

हम्म को प्राथमिक डीएनएस को ठीक करने के बाद आपको विंडोज को फिर से dhcp करने की आवश्यकता होगी (एडेप्टर को रीसेट करना चाहिए), फिर चेक ipconfig /allसही dns सर्वर का उपयोग कर रहा है, अगर यह सही है तो आपको फ्लशडाउन करने की आवश्यकता हो सकती है। लेकिन मैं कुछ और नहीं सोच सकता, यह काम करना चाहिए।
sourcejedi

1

शायद थोड़ी देर हो गई, लेकिन मेरे वायरलेस एडाप्टर पर ipv6 को अक्षम करने ने चाल चली।


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