नाम तय करते समय विंडोज किस DNS सर्वर का उपयोग करता है?


41

नाम को हल करने के लिए कौन-सा DNS सर्वर इसे क्वेरी करेगा, यह तय करने के लिए विंडोज किस एल्गोरिथ्म का उपयोग करता है?

मान लें कि मेरे पास कई इंटरफेस हैं, सभी सक्रिय हैं, कुछ में कोई डीएनएस सर्वर निर्दिष्ट नहीं है, कुछ ने इसे स्वचालित रूप से निर्धारित करने के लिए कहा है, और कुछ ने इसे मैन्युअल रूप से निर्दिष्ट किया है (इंटरफ़ेस आईपीवी 4 और इंटरफ़ेस आईपीवी 6 में)।

मैं इस सामान्य प्रश्न का उत्तर देने के लिए कह रहा हूं कि मुझे उम्मीद है कि मैं जानता हूं कि विंडोज विस्टा में अधिक विशिष्ट समस्या को कैसे हल किया जाए - मेरे पास दो इंटरफेस हैं, एक कम मीट्रिक और एक DNS सर्वर मैन्युअल रूप से निर्दिष्ट है। nslookup इस DNS सर्वर का उपयोग करता है और नामों को सही ढंग से हल करता है। हालाँकि, अन्य सभी अनुप्रयोग नाम को हल करने में विफल होते हैं जब तक कि मैं अन्य इंटरफ़ेस के लिए DNS सर्वर को मैन्युअल रूप से निर्दिष्ट नहीं करता हूं, जो अनुप्रयोग तब उपयोग करते हैं। nslookup निर्दिष्ट होते ही इस अन्य इंटरफ़ेस के लिए निर्दिष्ट DNS सर्वर का उपयोग करता है।

धन्यवाद

जवाबों:


27

यदि मैं गलत नहीं हूं, तो यह नेटवर्क कनेक्शन फ़ोल्डर में उन्नत सेटिंग्स में एनआईसी बाध्यकारी आदेश द्वारा निर्धारित किया जाता है। आप परीक्षण के रूप में विभिन्न एनआईसी के बाध्यकारी आदेश और nslookup चलाकर इसे सत्यापित कर सकते हैं।

मेरे उत्तर का विस्तार करने के लिए, इवान से जुड़े लेख का हवाला देते हुए , यहां कहा गया है कि लेख से एक अंश:

DNS क्लाइंट सेवा DNS सर्वर से निम्न क्रम में पूछताछ करती है:

  1. DNS क्लाइंट सेवा वरीय सर्वर की पसंदीदा एडाप्टर सूची पर पहले DNS सर्वर को नाम क्वेरी भेजता है और प्रतिक्रिया के लिए एक सेकंड का इंतजार करता है।

  2. यदि DNS क्लाइंट सेवा को पहले DNS सर्वर से एक सेकंड के भीतर कोई प्रतिक्रिया नहीं मिलती है, तो यह नाम क्वेरी को उन सभी एडेप्टर पर पहले DNS सर्वरों को भेजता है जो अभी भी विचाराधीन हैं और प्रतिक्रिया के लिए दो सेकंड इंतजार कर रहे हैं।

  3. यदि DNS क्लाइंट सेवा को दो सेकंड के भीतर किसी भी DNS सर्वर से प्रतिक्रिया नहीं मिलती है, तो DNS क्लाइंट सेवा उन सभी एडेप्टर पर सभी DNS सर्वरों को क्वेरी भेजता है जो अभी भी विचाराधीन हैं और प्रतिक्रिया के लिए एक और दो सेकंड का इंतजार कर रहे हैं।

  4. यदि DNS क्लाइंट सेवा अभी भी किसी भी DNS सर्वर से प्रतिक्रिया प्राप्त नहीं करती है, तो यह सभी DNS सर्वर पर नाम क्वेरी को सभी एडेप्टर पर भेजता है जो अभी भी विचाराधीन हैं और प्रतिक्रिया के लिए चार सेकंड इंतजार कर रहे हैं।

  5. यदि यह DNS क्लाइंट सेवा को किसी DNS सर्वर से प्रतिक्रिया नहीं मिलती है, तो DNS क्लाइंट सभी DNS सर्वर पर क्वेरी को सभी एडेप्टर पर भेजता है जो अभी भी विचाराधीन हैं और प्रतिक्रिया के लिए आठ सेकंड प्रतीक्षा करता है।

