LAN पर नेटवर्क संचालन धीमा डीएनएस लुकअप उल्टा


9

वातावरण

मेरा LAN सेटअप काफी बुनियादी है:

  • ISP के मॉडेम और इंटरनेट से जुड़ा एक राउटर
  • मेरा विकास पीसी सीधे राउटर से जुड़ा है

राउटर डीएचसीपी प्रदान करता है लेकिन अपना डीएनएस सर्वर नहीं चलाता है। वास्तव में, मेरे LAN (ठेठ होम नेटवर्क सेटअप) पर कहीं भी DNS सर्वर होस्ट नहीं है। राउटर को डीएचपी लीज़ की जानकारी के हिस्से के रूप में आईएसपी के डीएनएस सर्वर को भेजने के लिए कॉन्फ़िगर किया गया है।

मैंने अपने विकास पीसी पर एक वर्चुअलबॉक्स मशीन स्थापित की और उस पर डेबियन स्क्वीज़ (6.0.4) स्थापित किया। VirtualBox नेटवर्क मोड Bridged Adapterमेरे LAN पर एक स्टैंडअलोन सर्वर का अनुकरण करने के लिए है। भौतिक सर्वर के बजाय वर्चुअलबॉक्स सर्वर होना वास्तव में महत्वपूर्ण नहीं है, लेकिन मैं इसे पूर्णता के लिए उल्लेख करता हूं।

समस्या

हर बार जब कोई नेटवर्क ऑपरेशन एक लैन आईपी के DNS रिवर्स लुकअप को निष्पादित करने से पहले निष्पादित करता है, तो सर्वर में लंबी देरी होती है। धीमे नेटवर्क संचालन के कुछ उदाहरण:

  • मेरे देव पीसी से सर्वर से एसएसएच कनेक्शन
  • ग्लासफ़िश सर्वर के व्यवस्थापक पोर्ट के लिए कनेक्शन
  • netstat -l( netstat -nlबहुत तेज है)
  • Starting MTA: exim4 बूट पर पूरा होने में लंबा समय लगता है

इनमें से कुछ में वर्कअराउंड हैं जैसे कि मेरे देव पीसी के आईपी को /etc/hostsजोड़ने या डीएनएस रिवर्स लुकअप करने से बचने के लिए कमांड-विशिष्ट विकल्प जोड़ना। जाहिर है, इसका उपयोग /etc/hostsकेवल इसलिए होता है क्योंकि यह डीएचसीपी के साथ है।

हालाँकि, मैं मदद नहीं कर सकता लेकिन मुझे लगता है कि मुझे कुछ याद आ रहा है। मैं है वास्तव में सेटअप करने के लिए मेरी लैन पर एक DNS सर्वर कहीं की ज़रूरत है? ऐसा लगता है कि मेरी जरूरतों के लिए एक बहुत बड़ा और बेकार प्रयास है और मैं विश्वास नहीं कर सकता कि मेरे जैसे डीएचसीपी वातावरण में एक और विकल्प नहीं है।

मैंने इसके लिए नेट को बहुत खोजा और शायद मेरे पास सही खोज शब्द नहीं हैं, लेकिन मैं इसका समाधान नहीं ढूंढ सकता ...

1 बिलथर के जवाब के बाद 1 अपडेट करें

मेजबान का उपयोग करना (समान परिणाम देता है):

# ip of stackoverflow.com
$ time host -v 64.34.119.12
Trying "12.119.34.64.in-addr.arpa"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 15537
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;12.119.34.64.in-addr.arpa.     IN      PTR

;; ANSWER SECTION:
12.119.34.64.in-addr.arpa. 143  IN      PTR     stackoverflow.com.

Received 74 bytes from 192.168.1.1#53 in 15 ms

real    0m0.020s
user    0m0.008s
sys     0m0.000s

# ip of dev pc
$ time host -v 192.168.1.50
Trying "50.1.168.192.in-addr.arpa"
;; connection timed out; no servers could be reached

real    0m10.004s
user    0m0.004s
sys     0m0.000s

मेरा /etc/resolv.conf (स्थापना के दौरान स्वचालित रूप से बनाया गया था)

nameserver 192.168.1.1

दोनों सार्वजनिक आईपी के लिए बहुत तेजी से वापसी करते हैं, लेकिन लैन आईपी के लिए टाइमआउट करने के लिए 10s लेते हैं। मुझे लगता है कि 10s मेरा वर्तमान टाइमआउट मान है।

अद्यतन २

साथ dev-pcमें / etc / hosts फ़ाइल:

$ time getent hosts 192.168.1.50
192.168.1.50    dev-pc

real    0m0.001s
user    0m0.000s
sys     0m0.000s

बिना dev-pc/ etc / मेजबान फ़ाइल के:

$ time getent hosts 192.168.1.50

real    0m10.012s
user    0m0.004s
sys     0m0.000s

