OS X 10.10.1 / etc / मेजबानों और / निजी / etc / मेजबान फ़ाइल को नजरअंदाज किया जा रहा है और हल नहीं किया जा रहा है


40

जैसे शीर्षक कहता है, ओएस एक्स 10.10.1 चल रहा है। मैं अपने मेजबान फ़ाइल में एक प्रविष्टि है और एक करते हैं digया nslookupयह अभी भी क्या है में अपने मेजबान फ्लश विभिन्न कैश करने की कोशिश कर के बाद भी फाइल की तुलना में एक अलग आईपी पता चलता है।

मैंने निम्नलिखित कोशिश की है ..

  1. फ्लश mdns और udns चलाने से कैश:
    1. sudo discoveryutil mdnsflushcache;
    2. sudo discoveryutil udnsflushcaches;
  2. उपयोग फ्लश कैश dscacheutil -flushcache
  3. discoveryd.plistफ़ाइल पुनः लोड करें
    1. sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist
    2. sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.discoveryd.plist

मेरे मेजबान फ़ाइल इस तरह दिखता है ..

% cat /private/etc/hosts
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##

127.0.0.1   localhost
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0 localhost
166.78.60.102   admin.devsite1.com

3
ऐसा लगता है कि योसेमाइट पहले की तरह ही मेजबानों का उपयोग नहीं कर रहा है; यह उसी तरह से कैश को फ्लश नहीं करता है, और mDNS ने पीछे की सीट ले ली है - इस विषय पर पूरी तरह से बकवास है - फ़ोरम.macrumors.com/showthread.php?t=1741422 संपादित करें आह ... मुझे लगता है आप पहले से ही azchipka.thechipkahouse.com/ ...
Tetsujin

धन्यवाद, हाँ, मैंने पढ़ा है कि पहले से ही .. अगर यह है कि कैसे ओएस एक्स होने जा रहा है .. इसके crummy: \
gorelative