चरण 1 में पसंदीदा एडेप्टर एक ऐसा एडेप्टर है जिसे बाध्यकारी क्रम में पहले सूचीबद्ध किया गया है।


4
यह प्रक्रिया विंडोज 10 में बदल गई है, हालांकि मुझे नहीं पता कि नई प्रक्रिया मुझे पता है कि उपरोक्त विंडोज 10 पर लागू नहीं होती है, इस ब्लॉग को देखें - blogs.technet.microsoft.com/networking/2015/08/14/…
रॉबर्ट

14

विंडोज 10 (और विंडोज सर्वर 2016) में आपको प्रत्येक इंटरफ़ेस के मीट्रिक को उस क्रम में अपडेट करना होगा जो आप चाहते हैं।

  1. गोटो कंट्रोल पैनल> नेटवर्क और इंटरनेट> नेटवर्क कनेक्शन
  2. इच्छित कनेक्शन पर राइट क्लिक करें (हायर प्रायोरिटी कनेक्शन)
  3. गुण> इंटरनेट प्रोटोकॉल संस्करण 4 पर क्लिक करें
  4. गुण> उन्नत पर क्लिक करें
  5. 'स्वचालित मीट्रिक' को अनचेक करें
  6. 'इंटरफ़ेस मीट्रिक' में 10 दर्ज करें
  7. ओके पर क्लिक करें

संदर्भ:

मैंने अपने LAN के लिए 10, WLAN के लिए 20 और VPN Interfaces के लिए 100 का उपयोग किया (मैं काम पर स्थानीय DNS पसंद करता हूं, यह दूसरों के लिए रिवर्स हो सकता है)। कम मीट्रिक = उच्च प्राथमिकता याद रखें ।

IPv4 मार्गों के लिए स्वचालित मीट्रिक सुविधा के स्पष्टीकरण के लिए Microsoft समर्थन में यह आलेख देखें ।


+1 विंडोज 10 पर मेरे लिए, यह एकमात्र समाधान था, धन्यवाद।
G 4årµåñ

मैट्रिक संशोधन केवल मार्ग चयन को प्रभावित करता है। यह प्रभावित नहीं करता है कि कौन से DNS सर्वर का उपयोग किया जाएगा।
जु्रव

14 upvotes और व्यक्तिगत अनुभव असहमत हैं, मैं मानता हूं कि यह नहीं होना चाहिए लेकिन देव के Microsoft में इसे इस तरह कोडित किया गया था।
जेकब इवांस

8

यह पृष्ठ DNS प्रश्नों को करने के लिए विंडोज द्वारा उपयोग किए गए एल्गोरिदम का वर्णन करता है। यह इतना गहरा नहीं है कि आपको उन सभी उत्तरों को दे सके जो आप खोज रहे हैं, लेकिन कुछ समय w / एक स्निफर और यह लेख आपको यह निर्धारित करने की आवश्यकता है कि आपकी विशिष्ट स्थिति में क्या हो रहा है।


3

मेरे साथ भी ठीक यही समस्या आई. मैंने एक दिन बिताया है ताकि यह पता लगाने की कोशिश करूं। अब मुझे पता है और यह एक आकर्षण की तरह काम करता है।

यदि आपके पास कई नेटवर्क कार्ड हैं और यदि उनमें से प्रत्येक में DNS सर्वर निर्दिष्ट करें। क्या आप जानते हैं कि DNS सर्वर का उपयोग आखिर में क्या किया जाएगा?

वैसे आप इसे अभ्यास के माध्यम से देख सकते हैं।

nslookup 192.168.3.6

तो आप सर्वर को देखते हैं जो आपका पीसी वास्तव में उपयोग करता है

