विशिष्ट होस्ट नामों को हल करने के लिए Windows सर्वर DNS होस्ट्स फ़ाइल का उपयोग कैसे करें


18

[नोट: इस सवाल का समाधान एकदम सही है, जो शीर्षक इंगित करता है उससे कुछ दूर है।]

मैं एक छोटी सी समस्या का सामना कर रहा हूं Windows Server 2003 DNS service। मेरी निगम में, मैं माइक्रोसॉफ्ट DNS सर्वर (चल रहा हूँ 172.16.0.12(में डोमेन नाम समाप्त होता है) मेरी कंपनी के इंट्रानेट के नाम संकल्प करने के लिए dev.nls। आईपी 172.16 को हल करने। ), और यह भी एक DNS फारवर्डर के रूप में कॉन्फ़िगर किया गया है अन्य डोमेन नाम अग्रेषित करने के लिए ( जैसे * .google.com, * .sf.net) से Internet real DNS servers। यह आंतरिक DNS सर्वर कभी भी बाहर की दुनिया के उपयोगकर्ताओं की सेवा करने के लिए नहीं जाता है।

और, हम कंपनी फ़ायरवॉल के अंदर एक मेल सर्वर (एक वास्तविक इंटरनेट डोमेन के लिए आने वाले मेल की सेवा) चला रहे हैं @nlscan.comजिसे किसी भी तरह से एक्सेस किया जा सकता है:

  1. 172.16.0.10इंट्रानेट के भीतर से कनेक्ट करके ।
  2. से कनेक्ट करके mail.nlscan.com(का संकल्प लिया 202.101.116.9इंटरनेट से)।

ध्यान दें कि 172.16.0.10और 202.101.116.9एक ही भौतिक मशीन नहीं है। 202एक एक फ़ायरवॉल मशीन जो बंदरगाह के पोर्ट अग्रेषण करना है 25और 110इंट्रानेट पता करने के लिए 172.16.0.10

अब मेरा सवाल है: यदि कॉर्पोरेट लैन के अंदर के उपयोगकर्ता हल करना चाहते हैं mail.nlscan.com, तो यह हल हो जाता है 202.101.116.9। यह सही और व्यावहारिक है, लेकिन यह अच्छा नहीं है, क्योंकि मेल ट्रैफिक फ़ायरवॉल मशीन को जाता है और फिर बाउंस होता है 172.16.0.10। मुझे उम्मीद है कि हमारा internal DNS serverनाम इंटरसेप्ट हो सकता है mail.nlscan.comऔर इसे 172.16.0.10 पर हल किया जा सकता है। इसलिए, मुझे उम्मीद है कि मैं 172.16.0.12ऐसा करने के लिए "होस्ट" फ़ाइल में एक प्रविष्टि लिख सकता हूं । लेकिन, Microsoft DNS serverइस "होस्ट" फ़ाइल को कैसे पहचान सकते हैं ?

हो सकता है कि आप सुझाव दें, 172.16.0.10मेरे मेल सर्वर तक पहुंचने के लिए इंट्रानेट उपयोगकर्ता का उपयोग क्यों नहीं किया गया है? मेरा कहना है कि यह असुविधाजनक है, मान लीजिए कि एक उपयोगकर्ता (कर्मचारी) अपने लैपटॉप पर काम करता है, दिन में कार्यालय और रात में घर पर। जब वह घर पर होता है, तो वह उपयोग नहीं कर सकता है 172.16.0.10

nlscan.comहमारे आंतरिक पर एक ज़ोन बनाना DNS serverसंभव नहीं है, क्योंकि nlscan.comडोमेन का नाम सर्वर हमारे ISP पर है, और यह nlscan.com के तहत अन्य होस्ट नामों और उप-डोमेन को हल करने के लिए ज़िम्मेदार है।

[संपादित करें]

जैसा कि WesleyDavidसुझाव दिया गया है, मैं बस नाम के एक ज़ोन बनानेmailserver.nlscan.com के समाधान का पालन करता हूं और उस क्षेत्र में एक नामहीन A रिकॉर्ड रखता हूं । समय इस काम को अच्छी तरह से साबित करता है।


