/ Etc / होस्ट्स फ़ाइल काम क्यों नहीं कर रही है?


29

मुझे थोड़ी देर के लिए इससे समस्या रही है और मैंने जो कुछ भी जाना है, वह सब कुछ करने की कोशिश की है, इसलिए मुझे लगा कि यह आखिरकार कुछ मदद मांगने का समय है।

मेरे द्वारा किया गया कोई भी संपादन /etc/hostsकेवल काम नहीं करता है।

उदाहरण:

julian@ifrit:~$ cat /etc/hosts
127.0.0.1   localhost
127.0.1.1   ifrit
192.168.1.100   dev.julianfernand.es

ऊपर के उदाहरण में, जब मैं पहुंचता हूं dev.julianfernand.es(यह मौजूद नहीं है), तो इसे लोड करना चाहिए 192.168.1.100

अगर मैं पिंग करता हूं, तो यह ठीक काम करता है। हालाँकि जब मैं dev.julianfernand.esGoogle Chrome या Firefox का उपयोग करता हूं , तो यह नहीं होता है।

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

मैं सिर्फ अपने कंप्यूटर को पुनरारंभ नहीं रख सकता। यह बिल्कुल भी उत्पादक नहीं है। नेटवर्किंग सेवा को पुनरारंभ करने से कैश (यहां तक ​​कि आंतरिक क्रोम DNS कैश) को साफ करने के लिए भी काम नहीं किया जाता है।

क्या किसी को यहाँ एक विचार है? यह प्राथमिक (Ubuntu 12.04 पर आधारित) और Ubuntu 13.10 (दैनिक) पर आधारित है। अभी तक किसी अन्य संस्करण के साथ प्रयास नहीं किया गया है।

पुनश्च: अगर यह मामला है, मेरे पास एक NGINX सर्वर है जो इस मशीन पर PHP-FPM और MySQL के साथ चल रहा है।

अग्रिम में धन्यवाद :)


समस्या जानने के लिए मुश्किल। जब होस्टनाम (dev.julianfernand.es) के माध्यम से साइट तक पहुंच विफल हो जाती है, तो क्या आप इसे आईपी पते (192.168.1.100) के माध्यम से एक्सेस कर सकते हैं?
पैंथर

@ bodhi.zazen हां, मैं कर सकता हूं। हालाँकि, चूंकि हमारी कंपनी साझा होस्ट से "वेबसाइट एक्सेस करने के लिए डिफ़ॉल्ट आईपी" विचार का उपयोग नहीं करती है, यह काम नहीं करता है।
जूलियन फर्नांडिस

मैं आपको दीर्घकालिक समाधान के रूप में आईपी के माध्यम से वेबसाइटों तक पहुंचने का सुझाव नहीं दे रहा था। यह जानकारी डिबगिंग में मदद करती है, क्योंकि यह फ़ायरवॉल से अन्य समस्याओं को सर्वर साइड मुद्दों पर रूट करने से बाहर रखती है।
पैंथर

यदि आप अपने ब्राउज़र के एड्रेस बार में आईपी एड्रेस टाइप करते हैं तो क्या होगा?
सर्गी कोलोडियाज़नी

जवाबों:


14

उबंटू में यदि आप डीएनएस कैश को फ्लश करना चाहते हैं, तो आपको nscdडेमॉन को पुनरारंभ करना होगा ।

nscdनिम्नलिखित कमांड का उपयोग कर स्थापित करें :

sudo apt-get install nscd

निम्नलिखित कमांड का उपयोग करके Ubuntu में Flush DNS Cache:

sudo service nscd restart

या

sudo service dns-clean start

संदर्भ: http://www.upubuntu.com/2012/05/how-to-flush-clear-dns-cache-under.html


कृपया अपनी Nginx कॉन्फ़िगरेशन और त्रुटि लॉग फ़ाइल की भी जाँच करें। जब आप साइट तक पहुँचते हैं तो वहाँ कुछ सुराग होना चाहिए।
अर्नोल्ड