सवाल यह है - क्या से निर्भर करता है कि DNS सर्वर विंडो का उपयोग करने के लिए क्या चुनते हैं और हम इसे कैसे बदल सकते हैं।

वीपीएन क्लाइंट्स का उपयोग करते समय हमें इसकी विशेष रूप से आवश्यकता होती है।

जवाब से qwerty2010 सही और सही है। लेकिन आप इसका उपयोग केवल तभी कर सकते हैं जब आपके पास नियंत्रण कक्ष - नेटवर्क और साझाकरण केंद्र - एडेप्टर सेटिंग्स - एनआईसीएस की सूची में एनआईसी हो

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

तो आप नेटवर्क और साझाकरण केंद्र -> एडेप्टर सेटिंग्स बदलें -> उन्नत -> उन्नत सेटिंग्स -> पर जाएं और आप उस DNS के साथ निक को स्थानांतरित करें जिसे आप उपयोग करना चाहते हैं। (यूपी आपको इसे उठाने की जरूरत है)।

हालांकि अगर उदाहरण के लिए आप Shrew vpn क्लाइंट का उपयोग करते हैं - तो आपके पास कोई nics नहीं होगा।

आप क्या करते हैं।

आप रजिस्ट्री खोलिए।

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}

और आप सबफ़ोल्डर 0000, 0001 आदि फोल्डर में देखें

DriverDesc = Shrew Soft Virtual Adapter

ठीक। फिर आप क्लिपबोर्ड पर कॉपी करें

NetCfgInstanceId = {B498E7DE-7257-48F6-AD32-60E470030F05}

अब तुम जाओ

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Linkage]

और तुम खोलो key = Bind। आप सूची को इस तरह देखेंगे

\Device\{1DF89CE3-CAAD-4EB7-A53F-AD16BC1D5EFD}
\Device\{70126DBE-B44D-4392-9417-0CABD6E384B1}
\Device\{D5127F8E-E7BB-4661-AE5A-A922614173D0}
\Device\{C44039AB-6801-4A9B-A736-3B12782FF411}
\Device\{85231D0F-CD05-4774-A983-632C5D83AC62}
\Device\{7E87BC81-8C58-4E05-9FA0-7897A6AA5CCE}
\Device\{3A1A3EFC-A9DE-4BCA-BAF6-81C7074487E0}
\Device\{8D41EDFC-04AC-4537-B5D5-0D54EB51A023}

आपको बस इतना करना है कि शीर्ष पर रख दिया जाए

\Device\{B498E7DE-7257-48F6-AD32-60E470030F05}
\Device\{1DF89CE3-CAAD-4EB7-A53F-AD16BC1D5EFD}
\Device\{70126DBE-B44D-4392-9417-0CABD6E384B1}
\Device\{D5127F8E-E7BB-4661-AE5A-A922614173D0}
\Device\{C44039AB-6801-4A9B-A736-3B12782FF411}
\Device\{85231D0F-CD05-4774-A983-632C5D83AC62}
\Device\{7E87BC81-8C58-4E05-9FA0-7897A6AA5CCE}
\Device\{3A1A3EFC-A9DE-4BCA-BAF6-81C7074487E0}
\Device\{8D41EDFC-04AC-4537-B5D5-0D54EB51A023}

बस इतना ही। रिबूट करने की कोई आवश्यकता नहीं है।

जब आप vpn कनेक्शन का उपयोग करते हैं तो अब आपकी विंडोज़ shrew vpn nic में निर्दिष्ट DNS का उपयोग करेगी।


0

चूंकि यह आपकी या दूसरों की मदद कर सकता है, आप dns के उपयोग को अधिक अनुमानित करने के लिए सूचीबद्ध डीएनएस के विंडोज़ राउंड-रॉबिन उपयोग को अक्षम कर सकते हैं। राउंड-रॉबिंग को निष्क्रिय करने के RoundRobin=0लिए HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\DNS\Parameters( संदर्भ ) में सेटिंग का प्रयास करें ।

सर्वर को घुमाने के लिए एक "टाइमआउट" भी है, आप इसे शून्य पर सेट करने का भी प्रयास कर सकते हैं :

 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters
 ServerPriorityTimeLimit=0