यह अधिक से अधिक लग रहा है जैसे मुझे उल्टे DNS लुकअप करने की कोशिश करने वाले प्रत्येक के लिए टुकड़े-टुकड़े कार्यक्रम विकल्प या पैरामीटर खोजना होगा! कोई भी मशीन (आभासी या नहीं) मेरे लैन पर DNS सर्वर के रूप में कार्य कर सकती है क्योंकि वे हमेशा ऊपर नहीं होते हैं। दुर्भाग्य से, राउटर के फर्मवेयर में DNS सर्वर शामिल नहीं है।

जवाबों:


3

क्या 192.168.1.1 आपके राउटर का IP पता है?

nameserver 192.168.1.1 सुझाव देता है कि आपका राउटर "आईएसपी के डीएनएस सर्वरों को भेजने" के बजाय केवल एक DNS सर्वर के रूप में विज्ञापन कर रहा है।

आपके पास राउटर का कौन सा ब्रांड और मॉडल है? क्या वेब इंटरफ़ेस लॉग संदेश दिखाता है?

मैं सोच रहा था कि आपका राउटर आपके ISP के नेमवेर्स को रिक्वेस्ट फॉरवर्ड कर रहा है, लेकिन आपके ISP के नेमवोर्स रिक्वेस्ट को छोड़ रहे हैं, क्योंकि वे नहीं चाहते कि आप यह जान सकें कि IP वाली उनकी मशीन क्या 192.168.1.50कहलाती है।

सुझाव:

  • अपने राउटर की सेटिंग को दोबारा जांचें। इसे अपने निजी नेटवर्क के अनुरोधों का जवाब देना चाहिए । हो सकता है कि आप अपने राउटर के वेब इंटरफ़ेस में एक स्थिर होस्ट प्रविष्टि जोड़ सकते हैं?
  • अपने नेटवर्क पर सभी सिस्टम पर अवही को स्थापित करने का प्रयास करें ।
  • Google सार्वजनिक DNS ( 8.8.8.8और 8.8.4.4) या OpenDNS का उपयोग करने के लिए अपने राउटर को बताएं

मेरा राउटर एक "NETGEAR राउटर WNR3500L" @ 192.168.1.1 है। लॉग केवल DHCP पट्टों को दिखाता है और व्यवस्थापक इंटरफ़ेस को लॉगिन करता है। आप सही हैं, राउटर 192.168.1.1 को dns सर्वर के रूप में भेजता है जब DHCP पट्टों (Wireshark के साथ पुष्टि) को हैंडल किया जाता है। राउटर के एडमिन इंटरफेस पर, मैं डीएनएस एड्रेसेज के लिए "आईएसपी से स्वचालित रूप से प्राप्त करें" का उपयोग कर रहा हूं। अन्य विकल्प आईपी द्वारा सीधे DNS सर्वर निर्दिष्ट करना है। मुझे लगता है कि इसका मतलब है कि DNS अनुरोध वास्तव में राउटर द्वारा अग्रेषित किए जाते हैं।
bernie

हाँ, मुझे अनुमान है कि यह DNS अनुरोधों को अग्रेषित कर रहा है। यदि आप इसके बजाय Google सार्वजनिक DNS ( 8.8.8.8और 8.8.4.4) का उपयोग करने के लिए इसे बदलते हैं तो क्या होगा ?
मिकेल

वाह यह वास्तव में एक बड़ा फर्क पड़ता है! निजी आईपी एड्रेस दिए जाने पर जाहिर तौर पर ये DNS सर्वर (Google और OpenDNS) तेजी से विफल होते हैं। मैं कुछ और परीक्षण चलाऊंगा, लेकिन मुझे लगता है कि इससे मेरी समस्या हल हो जाएगी!
बर्नी

इसे स्वीकृत उत्तर के रूप में चिह्नित करना। 3 उत्तर सहायक थे, लेकिन dns सर्वर को बदलने से समस्या "बड़े पैमाने पर" हल हो गई।
बर्नी

4

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

आप यह देखने hostया digदेखने के लिए कमांड का उपयोग करना चाह सकते हैं कि कौन से लुकअप धीमे हैं। यदि आपको DNS सर्वर पर पुनर्निर्देशित किया गया है जो DNS नहीं चल रहा है तो विफल होने में काफी समय लगेगा। /etc/resolv.confविफलताओं को तेज करने के लिए आप टाइमआउट और रिट्रीट को ट्यून कर सकते हैं ।

संपादित करें: रिज़ॉल्वर की प्रतिक्रिया का परीक्षण करने के लिए उपयोग करने का प्रयास करें time getent hosts 192.168.1.50। यह आपकी /etc/hostsफ़ाइल के साथ-साथ DNS से भी लुकअप लौटना चाहिए । hostऔर digआदेशों केवल DNS की जाँच करें। यदि यह वापस आता है, लेकिन कुछ सेकंड लगते हैं, तो आप सूची के क्रम में hostsप्रविष्टि के क्रम /etc/nsswitch.confको सूची के सामने बदलना चाहते हैं ।

