WGET होस्ट को हल नहीं कर सकता


12

मुझे एक ही सब-नेट रनिंग डेबियन 5.0 पर 2 मशीनें मिली हैं। वे समान DNS (/etc/resolv.conf) का उपयोग करते हैं, वे एक ही गेटवे (#route) पर जाते हैं और उनकी समान iptables सेटिंग्स (#iptables -L) होती हैं। मैं उन दोनों से, दोनों IP पते और नाम होस्ट करने के लिए पिंग कर सकता हूं। मैं #host www.google.com चला सकता हूं और उन दोनों पर समान परिणाम प्राप्त कर सकता हूं। लेकिन समस्या यह है कि उनमें से एक पर, मैं भूल नहीं सकता या कर्ल नहीं कर सकता।

तो मशीन 1 पर सब कुछ ठीक है, लेकिन मशीन 2 पर (मशीन 1 के समान सेटिंग्स के साथ) मैं भूल नहीं सकता या कर्ल नहीं कर सकता।

मुझे जो त्रुटि मिलती है वह है:

# wget google.com
--2009-10-20 16:38:36--  http://google.com/
Resolving google.com... failed: Name or service not known.
wget: unable to resolve host address `google.com'

लेकिन मशीन 1 पर इसे भूल या कर्ल और रिटर्न की कोई समस्या नहीं है:

# wget google.com
--2009-10-20 16:43:55--  http://google.com/
Resolving google.com... 74.125.53.100, 74.125.45.100, 74.125.67.100
Connecting to google.com|74.125.53.100|:80... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
...
Saving to: `index.html.3'

आदि।

मैं उम्मीद कर रहा हूँ कि कोई मुझे यहाँ सही दिशा में इंगित कर सकता है ताकि मैं इस मुद्दे को ठीक कर सकूँ :)


यह शायद सबसे महत्वपूर्ण नहीं है बल्कि एक नेटवर्किंग समस्या से संबंधित है।

क्या आपके पास वातावरण में एक प्रॉक्सी सेटिंग है .. मेरी कार्य मशीन ने किया :-(
lexu

"Host google.com" को आज़माएँ, न कि "host www.google.com" को, सर्वर २ पर।
बिल वीस

जवाबों:


17

अपनी /etc/nsswitch.confफ़ाइल जांचें (या जो भी समतुल्य डेबियन पर है यदि वह ऐसा नहीं है)।

hostऔर nslookup हमेशा DNS लुकअप करते हैं।

हालाँकि अन्य अनुप्रयोग अन्य नामकरण प्रणालियों (जैसे /etc/hosts, एनआईएस, आदि) के लिए पहले एनएसएस में देखेंगे । यदि कुछ और कॉन्फ़िगर किया गया है, लेकिन काम नहीं कर रहा है तो यह एप्लिकेशन को कभी DNS की कोशिश करने से रोक सकता है।


3
रिज़ॉल्वर की जांच करने के लिए विहित तरीका चल रहा है getent hosts google.com। यह आवश्यकतानुसार nsswitch.conf और फिर resolv.conf का उपयोग करता है।
जो

9

आप लोगों के जवाब के लिए धन्यवाद!

यह nsswitch.conf फ़ाइल थी। मैंने LDAP को एक ट्यूटोरियल से सेटअप किया था जिसने मुझे मेजबानों में इस लाइन का उपयोग करने के लिए कहा था:

hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4

जब मैंने इसे इसे बदल दिया:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

यह बिना किसी समस्या के काम करता है। तो मुझे लगता है कि nsswitch config फाइल फाइलों या mdns4_minimal में न मिलने पर इसे अशक्त बना रही है, है ना?

आपकी सहायताके लिए धन्यवाद!


7
आपको शायद अलनीतक का उत्तर स्वीकार करना चाहिए।
दान कार्ले

हाँ, मैं ऐसा कैसे करूँ? : - /

वोट स्कोर के आगे "V" पर क्लिक करके स्वीकार करें। :)
रेड्संड्रो

3

कोशिश करने वाली पहली चीज यह जांच रही है कि DNS सही तरीके से काम करता है या नहीं।

# host google.com
google.com has address 74.125.67.100
google.com has address 74.125.45.100
google.com has address 74.125.53.100

यदि आपको वह प्रतिक्रिया नहीं मिलती है, तो /etc/resolv.conf को चेक करें और उस फ़ाइल में सूचीबद्ध नाम सर्वर को खोजें। क्या आप उनमें से प्रत्येक को पिंग कर सकते हैं?

व्यक्तिगत रूप से उनमें से प्रत्येक को क्वेरी करने का प्रयास करें:

# host google.com 12.34.56.78

क्या आप दूसरे होस्ट को हल कर सकते हैं?


3

मुझे भी यही समस्या थी, लेकिन बदलने के बाद /etc/nsswitch.conf:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

मुझे भी नाम सर्वर बदलना पड़ा:

/etc/resolv.confइसे बदलें ताकि यह Google नेमसर्वरों को इंगित करे। नेटवर्क प्रबंधक द्वारा जोड़े गए मेरे लिए काम नहीं करते हैं।

# RED 2013-03-31
nameserver 8.8.8.8
nameserver 8.8.4.4

3
धन्यवाद, अनाम, नीचे की ओर रचनात्मक टिप्पणी के लिए।
Redsandro

2

क्या त्रुटि के साथ मशीन पर एक अवैध प्रॉक्सी कॉन्फ़िगर किया जा सकता है? इसे इस्तेमाल करे:

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