उल्लेखित "संदर्भ" (लिंक) के अनुसार, यह क्वेरी से क्वेरी के लिए घुमाए गए क्रम में कुछ क्वेरी किए गए FQDN के लिए कई IP पते प्रदान करने के लिए DNS सर्वर को कॉन्फ़िगर करने के लिए लागू होता है। इसका इस सवाल से कोई लेना-देना नहीं है कि DNS रिज़ॉल्वर (क्लाइंट) को DNS सर्वर को कैसे चुना जाता है।
थॉमस अर्बन

-13

यह बेतरतीब ढंग से तय नहीं करता है। आप एक राउटर से जुड़े हैं जो इसे उस कंपनी से IP प्राप्त करता है जिसके पास DNS सर्वर हैं। जब तक आप IP को मैन्युअल रूप से किसी अन्य DNS में परिवर्तित नहीं करते, तब तक उन्हें आपका अनुरोध मिल जाता है: उदाहरण के लिए: OpenDns । या शायद आप अपने खुद के DNS सर्वर होने का फैसला करते हैं। वह भी काम करता है। नेटवर्क सेंटर में बस आईपी एड्रेस दर्ज करें और सब कुछ ठीक होना चाहिए। और हां, आपको उन्हें मैन्युअल रूप से सेट करना होगा।

आप C:\Windows\System32बिना एक्सटेंशन के "होस्ट" नामक फ़ाइल को भी समायोजित कर सकते हैं । यह आपको मानक DNS पर भेजे जाने के बजाय URL-अनुरोधों को पुनर्निर्देशित करने की अनुमति देता है। एक स्थानीय सर्वर के लिए (जो कि पोर्ट 80 को चलाने और सुनने वाला होना चाहिए)


18
मूल रूप से आपने जो कुछ भी यहां कहा है वह गलत है
एमडीएमरा

3
और एक अतिरिक्त -1 भी उत्सव abomination कि मेजबान फ़ाइल का उल्लेख करने के लिए है।
मैक्सिमस मिनिमस

मार्मिक होने का मार्ग
KdgDev

4
@WebDevHobo - एक टिप्पणी में सही करने के लिए वास्तव में बहुत अधिक है, लेकिन मैं बड़े बिंदुओं पर बात करूंगा। 1) ओपी में एक कंप्यूटर है जिसमें कई इंटरफेस (सबसे अलग एनआईसी) हैं, और प्रत्येक पर एक अलग डीएनएस परिभाषित है। प्रश्न के संदर्भ में, वह स्पष्ट रूप से कुछ आंतरिक DNS सर्वर चला रहा है या कुछ पसंदीदा बाहरी DNS सर्वर हैं - बॉक्स शायद बहु-होम है। 2) आपको मैन्युअल रूप से आंतरिक DNS सर्वर का पता सेट करने की आवश्यकता नहीं है यदि आप डीएचसीपी सर्वर का उस पते के लिए डीएचसीपी सर्वर कॉन्फ़िगरेशन में उपयोग कर रहे हैं। 3) मेजबानों की फाइल का रास्ता c: \ windows \ system32 \
driver

3
और HOSTS फ़ाइल को इस स्थिति में, या व्यावहारिक रूप से कभी भी उपयोग नहीं किया जाना चाहिए जब तक कि आप स्थानीय विकास नहीं कर रहे हैं और HOST हेडर या कुछ का उपयोग कर रहे हैं और स्थानीय रूप से हल करने के लिए FQDN की आवश्यकता है। और सर्वर को पोर्ट 80 चलाने की आवश्यकता नहीं है, चाहे वह नाम रिज़ॉल्यूशन के लिए HOSTS फ़ाइल या DNS सर्वर का उपयोग कर रहा हो। सीधे शब्दों में कहें: URL के अंत में port_number। HOSTS पोर्ट के बारे में परवाह नहीं करता है, जैसे DNS नहीं करता है - यह एक मेजबाननाम को आईपी पते पर अनुवाद करने का एक तरीका है और इससे अधिक कुछ नहीं।
एमडीएमरा
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.