+1 क्योंकि यह वही है जो मैं करता हूं। मेरी आंतरिक DNS रिज़ॉल्वर 19..168 को mail.example.com को इंगित करती है ... भले ही मेरा प्राथमिक DNS अन्य सभी के लिए अपने इंटरनेट IP पर mail.example.com को इंगित करता है। मैं इस के लिए किसी भी downsides सुनना चाहते हैं।
कोरी जे

हाय, Cory, मुझे डर है कि आप इस तथ्य को सही नहीं पाते हैं। जैसे कि joeqwerty इस विषय में बाद में कहती है: होस्ट फ़ाइल का उपयोग DNS क्लाइंट रिसॉल्वर घटक द्वारा किया जाता है, न कि DNS सर्वर घटक द्वारा। इसलिए, 172.16.0.12 पर मेजबानों का संपादन Microsoft DNS सेवा की मदद नहीं करता है।
जिम चेन चेन

जून, आप एक जवाब के रूप में चिह्नित कर सकते हैं ताकि दूसरों को पता चल जाएगा कि समाधान क्या था। इसे आपके लिए तैयार करने में खुशी हुई! =)
वेस्ले

जवाबों:


12

इस पद का उत्तरार्द्ध गलत है। मैं इंप्रेशन के तहत था, वेब पर पढ़े गए कुछ सामानों के आधार पर (यदि यह वेब पर है, तो यह सच होना चाहिए!) कैश बनाने के लिए विंडोज डीएनएस सर्वर सेवा के कार्यों का वह हिस्सा भी अपनी होस्ट फ़ाइल को लोड करना था अपने स्थानीय क्षेत्र डेटा के साथ कैश। मैंने इधर-उधर खोजा और इसके कठिन प्रमाण नहीं मिले। मैंने अपने स्वयं के सर्वर 2008 R2 मशीन पर सिद्धांत का परीक्षण किया और पाया कि DNS सर्वर के कैश को बनाने के लिए मेजबानों की फाइल का उपयोग नहीं किया गया था।

हालांकि, मेरा मानना ​​है कि मेरे पास मास्सिमो का थोड़ा अधिक सुरुचिपूर्ण समाधान है। पूरे nlscan.com ज़ोन के लिए एक आधिकारिक क्षेत्र बनाने के बजाय, mailserver.nlscan.com नाम से एक ज़ोन बनाएं और उस ज़ोन में एक अनाम A रिकॉर्ड रखें। नामहीन A रिकॉर्ड में ज़ोन के रूप में एक ही नाम होगा और आप इसे IP पता दे सकते हैं जो आप चाहते हैं। Nlscan.com और साथ ही nlscan.com के नीचे अन्य सभी डोमेन सार्वजनिक DNS द्वारा हल होंगे।

मैंने अभी-अभी अपने स्वयं के सर्वर 2008 R2 DNS सर्वर पर इसका परीक्षण किया और अपने मित्र की वेबसाइट (nessus.nl) को सार्वजनिक DNS सर्वरों के माध्यम से हल करने में सक्षम था, लेकिन Apple.com IP पते पर विशिष्ट उपडोमेन (blog.nessus.nl) संकल्प । इसे आजमाओ और देखो कि यह आप के लिए काम करता है या नहीं।

पुरानी, ​​गलत पोस्ट शुरू:

यदि मेरी समझ सही है (EDIT: और यह नहीं है), जब DNS कैश को सर्वर 2003 मशीन में बनाया जाता है, तो यह मेजबानों की फ़ाइल के साथ-साथ यह ज़ोन डेटा की प्रविष्टियों में खींचती है। 172.16.0.10 mailserver.nlscan.comअपने सर्वर 2003 मशीन की मेजबानों फ़ाइल में रखकर समस्या को हल करना चाहिए। अपनी होस्ट्स फ़ाइल को बदलने के बाद अपनी DNS सेवाओं को पुनरारंभ करें।

अपने होस्ट फ़ाइल प्रविष्टियों को देखने के लिए किसी भी विंडोज़ मशीन (विशेष रूप से, आपका सर्वर 2003 DNS मशीन) पर ipconfig / displaydns का उपयोग करें। यह भी ध्यान रखें कि नकारात्मक प्रतिक्रियाएं आपके क्लाइंट में कैश्ड होती हैं, इसलिए हमेशा उन ग्राहकों पर ipconfig / flushdns चलाएं जिनके साथ आप प्रयोग कर रहे हैं। अन्यथा आप विभिन्न कठिन वस्तुओं के खिलाफ खुद को गाली देते हैं क्योंकि आपको आश्चर्य होता है कि आपके ग्राहक आपके द्वारा ज़ोन / होस्ट्स फ़ाइल में दर्ज किए गए नाम का समाधान क्यों नहीं कर सकते हैं। =)