1
मुझे खुशी है कि मुझे मैक, टीबीएच पर मेजबानों पर भरोसा करने की ज़रूरत नहीं है; मैं हमेशा विन में खेलता रहता हूँ जब मुझे ऐसा करने की आवश्यकता होती है - हालाँकि अभी मुझे योसेमाइट से दूर रखने वाली एकमात्र चीज़ नहीं है :(
टेटसुजिन

हाँ, मेरी rmbp प्राथमिक देव मशीन है जिसे मैं दुर्भाग्य से वेब विकास / sysadmin के लिए उपयोग करता हूं और मुझे यह पता लगाने की आवश्यकता है अन्यथा मैं वापस Mavericks के लिए जा रहा हूं।
गोरक्षक 20

अन्य लोग अपने कार्यस्थानों पर सिर्फ आईपीवी 6 को निष्क्रिय करना चाह सकते हैं, मैंने यह पाया जो कुंजी की व्याख्या करता है: Technipages.com/how-to-disable-ipv6-in-macos-sierra - हालांकि, मेरे nicv6 को अक्षम करने के बाद भी, समस्या बनी रही ।
जेम्स टी स्नेल

जवाबों:


61

/ निजी / आदि / मेजबान मेरे लिए सामान्य रूप से योसेमाइट (संस्करण 10.10.1) में काम कर रहे हैं। कैश या रीसेट को फ्लश करना आवश्यक नहीं है discoveryd(योसमाइट में DNS रिज़ॉल्वर); मेरे द्वारा परिवर्तनों को सहेजने के तुरंत बाद फ़ाइल पढ़ना sudo fs_usage | grep private/etc/hostsदिखाता discoverydहै।

[अपडेट: discoverydकेवल ओएस एक्स संस्करणों में प्रयोग किया गया था १०.१०.० - १०.१०.३। पहले और बाद के दोनों संस्करणों में, mDNSResponderएक ही फ़ंक्शन प्रदान करता है ... और तुरंत / / / मेजबानों में परिवर्तन भी नोटिस करता है।]

हालांकि, dig, nslookup, और hostनहीं प्रविष्टियों उस में है क्योंकि वे सिस्टम के समाधानकर्ता बाईपास और कच्चे DNS खोज करते देखेंगे। उन्होंने हमेशा ऐसा किया है, इसलिए योसेमाइट में यह नया नहीं है। ओएस एक्स में सिस्टम रिज़ॉल्वर के माध्यम से एक खोज करने का "आधिकारिक" तरीका है dscacheutil:

dscacheutil -q host -a name www.example.com

... लेकिन जब से यह दर्दनाक क्रिया है, मैं pingइसके बजाय (और फिर पहली पंक्ति को देखता हूं , जहां यह सूचीबद्ध होता है कि आईपी यह पिंग क्या है)। 10.9 से शुरू करके, आप नेटवर्क यूटिलिटी के लुकअप टैब का उपयोग कर सकते हैं (इससे पहले कि यह प्रयोग किया जाता है dig, और इसलिए सिस्टम लुकअप नीति को दरकिनार कर दिया गया है)।

बीटीडब्लू, कृपया मैट्रमर्स थ्रेड पर ध्यान न दें जो टेटसुजिन से जुड़ा हुआ है; यह उन लोगों से भरा है जो यह नहीं जानते कि वे क्या कर रहे हैं और अपनी गलतियों के परिणामों को गलत समझ रहे हैं।


1
धन्यवाद गॉर्डन, हाँ मुझे एहसास हुआ के बाद मैं इस पोस्ट dig, nslookupऔर hostस्थानीय DNS रिज़ॉल्यूशन का उपयोग नहीं करते। कहा जा रहा है कि /etc/hostsउम्मीद के अनुसार काम करता है ..
गोरक्षक

अगर मैं अपनी /etc/hostsफ़ाइल या अपनी /private/etc/hostsफ़ाइल को अपडेट करता हूं , तो यह dscacheutil -q host -a name www.example.comकिसी भी या किसी भी अन्य कमांड के साथ प्रतिबिंबित नहीं करता है ..
ट्रिप

3
@ यह सुनिश्चित करें कि आपके द्वारा जोड़ी गई प्रविष्टियों को ठीक से स्वरूपित किया गया है: आईपी पता एक स्थान या टैब के बाद, नाम के बाद, फिर पंक्ति के अंत में एक लाइनफीड। cat -vet /etc/hostsसामान्य रूप से अदृश्य वर्णों को दृश्यमान बनाने के लिए होस्ट्स फ़ाइल को प्रिंट करने का प्रयास करें । प्रत्येक पंक्ति को "127.0.0.1 ^ Inetsecuritybureau.com $" ("^ I" एक टैब है, और "$" लाइनफ़ीड है) या "127.0.0.1 netsecuritybureau.com $" जैसा दिखना चाहिए। यदि आप "$" से ठीक पहले "^ M" (गाड़ी वापसी) देखते हैं, तो आपके पास DOS / Windows स्वरूपित पाठ है और आपको गाड़ी वापसी (ओं) को हटाने की आवश्यकता है।
गॉर्डन डेविसन

आह वाह मदद के लिए बहुत बहुत धन्यवाद। मैंने यह सुनिश्चित करने के लिए अपने लीड का पालन किया कि यह एक टैब या स्पेस है। मेरी पंक्ति बिल्कुल पढ़ती है: M127.0.0.1^Iyoutube.com^M^Mमैंने तब प्रदर्शन किया dscacheutil -flushcache; sudo killall -HUP mDNSResponderऔर जब youtube.com पर नेविगेट किया गया तो यह अभी भी youtube पर आता है न कि लोकलहोस्ट के लिए।
ट्रिप

@ पट्टी कमांड लाइन पर उन अदृश्य वर्णों को साफ करने के कई तरीके हैं, लेकिन मैं GUI के संपादक TextWrangler की सिफारिश करूंगा - दृश्य मेनू> टेक्स्ट प्रदर्शन> शो इनविस्बल्स को देखें (और संपादित करें) जैसी चीजें गाड़ी लौटती है। इसके अलावा, यह मुफ़्त है, और इसमें अदृश्य फ़ाइलों और फ़ोल्डरों को खोलने / खोलने (जैसे / आदि) के विकल्प हैं, और सिस्टम फ़ाइलों को संपादित करने के लिए व्यवस्थापक अधिकारों का उपयोग करने के लिए है।
गॉर्डन डेविसन

17

मैंने इस मुद्दे के साथ एक और शिकन की खोज की है।

मुझे जो समस्या हो रही थी, उसे ठीक करने के लिए, मुझे ADD IPv6 स्टाइल होस्ट्स फ़ाइल प्रविष्टियों की आवश्यकता थी।

ऐसा लगता है कि सफारी IPv4 प्रविष्टियों की अनदेखी करेगा यदि आपके पास IPv6 नेटवर्क कॉन्फ़िगरेशन सेटअप है।

आपको डुप्लिकेट प्रविष्टियों को जोड़ना होगा जो IPv6 लोकलहोस्ट एड्रेस / etc / मेजबानों में हल करते हैं।

IPv4 प्रविष्टि 127.68.56.101 facebook.com

उदाहरण के लिए IPv6 प्रविष्टि fe80::1%lo0 facebook.com

आदि।


1
ध्यान दें कि मुझे यह सबसे कम आईपी पते का उपयोग करने के लिए सफलतापूर्वक मिला है: 0.0.0.0 और :: 1
बेन मॉरो

धन्यवाद, मेरे लिए भी काम किया। उन्नयन के बाद मेरे vhosts / apache configs को पुनर्स्थापित करने के बाद मेरे सिर को खरोंच कर रहा था। की सराहना की।
गैविन

हां, यह मेरे लिए भी तय कर दिया।
२०१३

1

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

मेरे लिए काम करने वाला एकमात्र समाधान मेजबान फ़ाइल को संपादित करने के लिए इस मुफ्त GUI प्लगइन का उपयोग कर रहा है।

https://github.com/specialunderwear/Hosts.prefpane/blob/master/README.mdown


1

मुझे यह लेख इसलिए मिला क्योंकि Yosemite 10.10.5 मेरे होस्ट्स फ़ाइल परिवर्तनों को नहीं उठा रहा था, और मैं जो कुछ भी कर सकता था वह इसे ठीक कर रहा था। (मैंने रिबूट किया, फ्लशिंग कैश की कोशिश की, इंटरनेट पर मुझे मिलने वाली हर सलाह का पालन किया आदि)।

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

तो यह थोड़े स्पष्ट है, और इस पोस्ट को पढ़ने वाले अधिकांश लोग शायद पहले ही ऐसा कर चुके हैं, लेकिन यह जांचना सुनिश्चित करें कि आपकी मेजबानों की फाइल वास्तव में है और इसे मेजबानों से हटा दिया गया है

फ़ाइल नाम एक्सटेंशन प्रदर्शित करने के लिए खोजक पर जाएं> वरीयताएँ> सभी फ़ाइल नाम एक्सटेंशन दिखाएं

फ़ाइलों को .txt विस्तार जोड़ने से TextEdit बंद करो, पाठ संपादित में एक फ़ाइल खोलने और चयन करने के लिए फ़ाइल> इस रूप में सहेजें (यदि आप नहीं देखते हैं इस रूप में सहेजें क्लिक करने के बाद मेनू आइटम, ऑप्शन कुंजी दबाए रखें फ़ाइल , और इस रूप में सहेजें चाहिए मेनू में दिखाई देते हैं)। विकल्प की तलाश करें यदि कोई एक्सटेंशन प्रदान नहीं किया गया है, तो ".txt" का उपयोग करें और इसे अचयनित करें।


0

मुझे विश्वास है कि Apple इसे बग के रूप में मान्यता देगा (मैंने आज एक प्रस्तुत किया है)। मैंने देखा कि नई प्रविष्टियों /etc/hostsको उठाया गया है लेकिन, मौजूदा प्रविष्टियों के परिवर्तनों को अनदेखा किया गया है। इसलिए .... एक एंट्रीज होस्टनाम (जैसे web1 से web1a) बदलते हुए मेरे लिए वर्कअराउंड प्रदान किया।

OLD / etc / मेजबान प्रविष्टि: 54.173.164.18 web1

नई / आदि / मेजबान प्रविष्टि: 54.174.161.12 web1a


sudo dscacheutil -flushcache - डायरेक्टरी सर्विस कैश को फ्लश करेगा।
केविन बुच्स

0

मेरे मामले में मैं एक .ssh / config सेट करूँगा

#Host *.ourdemo.ca
  User jumpy
  ProxyCommand ssh ourjumpbox.ca -W %h:%p

क्या आप बताएंगे कि कॉन्फिग फाइल क्या करती है और यह कैसे संबंधित है?
क्लानोमथ

1
सवाल यह था कि एक स्थानीय / आदि / होस्ट फ़ाइल में एक प्रविष्टि को अनदेखा क्यों किया जा रहा था। मेरे मामले में, इसे नजरअंदाज किया जा रहा था क्योंकि मैंने एक प्रॉक्सी बॉक्स (ourjumpbox.ca) के माध्यम से सभी ट्रैफिक को मशीनों के एक सेट (* .ourdemo.ca) पर सुरंग करने का निर्देश दिया था। SSH ने आज्ञाकारी रूप से कनेक्शन का अनुमान लगाया, जैसे कि यह प्रॉक्सी का / etc / होस्ट फ़ाइल होना समाप्त हो गया, जिसका उपयोग मेरे स्थानीय / etc / मेजबान फ़ाइल के बजाय पते को हल करने के लिए किया जा रहा है।
मार्टिन क्लीवर

0

मेरे पास एक बहुत ही समान मुद्दा था जिसमें मुझे मेल के माध्यम से दो पंक्तियों के माध्यम से प्राप्त किया गया था /etc/hosts

डोमेन एक -तरह से सम्‍मिलित थाmy-domain.com

यह समस्या प्रेषक के ईमेल क्लाइंट के रूप में सामने आई - कोई फर्क नहीं पड़ता कि एमएस आउटलुक - ने उस एस्की -को लंबे -चरित्र में परिवर्तित कर दिया जो माइक्रोसॉफ्ट को अपने -साथ स्थानापन्न करने के लिए अपने एम्बेडेड स्वचालित सुधार का उपयोग करने के लिए बहुत पसंद है -

मेजबानों की फ़ाइल एकदम सही दिखती थी और इस मुद्दे को खोजना मुश्किल था। जब मैंने पंक्तियों को हटा दिया और इसे मैन्युअल रूप से वापस लिखा, तो उन्होंने काम करना शुरू कर दिया।

इसे समझना इतना मुश्किल था, कि मैं गहराई से अंदर गया कि क्यों मैकओएस क्लाइंट को होस्ट फ़ाइल को अनदेखा करना चाहिए और सीधे नाम समाधान पर छोड़ देना चाहिए।


0

बस यह समस्या थी। यह पता लिखने के बजाय हिपचैट से कॉपी / पेस्ट बनाने के कारण हुआ।

प्रतिलिपि प्रक्रिया ने रिक्त स्थान के बजाय कुछ बुरे वर्ण जोड़े और समस्या का कारण बना।

पंक्ति को फिर से लिखने से समस्या हल हो गई।


0

मैं ऐप SelfControl का उपयोग कर रहा हूं (वास्तव में macOS mojave 10.14.4 पर) अभी काफी समय है और यह पता लगाने के लिए कि SelfControl यह कैसे प्रविष्टियां करता है ... वे इस तरह दिखते हैं:

0.0.0.0 xyz.com
:: xyz.com
0.0.0.0 www.xyz.com
:: www.xyz.com

इसके आधार पर मैंने अपनी लोकलहोस्ट के लिए सब कुछ बदल दिया, इसलिए

127.0.0.1
::1

काम करता है।


मुझे यकीन नहीं है कि यह सवाल का जवाब कैसे देता है। यह सिर्फ कुछ यादृच्छिक अवलोकन की तरह लगता है, प्रश्न से असंबंधित है।
टेटसुजिन

1
क्या आप कुछ विवरण जोड़ सकते हैं कि आपने वास्तव में क्या बदला है, और यह प्रश्न से कैसे संबंधित है?
nohillside

सवाल यह था कि 10.10.1 के बाद से मेजबानों की फाइल को नजरअंदाज क्यों किया जा रहा था ... मैं उसी स्थिति में था कि मैनुअल प्रविष्टियों को नजरअंदाज कर दिया गया था, लेकिन ऐप सेल्फकंट्रोल के माध्यम से बनाई गई प्रविष्टियां, इरादा के अनुसार काम कर रही थीं। मेरी पूर्व प्रविष्टियों के साथ क्या गायब था, दूसरा भाग था, "www" वाले डोमेन। यह पता लगाने में सक्षम नहीं था कि मेरी प्रविष्टियों के साथ और क्या गलत था, क्योंकि सभी 10.10.1 से पहले ठीक काम कर रहे थे।
जरूरतमंद
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.