MDNSResponder तर्क बदलने के लिए डिस्कवरी विकल्प?


13

यह इस सवाल का सीधा अनुवर्ती है । Yosemite से पहले , मैं "-AlwaysAppendSearchDomains" तर्क को mDNSResponder plist फ़ाइल में जोड़ दूंगा ताकि सभी स्थानीय रिज़ॉल्वर लुकअप ने खोज डोमेन को जोड़ दिया, भले ही लेबल को देखने के लिए कोई अवधि हो। उदाहरण के लिए, चाहे मैं hostname foo.bar या foo पर ssh करने की कोशिश करूं, baz.com के खोज डोमेन को केवल बाद के मामले के लिए ही नहीं, बल्कि (और) डिफ़ॉल्ट व्यवहार के अनुसार आज़माना चाहिए।

अब, ऐसा लगता है कि mDNSResponder चला गया है, डिस्कवरी के साथ बदल दिया गया है। मुझे खोज डोमेन को हमेशा जोड़कर रखने के लिए एक समान विकल्प नहीं मिल सकता है। सुझाव? मैं बल्कि एक गैर-डिफ़ॉल्ट स्थानीय रिज़ॉल्वर का उपयोग करने के मार्ग पर नहीं जाऊंगा, लेकिन मैं इसे एक विकल्प के रूप में मानूंगा। अभी के लिए, मैं सिर्फ लंबे FQDNs में टाइप करूँगा, लेकिन मैं वास्तव में नहीं बल्कि चाहता हूँ।

धन्यवाद, पीट


मैंने पहले अक्षम mDNSResponder को सक्षम करने का प्रयास किया था, लेकिन DP8 के बाद से, यह अनुपस्थित प्रतीत होता है :( मुझे योसेमाइट इंजीनियरों को अब एक समर्थन टिकट मिला है, जो कि -AlwaysAppendSearchDomains विकल्प के बारे में है और इसे डिस्कवरी के साथ कैसे संभालना है, इसलिए मैं आगे कोई भी पोस्ट करूंगा। कुछ ही दिनों में जब वे मुझसे संपर्क करते हैं, तो निष्कर्ष।
djh

@djh, Apple इंजीनियरों के साथ कोई किस्मत?
सिगसेव

यह 10.10.1 अद्यतन के भाग के रूप में तय किया गया है Allows you to append search domains for partially qualified domain names when performing DNS lookups (consult the discoveryd man page for more information):। नीचे @ Teknisten का उत्तर देखें।
cOle2

यह प्रकट होता है MacOS के नए संस्करणों पर कम प्रासंगिक है क्योंकि वे 10.10.4 में discoveryd को हटा दिया है होना करने के लिए macrumors.com/2015/06/30/apple-releases-os-x-10-10-4
स्कॉट Willeke

जवाबों:


18

10.10.1 के बाद से, इसे ठीक करने का सबसे सरल तरीका --AlwaysAppendSearchDomainsहै ProgramArguments, plist फ़ाइल में जोड़ना/System/Library/LaunchDaemons/com.apple.discoveryd.plist

फिर से पुनः आरंभ com.apple.discoveryd.plistकरें:

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.discoveryd.plist
sudo launchctl load /System/Library/LaunchDaemons/com.apple.discoveryd.plist

इसके द्वारा मुद्रित सहायता के अनुसार यह सब:

/usr/libexec/discoveryd --help

यह वही करेगा जो उसने mDNSResponder के लिए किया था जहाँ तक मैं बता सकता हूँ।


दुर्भाग्य से एल Capitan में काम नहीं कर रहा।
दिमित्री वेरखोटुरोव

4

टर्मिनल में sudo searchutil mdnsactivedirectory हाँ चलाएँ । Https://discussions.apple.com/message/26927843#26927843 के अनुसार इसका समाधान है।

जब भी किसी पासवर्ड के बिना टर्मिनल लॉन्च किया जाता है तो यह स्वचालित रूप से चलाया जा सकता है:

  • सुडो विडो
    • तल पर एक पंक्ति जोड़ें %admin ALL=NOPASSWD: /usr/sbin/discoveryutil
    • यदि व्यवस्थापक समूह काम नहीं करता है, groupsतो टर्मिनल पर चलाएं और एक उपयुक्त समूह का उपयोग करें - शायद 'स्टाफ' या 'हर कोई'। या बस अग्रणी के बिना एक अलग उपयोगकर्ता नाम का उपयोग करें%
  • विस्कोस परिवर्तन का परीक्षण करने के लिए
    • सूद -क
    • sudo suऔर सत्यापित करें कि आप कर रहे हैं पासवर्ड के लिए पूछा। फिर अपना पासवर्ड डाले बिना कंट्रोल-सी करें
    • sudo discoveryutil mdnsactivedirectoryऔर सत्यापित करें कि आपसे पासवर्ड नहीं मांगा गया है
  • ~ / .Bash_profile पर एक पंक्ति जोड़ें sudo discoveryutil mdnsactivedirectory yes
  • अपने उपयोगकर्ता के लॉगिन आइटम में टर्मिनल जोड़ें
    • 10.10 पर: सिस्टम प्राथमिकताएं-> उपयोगकर्ता और समूह, उपयोगकर्ता का चयन करें
    • गोटो "लॉगिन आइटम" टैब, और / अनुप्रयोग / उपयोगिताएँ / टर्मिनल जोड़ें

आप इसे कैसे स्थायी करेंगे? रिबूट के बाद आपको इस कमांड को फिर से निष्पादित करना होगा।
जोएरीबे

यह मेरे लिए काम करने के लिए नहीं लगता है, कम से कम गैर-गैर-होस्ट होस्टनाम। मुझे अभी भी "ssh foo.bar.baz.com" टाइप करने की आवश्यकता है, "ssh foo.bar" के बजाय, हालांकि ".baz.com" मेरे खोज पथ पर है।
सिगसेव

आपको एक उपयोगकर्ता ~/.bash_profileसंशोधन विन्यास में नहीं जोड़ना चाहिए जिसे सिस्टम डेमॉन के स्तर पर बनाया जाना है, यहाँ discoveryd
दान

1

दुर्भाग्य से कोई समाधान नहीं है, लेकिन मुझे पता चला है कि आप कम से कम 'डिस्कॉल्यूट' का उपयोग करके रिज़ॉल्वर के कॉन्फ़िगरेशन की जांच कर सकते हैं, जैसे:

mdbraber-mba:~ mdbraber$ sudo discoveryutil configresolver
Configuration Resolvers: Resolver domain [default], type Unicast, ifIndex 4, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope None, order 0
    server 192.168.143.1
    search domain ourhouse
Configuration Resolvers: Resolver domain [default], type Unicast, ifIndex 4, port 0, timeout 30, A yes, AAAA no, serviceID 0, scope InterfaceID, order 0
    server 192.168.143.1

जाहिरा तौर पर पहला रिज़ॉल्वर एक खोजडोमेन को सूचीबद्ध करता है, हालांकि यह ओएस एक्स <10.10 संस्करणों के तहत काम नहीं करता है। पता नहीं क्यों सूचीबद्ध डोमेन के बिना एक दूसरा रिज़ॉल्वर है।


1

यहाँ एक स्थानीय नाम का उपयोग करके हैक किया गया समाधान है - मेरे लिए काम करता है:

https://github.com/joedj/yosemite_dnsfix


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