क्या आपने यह कोशिश की और असफल रहे?


2
Windows Server 2003 का DNS नामों को हल करने के लिए फ़ाइल का उपयोग नहीं करेगा hosts। यह अपने आप डेटा, भाड़ा के या पुनरावर्ती प्रश्नों, लेकिन का उपयोग करेगा नहीं स्थानीय hostsफ़ाइल।
मासिमो

@ मासिमो तुम सही हो! मैंने इसका परीक्षण किया और असफल रहा। हालांकि, मुझे लगता है कि मैंने आपका सुझाव लिया और इसे थोड़ा और सुरुचिपूर्ण बनाने के लिए इसे और सरल बनाया। मुझे बताओ तुम क्या सोचते हो।
वेस्ले

हटाए गए :-):
मासिमो

@ मासीमो टीआई। और मुझे इस बात के लिए धन्यवाद कि मैं अपने लिए यह परीक्षा करूं। मैंने एक नई चीज सीखी। हमेशा मजा। =)
वेस्ले

1
डननो आपको फिर से क्यों मिला, मुझे लगता है कि मैं नियमित रूप से आने वाली एक समस्या का एक साफ समाधान की तरह लगता है और यह पूरे (सार्वजनिक) इंटरनेट क्षेत्र के लिए छायांकन की तुलना में बहुत सरल है।
हेल्विक

3

आंतरिक उपयोगकर्ताओं को संसाधनों के लिए आंतरिक आईपी प्राप्त करने की इच्छा है, जबकि बाहरी उपयोगकर्ताओं को बाहरी आईपी प्राप्त होते हैं उन्हीं संसाधनों के लिए आम है। इसे ब्रेन डीएनएस के रूप में विभाजित किया जाता है। आपके पास एक DNS सर्वर है जो इंटरनेट का सामना करता है और स्थानीय उपयोगकर्ताओं के लिए एक अन्य आंतरिक DNS सर्वर। आंतरिक उपयोगकर्ता आपके नेटवर्क पर डीएचसीपी और आपके डीएचसीपी सर्वर का उपयोग करते हैं जो आप आंतरिक डीएनएस सर्वर का विज्ञापन करते हैं। जब आपके उपयोगकर्ता कार्यालय से दूर होते हैं, तो उनका डीएचसीपी सर्वर उन्हें एक डीएनएस सर्वर के लिए असाइन करेगा जो केवल बाहरी क्षेत्र के बारे में जानता होगा।

आप वास्तव में आंतरिक रूप से क्षेत्र की मेजबानी के बिना ब्रेन डीएनएस को विभाजित करना चाहते हैं। आप सुझाव देते हैं कि आंतरिक रूप से क्षेत्र की मेजबानी करना समस्याग्रस्त है क्योंकि आप नहीं चाहते कि उपयोगकर्ता घर से काम करते समय आंतरिक आईपी प्राप्त करें, लेकिन इसका कोई मतलब नहीं है क्योंकि जब वे घर पर होते हैं तो वे एक अलग डीएचसीपी सर्वर से अपना आईपी प्राप्त कर रहे हैं वह आपके आंतरिक DNS सर्वर का विज्ञापन नहीं करने वाला है। यह उनके ISP के DNS सर्वर का विज्ञापन करने जा रहा है जो केवल आपके बाहरी क्षेत्र के बारे में जानता होगा और इस प्रकार उन्हें केवल बाहरी IP पते प्रदान करेगा।

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

स्प्लिट ब्रेन डीएनएस पर पढ़ें - यह इस स्थिति को संभालने का सामान्य तरीका है।