7

निम्नलिखित ने मेरे लिए काम किया: जोड़ें

addn-hosts=/etc/hosts

में

/etc/NetworkManager/dnsmasq.d/hosts.conf

dnsmasq को मारना और

service NetworkManager restart

6

मेरे लिए समाधान /etc/nsswitch.confफ़ाइल संपादित करने के लिए था (आप कमांड का उपयोग कर सकते हैं sudo vim /etc/nsswitch.conf)। मैंने लाइन बदल दी है:

hosts:          files mdns4_minimal [NOTFOUND=return] dns

सेवा मेरे:

hosts:          dns files mdns4_minimal [NOTFOUND=return]

और अब यह उम्मीद के मुताबिक काम कर रहा है!


1
आप शायद filesपहली प्रविष्टि के रूप में चाहते हैं यदि आप /etc/hostsDNS सर्वर से परिणामों पर पूर्वता लेना चाहते हैं।
मूरू

यह अजीब है, लेकिन यह कोई गलती नहीं है, मुझे इसे काम करने के लिए वास्तव में यह आदेश देना होगा।
jmarceli

4

स्वीकृत जवाब १३.०४ में १३.०४ में अक्षम होकर काम करता है dnsmasq, लेकिन इसने मेरे लिए १३.१० में काम करना बंद कर दिया। मुझे 13.10 के लिए निम्नलिखित नया समाधान मिला।

संपादित करें आपके / etc / default / dnsmasq और परिवर्तन ENABLED=1करने के लिए ENABLED=0और पुन: प्रारंभ।


2
मेरे पास निर्दिष्ट पथ में कोई भी dnsmasq फ़ाइल नहीं है। मैं लिनक्स पर हूँ 15.04
हिरेन

अब कोई स्वीकृत जवाब नहीं है। आप किस उत्तर की बात कर रहे हैं?
तून81

3

प्रेषक: http://blog.calebthorne.com/2012/08/broken-etchosts-in-ubuntu-1204.html

Ubuntu 12.04 डेस्कटॉप संस्करण में एक नया "फीचर" dnsmasqस्थानीय DNS के लिए NetworkManager के लिए एक प्लगइन के रूप में उपयोग करना है। Dnsmasq को DNS और DHCP सेवाओं को गति देने का इरादा है, लेकिन एक दुर्भाग्यपूर्ण दुष्प्रभाव के साथ आता है: dnsmasqस्थानीय DNS को कैश करता है और इसके लिए परिवर्तनों को अनदेखा करता है /etc/hosts। मैं वेबसाइटों पर काम करते समय मेजबानों की फाइल में लगातार बदलाव करता हूं, इसलिए यह "फीचर" काफी कष्टप्रद था।

समाधान dnsmasqNetworkmanager कॉन्फ़िगरेशन फ़ाइल में अक्षम करने के लिए है। /etc/NetworkManager/NetworkManager.confलाइन खोलें और टिप्पणी करें:

dns=dnsmasq

मेरी NetworkManager.confफ़ाइल में निम्नलिखित शामिल हैं:

[main]
plugins=ifupdown,keyfile
# dns=dnsmasq

[ifupdown]
managed=false

Https://bugs.launchpad.net/ubuntu/+source/network-manager/+bug/993298 भी देखें


1
13.10 और प्राथमिक पर यह कोशिश की, अभी भी कुछ नहीं। लेकिन मदद के लिए धन्यवाद! :)
जुलियन फर्नांडिस

@JulianFernandes ऐसा प्रतीत होता है कि यह 13.10 पर काम नहीं करता है। मैंने इस सलाह का पालन किया और इसने 12.04 को वापस काम किया, लेकिन 13.10 पर अपग्रेड करने के बाद, dnsmasq वापस आ गया है और मैं इससे छुटकारा नहीं पा सकता।
मार्क ई। हासे


1