यदि आपके पास कोई प्रोग्राम है जो केवल नाम लुकअप के लिए DNS पर निर्भर है, तो dnsmasqइसे अपने प्राथमिक DNS नेमसेवर के रूप में सेट अप और उपयोग /etc/resolve.confकरना चाहिए। एक्ज़िम को बेस लुकअप के लिए रिज़ॉल्वर का उपयोग करना चाहिए। आपको एक /etc/hostsफ़ाइल की आवश्यकता होगी , जब तक कि आप अपने राउटर पर डीएचसीपी सर्वर को अक्षम नहीं कर सकते, आप dnsmasqडीएचसीपी के लिए उपयोग कर सकते हैं । dnsmasqयदि वे डीएचसीपी अनुरोधों को संभालते हैं तो वे स्वचालित रूप से नाम पंजीकृत करेंगे।

EDIT2: यदि आपका कोई भी कंप्यूटर हमेशा चालू नहीं रहता है, तो आप winsसांब स्थापित करने और अपने nsswitch कॉन्फ़िगरेशन का उपयोग करके देखना चाह सकते हैं । यह तेज़ होना चाहिए, इसलिए यह काम कर सकता है यदि आप इसे dnsमेजबानों की प्रविष्टि में आगे रखते हैं ।

आप avahiउपयोगिताओं को स्थापित करने पर भी ध्यान दे सकते हैं जो लिंक-स्थानीय नेटवर्क पर स्वचालित खोज को सक्षम करेगा। मेरे पास यह IPv6 पक्ष पर काम कर रहा है, लेकिन यह IPv4 पते प्रकाशित नहीं कर रहा है। मेजबानों के लिए डिफ़ॉल्ट डोमेन '.local' है। यह आपके मामले में उपयुक्त नहीं हो सकता है, लेकिन इसे ओवरराइड किया जा सकता है। यह भी धीमी लग रही है winsताकि nsswitch कॉन्फ़िगरेशन में mdnsआगे dnsरखना उपयुक्त न हो।


मुझे लगता है कि उन्होंने कहा कि सभी (और केवल) लैन धीमा लग रहा है, और वह पूरी तरह से एक मेजबान फ़ाइल से बचने की कोशिश कर रहे हैं।
ckhan

चूंकि यह केवल एक परीक्षण सर्वर है (और एक वर्चुअल भी!), मैं पूरे LAN के लिए डीएचसीपी सर्वर के रूप में इस पर भरोसा नहीं कर सकता। अन्य कभी-कभी वायरलेस क्लाइंट भी होते हैं जिन्हें मेरे देव पीसी, और इसलिए टेस्ट सर्वर के लिए भी आईपी की आवश्यकता होती है, वह नहीं चल रहा है।
bernie

मेरे पोस्ट को फिर से अपडेट किया। अब तक आपकी मदद के लिए धन्यवाद।
bernie

3

यदि आप अपने होम नेटवर्क के लिए स्थानीय DNS (और संभवतः डीएचसीपी) सर्वर स्थापित करने के अभ्यास से नहीं गुजरना चाहते हैं, तो आप उन सेवाओं को बता सकते हैं जहां रिवर्स DNS लुकअप नहीं करना संभव है।

उदाहरण के लिए, SSHD के लिए रिवर्स डीएनएस लुकअप को अक्षम करने के लिए, sshd_configफ़ाइल में निम्न जोड़ें (या डिस्ट्रो के आधार पर समान):

UseDNS no

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

host_lookup = *

ऐसा लगता है कि आप ग्लासफ़िश प्रक्रिया शुरू करने वाले उपयोगकर्ता के लिए इस पर्यावरण चर को निर्यात कर सकते हैं:

export AS_NO_REVERSE_DNS=true


काश मैं अपने पास वास्तविक उपकरणों के साथ एक डीएनएस सर्वर स्थापित कर सकता, लेकिन यह वास्तव में संभव नहीं है जब तक कि मैं राउटर पर एक वैकल्पिक फर्मवेयर लोड नहीं करता। विन्यास विकल्पों के लिए धन्यवाद; मुझे AS_NO_REVERSE_DNSग्लासफिश के विकल्प के बारे में पता नहीं चला था, इसलिए मैं देखूंगा।
bernie

1

डायनेमिक से स्टेटिक आईपी में बदलने के बाद भी यही समस्या थी। मेरा नेटवर्क अब कॉन्फ़िगर किया गया है: STATIC - NO IPv6 और मेलस्वरर का उपयोग करने का इरादा नहीं है।

मैंने समस्या को हल करके किया:

1: dpkg-reconfigure exim4-config चलाएँ

2: जब आप DNS लुकअप प्रश्न पर आते हैं -> DNS लुकअप को न्यूनतम (डायल अप) पर सेट करें

इसने मुझे एक त्रुटि दी कि इस तरह के लुकअप काम नहीं कर रहे थे और / etc / मेजबान को संपादित करने का सुझाव - लेकिन केवल एक चीज जो मैंने / etc / host के साथ की थी, वह ip6-allnodes और ip6-allrouters लाइनों की टिप्पणी कर रही थी।

रिबूट अब तेज होना चाहिए (मेरे लिए यह कम से कम है)।

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