"लेकिन इससे कोई मतलब नहीं है" - माफ करना, आप मुझे गलत समझें। वर्तमान में, मैं अपने घर पर कंपनी के कर्मचारियों को mail.nlscan.com को 202.101.116.9 पर सही ढंग से हल करने का इरादा रखता हूं, लेकिन उनसे घर पर somehomt.dev.nls को हल करने की उम्मीद नहीं करता (जब तक कि मैं वीपीएन सर्वर स्थापित नहीं करता)। और विभाजन-मस्तिष्क DNS को इंगित करने के लिए धन्यवाद। चूंकि मैं अपनी कंपनी इंट्रानेट में mail.nlscan.com नाम के लिए केवल एक ट्विन चाहता हूं, इसलिए स्प्लिट-ब्रेन DNS की स्थापना इतनी सुविधाजनक नहीं हो सकती है।
जिम चेन चेन

2

वेस: मुझे यकीन नहीं है कि आपको किसने डिंग किया है, लेकिन मैं होस्ट फ़ाइल के उपयोग को स्पष्ट करना चाहूंगा: होस्ट फ़ाइल का उपयोग DNS क्लाइंट रिज़ॉल्वर घटक द्वारा किया जाता है, न कि DNS सर्वर घटक द्वारा। DNS सर्वर के रूप में कार्य करते समय DNS सर्वर पर होस्ट फ़ाइल में एक प्रविष्टि का उपयोग DNS सर्वर द्वारा किया जाएगा। उदाहरण के लिए, मेरे W2K8 DNS सर्वर की होस्ट फ़ाइल में एक प्रविष्टि इस प्रकार है:

1.1.1.1 test.test.com

डीएनएस सर्वर के डीएनएस क्लाइंट कैश में लोड किया जाता है (यह सर्वर कैश नहीं है)। अगर मैं अपने DNS सर्वर से test.test.com को पिंग करता हूं तो यह अपेक्षित रूप से 1.1.1.1 देता है। यदि मैं तब DNS सर्वर पर nslookup चलाता हूं और इसे test.test.com के लिए पूछता हूं, तो यह सही सार्वजनिक आईपी पता देता है जो test.test.com के लिए पंजीकृत है क्योंकि DNS सर्वर पर DNS क्लाइंट घटक अब DNS सर्वर घटक को रिज़ॉल्यूशन के लिए पूछ रहा है (बस किसी भी अन्य DNS ग्राहक होगा)। यह आपके सिर को चारों ओर लपेटने के लिए एक भ्रामक विचार है, लेकिन DNS सर्वर भी एक DNS क्लाइंट है और जब DNS क्लाइंट घटक को कार्रवाई में कहा जाता है, तो यह किसी भी अन्य DNS क्लाइंट के रूप में कार्य करता है, यह स्वयं के DNS क्लाइंट कैश को देखकर है, जिसमें कोई भी एंट्री पूर्व शामिल है होस्ट फ़ाइल से लोड किया गया। केवल जब DNS क्लाइंट घटक DNS सर्वर घटक का उपयोग करता है (DNS सर्वर को क्वेरी करके) इसमें कॉन्फ़िगर किया गया है '

DNS सर्वर को क्वेरी करने वाले किसी भी DNS क्लाइंट को हमेशा "वास्तविक" उत्तर मिलेगा और मेजबान प्रविष्टि को नहीं क्योंकि DNS सर्वर के DNS क्लाइंट कैश का उपयोग सर्वर स्वयं (DNS क्लाइंट के रूप में) करता है और DNS सर्वर घटक द्वारा नहीं।


आपके परीक्षणों और परिणामों ने आज दोपहर मेरी खोज को बिल्कुल स्पष्ट कर दिया। किसी कारण से मुझे लगा कि मैंने पढ़ा है कि DNS सर्वर सेवा ने मेजबानों को बीज के रूप में कैश करने के लिए उपयोग किया है, न कि केवल रिज़ॉल्वर से। बस हमें Savage और Hyneman कहते हैं! =)
वेस्ले

सैवेज और हाइमन, यह कमाल है! लेकिन कौन है? कृपया मुझे मत बताओ कि मुझे एक वालरस मूंछें बढ़ानी हैं और एक बेरी पहनना शुरू करना है। ;)
जॉकेवर्टी

1

जहां तक ​​मुझे पता है, hostsनाम रिज़ॉल्यूशन को संभालने के लिए विंडोज डीएनएस का उपयोग करने का कोई तरीका नहीं है ; लेकिन इसकी जरूरत नहीं है।