सरल और अद्यतन

  1. बनाएँ /etc/NetworkManager/dnsmasq.d/hosts.conf
  2. इसमें लाइन्स डालें address=/whatever/1.2.3.4डॉक्स देखें ( देखें --address)। वाइल्डकार्ड संभव हैं address/.whatever./1.2.3.4:।
  3. मार dnsmasq( बग )।
  4. इसे पुनः आरंभ करें $ service network-manager restart:।

0

ऐसा लगता है कि आपका सेटअप मेरा जैसा है। मेरे पास एक बॉक्स है जो मेरे कार्यालय सर्वर और विकास होस्ट के रूप में उबंटू चल रहा है। उस बॉक्स पर, मैं Nginx, Apache, Tomcat, Rails ऐप चलाता हूं और मुझे जो भी चाहिए।

मेरे मैक से, मैं बस एक मेजबान प्रविष्टि जोड़ सकता हूं और सर्वर को लोड कर सकता हूं जो भी नाम की आवश्यकता है, लेकिन एक एलीमेंट्री क्लाइंट से, जो काम नहीं करता है।

मैंने बिना किसी सफलता के, उपरोक्त सुधारों की कोशिश की।

मैंने जो किया वह था स्क्वायड प्रॉक्सी सर्वर चलाना और सर्वर पर होस्टनाम / / / मेजबानों को जोड़ना। (संपादन के लिए स्क्वीड को पुनः आरंभ करना आवश्यक है।)

उसके बाद, अपने ब्राउज़र या ओएस के नियंत्रण कक्ष में उचित प्रॉक्सी सेटिंग करें।


0

/etc/hostsफ़ाइल पर अनुमतियों की जाँच करें ।

सर्वर को क्लोन करने के बाद मेरी क्लाउड सेवा पर मेजबानों की फाइल पर अनुमतियाँ बदल जाती 644हैं 600जिससे फ़ाइल को अपाचे ( www-data) से अनुमान नहीं लगाया जा सकता है । मैं वहां sudo chmod 644 hostsसे भागा /etcऔर उसने इसे ठीक किया।

समस्या शुरू हुई:

MongoConnectionException Failed to connect to: localhost:27017: Previous connection attempts failed, server blacklisted. 

मैंने इसे लोकलहोस्ट की ओर इशारा करते हुए MongoClient में सर्वर वेरिएबल पर ट्रैक किया। मैं लोकलहोस्ट या होस्टनाम को पिंग करने में असमर्थ था।


मैंने कई बार इस तरह के मामलों में 'लोकलहोस्ट' को '127.0.0.1' में बदलने में सफलता प्राप्त की है
pbr

0

संपादित करें /etc/nsswitch.conf, लाइन के सामने # जोड़कर नीचे की रेखा पर टिप्पणी करें

hosts:          files mdns4_minimal [NOTFOUND=return] dns myhostname

और जोड़

hosts:          files mdns4_minimal [NOTFOUND=return] dns

मूल रूप से, कॉन्फ़िगरेशन को फिर से व्यवस्थित किया गया है। अब डोमेन लुकअप प्रक्रिया पहले फ़ाइल से परामर्श करेगी जो कि है /etc/hostsऔर फिर यह DNS से ​​परामर्श करेगी। डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ यह किसी अन्य उपयुक्त सेवाओं या फ़ाइलों से पहले DNS को संरक्षित करता है।

त्वरित परीक्षण के लिए कि इसका काम करना है या नहीं

sudo python -m SimpleHTTPServer 80

निर्देशिका से फ़ाइलों की सेवा करने के लिए एक सरल HTTP सर्वर बनाने के लिए और फिर /etc/hostsफ़ाइल में लाइन के नीचे टिप्पणी करें

127.0.0.1      localhost
127.0.1.1      01hw730983

और जोड़

127.0.0.1       content

फिर एक ब्राउज़र पर जाएं और टाइप करें content/, अगर आप डायरेक्टरी स्ट्रक्चर को इसके वर्किंग को देख पा रहे हैं, तो नहीं।

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