आप अपने आंतरिक DNS सर्वर पर सार्वजनिक इंटरनेट ज़ोन के समान नाम से सुरक्षित रूप से एक ज़ोन बना सकते हैं; क्या होगा, आपका सर्वर उस क्षेत्र के नामों के लिए अनुरोधों को अपने स्वयं के डेटा का उपयोग करने के बजाय, उस क्षेत्र के लिए आधिकारिक नाम सर्वरों के लिए उन अनुरोधों को अग्रेषित करेगा; इसे कभी-कभी "शैडोइंग" कहा जाता है, क्योंकि यह "नकली" डेटा के बजाय "वास्तविक" सार्वजनिक क्षेत्र को आंतरिक ग्राहक के लिए अनुपलब्ध बनाता है।

आपको जिस चीज के बारे में सावधान रहना चाहिए, आपको इस आंतरिक क्षेत्र को उन सभी नामों से आबाद करना चाहिए जिनकी आपको आवश्यकता है, यहां तक ​​कि सार्वजनिक आईपी पते का उपयोग भी करना चाहिए; अन्यथा, आंतरिक ग्राहक उन नामों को हल करने में असमर्थ होंगे।

मान लीजिए कि आपका सार्वजनिक क्षेत्र इस प्रकार है:

www.nlscan.com    202.101.116.8
mail.nlscan.com   202.101.116.9

आप आंतरिक ग्राहकों को mail.nlscan.com को 172.16.0.10 के रूप में हल करना चाहते हैं; यह ठीक है, इसलिए आप अपने आंतरिक DNS सर्वर पर एक "nlscan.com" क्षेत्र बनाते हैं और उसमें "mail.nlscan.com -> 172.16.0.10" डालते हैं।
लेकिन अब आपके आंतरिक ग्राहक "www.nlscan.com" को हल नहीं कर सकते, क्योंकि सर्वर को लगता है कि यह उस क्षेत्र के लिए आधिकारिक है, इसलिए यह क्वेरी का जवाब नहीं देगा (क्योंकि यह उस होस्ट के बारे में नहीं जानता है), लेकिन यह भी यह किसी को भी अग्रेषित नहीं करेगा।
इसे हल करने के लिए, आपको "www.nlscan.com" को भी अपने आंतरिक क्षेत्र के अंदर रखना होगा; यदि आप चाहते हैं कि आपके ग्राहक इस तरह से उस तक पहुँच सकें, या आप "mail.nlscan.com", यदि "www" आपके फ़ायरवॉल द्वारा कुछ आंतरिक सर्वर को भी भेजा जा रहा है।
यही सिद्धांत ज़ोन में किसी भी नाम पर लागू होता है।

इस सेटअप का बाहरी ग्राहकों, या आपके किसी भी उपयोगकर्ता पर कोई प्रभाव नहीं पड़ेगा जो अस्थायी रूप से आपके नेटवर्क के बाहर है, क्योंकि आंतरिक "छाया" ज़ोन इंटरनेट से कभी भी दिखाई नहीं देगा।


मुझे नहीं लगता कि आपको संपूर्ण nlscan.com डोमेन के लिए एक आधिकारिक क्षेत्र बनाने की आवश्यकता है। मुझे लगता है कि आप एक उपडोमेन: mailserver.nlscan.com बना सकते हैं और फिर एक नामहीन ए रिकॉर्ड बना सकते हैं। अधिक विस्तार के लिए मेरी पोस्ट देखें।
वेस्ले

हाँ, यह काम करेगा; और वास्तव में सरल होगा ... यदि आपको केवल एक ही होस्ट को पुनर्निर्देशित करने की आवश्यकता है; यदि आपको उनमें से कुछ को पुनर्निर्देशित करने की आवश्यकता है, तो एक पूर्ण क्षेत्र बेहतर होगा।
मैसिमो

DNS सर्वर में अपने सशर्त फ़ॉरवर्डर फ़ोल्डर में nlscan.com जोड़ें

1

Hostfile को कभी न छोड़ें, बस DNS mail.domain.com में एक नया ज़ोन जोड़ें और ज़ोन में एक होस्ट जोड़ें। नाम को खाली छोड़ दें (यह स्वतः ही क्षेत्र के नाम का उपयोग करेगा) और स्थानीय मेल सर्वर का आईपी पता दर्ज करें;;

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