मैं resolv.conf के माध्यम से एक DNS सर्वर कैसे जोड़ूं?


207

क्या Ubuntu 12.04 LTS (सटीक पैंगोलिन) /etc/resolv.confमें बेकार है ?

मैं देख रहा हूँ कि DNS सर्वर की जानकारी अब NetworkManager में संग्रहीत है । nmcliकमांड लाइन टूल आप के लिए सूचीबद्ध कर सकते हैं कि।

अगर मैं एक और डीएनएस सर्वर जोड़ना चाहता हूं , /etc/resolv.confतो resolvconfपैकेज की मदद से इसे जोड़ देगा ?


2
मुझे लगता है कि ऊपर बताई गई कमांड होनी चाहिए nm-tool, नहीं nmcli
जेसी ग्लिक

जवाबों:


139

यदि /etc/resolv.confशामिल है, nameserver 127.0.0.1तो प्रविष्टियों को जोड़ना /etc/resolvconf/resolv.conf.d/tailवास्तव में उपयोगी कुछ भी नहीं कर सकता है।

यदि आप NetworkManager का उपयोग कर रहे हैं, तो आपको इसके बजाय नेटवर्क इंडिकेटर के माध्यम से नामांकित पते जोड़ना चाहिए : कनेक्शन संपादित करें ... | संपादित करें ... | IPv4 सेटिंग्स | अतिरिक्त DNS सर्वर

यदि आप वास्तव में अधिक प्रविष्टियों को जोड़ना चाहते हैं /etc/resolv.conf, तो एक बनाएँ /etc/resolvconf/resolv.conf.d/tailऔर उन्हें वहाँ जोड़ें।

हर उबंटू रिलीज के साथ, यह उबंटू रिलीज नोट्स पढ़ने के लिए अनुशंसित है, यहां उपलब्ध है:

डेस्कटॉप और कॉमन इन्फ्रास्ट्रक्चर वर्गों में एक लिंक होता है


1
@ स्ट्राबेबर, कृपया मेरे द्वारा प्राप्त और पोस्ट किए गए वैकल्पिक दृष्टिकोण पर टिप्पणी करें। किसी /etc/resolvconf/resolv.conf.d/tailफ़ाइल को जोड़ने या नेटवर्क प्रबंधक का उपयोग करने के साथ इसकी तुलना कैसे की जाती है ? धन्यवाद।
रान्डेल कुक

3
@stgraber आप Ubuntu सर्वर के लिए क्या सलाह देते हैं? मैंने आपके ब्लॉग और टिप्पणियों से पाया है कि नेटवर्क-मंगर इसे प्रबंधित करने का सबसे अच्छा तरीका लगता है, लेकिन मेरे सिस्टम पर नेटवर्क-मैनेजर की एक इंस्टॉलेशन करने से मुझे उन चीजों का एक पूरा समूह स्थापित हो जाएगा जिनकी मुझे आवश्यकता नहीं है (यानी GUI सामान )।
अरवी चैन

1
/Etc/resolvconf/resolv.conf.d/head (आपके ब्लॉगपोस्ट के अनुसार) में प्रविष्टियों को जोड़ने वाली एक बाउट क्या है?
सुपर

3
@AveryChan, @ randallcook द्वारा सुझाए गए "तीसरे दृष्टिकोण" का उपयोग करें - बस dns-nameserversअपने eth0 सेक्शन में जोड़ें /etc/network/interfaces
mrm

1
/etc/resolvconf/update.d/libcUbuntu 14.04.1 सर्वर पर: # Set TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS=no # to allow additional nameserver addresses to be listed in # resolv.conf after an initial loopback address 127.* or ::1. (इसे सेट करें /etc/default/resolvconf, /etc/resolvconf/update.d/libcशो की लाइन 23 और 24 के रूप में ।
immeëmosol

134

मुझे यहां एक और दृष्टिकोण मिला , जिसमें नीचे की तरह एक पंक्ति जोड़ना शामिल है /etc/dhcp/dhclient.conf:

prepend domain-name-servers x.x.x.x, y.y.y.y;

इसी तरह, मुझे यहां एक तीसरा दृष्टिकोण मिला जिसमें लाइनें जोड़ना शामिल है /etc/network/interfaces:

auto eth0
iface eth0 inet static
    . . .
    dns-nameservers 8.8.8.8 8.8.4.4

अपडेट: यहां तीसरे दृष्टिकोण के लिए आधिकारिक दस्तावेज दिया गया है।


18
मैंने इसके लिए मतदान किया क्योंकि यह third approachअब तक का सबसे सरल तरीका है।
बिली मून

1
@ बिली मुझे काम करने के लिए तीसरी विधि नहीं मिल सकी .. केवल पहले सूचीबद्ध यहाँ, dclient.conf का संपादन, मेरे लिए काम किया।
जेफ एटवुड

9
नोट: dhclient.conf के संपादन का केवल तभी कोई प्रभाव पड़ता है जब dhclient का उपयोग किया जाता है (और इसका उपयोग ifup और NetworkManager दोनों द्वारा किया जाता है!) यदि संपादन का उपयोग किया जाता है, तो संपादन / etc / network / interfaces का कोई प्रभाव होता है। NetworkManager कनेक्शन एडिटर का उपयोग करके NetworkManager कनेक्शन को कॉन्फ़िगर करना केवल NetworkManager का उपयोग करने पर कोई प्रभाव पड़ता है।
jdthood

1
अगर मैं गलत नहीं हूं तो तीसरा दृष्टिकोण डीएचसीपी द्वारा लौटाए गए अन्य नामों को जोड़ता है। यदि आप चाहते हैं कि यह पहले आए तो अन्य विकल्पों में से एक अधिक उपयुक्त है। मैंने इस्तेमाल किया /etc/resolvconf/resolv.conf.d/head(भ्रामक "
डोंट नॉट एडिट

1
@ Mr.Hyde, जो कमांड लाइन कमांड नहीं हैं, वे / etc / नेटवर्क / इंटरफेस में जोड़ने के लिए लाइनें हैं।
रान्डेल कुक

90

ऐसा लगता है कि आप resolvconf पैकेज के बारे में बात कर रहे हैं।

Resolvconf पैकेज स्थापित करें ।

Daud

cd /etc/resolvconf/resolv.conf.d
sudo cp -p head head.orig  #backup copy, always do this
sudo nano head

फ़ाइल का शीर्ष एक डरावना चेतावनी है। फ़ाइल /etc/resolv.conf को इस फ़ाइल की सामग्री से स्वचालित रूप से जोड़ा गया है; चेतावनी वहाँ है तो यह /etc/resolv.conf में डाला जाएगा जब /etc/resolv.conf उत्पन्न होता है। फ़ाइल के अंत में, जोड़ें

nameserver <ip_of_nameserver>

Ctrl xफाइल को सेव करने के लिए हां दबाएं और जवाब दें। समाप्त करने के लिए, /etc/resolv.conf को पुन: उत्पन्न करें ताकि परिवर्तन अभी लागू हों:

sudo resolvconf -u

फिर आपके द्वारा जोड़ी गई लाइन को देखने के लिए /etc/resolv.conf की सामग्री देखें। इसके अलावा, यह तब भी होगा जब अगली बार आपके मशीन बूट या आपकी नेटवर्क सेवा को फिर से शुरू किया जाएगा, जो भी पहले आएगा।


फ़ाइल चेतावनी के बारे में जानकारी सिर्फ वही है जो मुझे चाहिए थी। मैं इस धारणा के अधीन था कि मुझे फ़ाइल को संपादित नहीं करना चाहिए! धन्यवाद!
Xunnamius

यह मेरे लिए सबसे अच्छा जवाब है!
सियावी शेन

31

नीचे मैं आपको सबसे अच्छा तरीका दिखाऊंगा जो मैंने पाया है कि मैं Ubuntu सर्वर संस्करण चलाता हूं और NetworkManager के बजाय ifup का उपयोग करता हूं।

वास्तव में मेरे लिए उन्होंने इसे आसान बना दिया :) यह सब / / / नेटवर्क / इंटरफेस फाइल में डाल दिया। वही कॉन्फ़िगरेशन जो आपने resolv.conf को लिखा होगा, अब आपके नेटवर्क एडेप्टर कॉन्फ़िगरेशन में उसी फ़ाइल में हो सकता है जैसे नीचे दिए गए उदाहरण में:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        dns-nameservers 75.75.75.75 75.75.76.76
        dns-search local

मुझे आशा है कि यह मदद करता है और इसे आसान बनाता है जैसा कि यह मेरे लिए करता है, अब हम स्थैतिक आईपी पते बना सकते हैं और नेमसर्वर और डीएनएस डोमेन को एक फ़ाइल में जोड़ सकते हैं :)


1
धन्यवाद। यह मेरी पसंदीदा विधि भी बन गई है। एक ऑफ-टॉपिक नोट: 'नेटवर्क' और 'ब्रॉडकास्ट' पतों को निर्दिष्ट करना आवश्यक नहीं है क्योंकि वे 'पतों' और 'नेटमास्क' से स्वचालित रूप से गणना करते हैं। आपको वास्तव में 'पता', 'नेटमास्क' और 'गेटवे' चाहिए।
Martijn Heemels

यह सबसे साफ जवाब है। बस dns- * कीवर्ड को सही ढंग से स्पेल करना सुनिश्चित करें। गलत वर्तनी "dns-nameservers" मेरी वास्तविक समस्या थी।
जॉन मैकगी

18

मेरा Ubuntu 12.04 सर्वर चल रहा है। मैंने निम्नलिखित परिवर्तन किए हैं और सर्वर को रिबूट किया है (आमतौर पर यह केवल नेटवर्क इंटरफेस, यानी, ifdown eth0या नीचे लाकर किया जा सकता है ifup eth0)।

फ़ाइल में /etc/resolvconf/resolv.conf.d/baseमैंने निम्नलिखित प्रविष्टियाँ जोड़ी हैं:

nameserver 8.8.8.8
nameserver 8.8.4.4

मुझे आशा है कि उपरोक्त मदद करता है!


12

आप NetworkManager का उपयोग फ्रैंक के उत्तर में बताए अनुसार कर सकते हैं, लेकिन यदि आप मैन्युअल रूप से संपादित /etc/resolv.confकरना चाहते हैं, तो आप इसे हटाकर (यह वास्तव में एक सिम्लिंक है) कर सकते हैं और फिर अपनी इच्छित सामग्री के साथ एक नई सादे फ़ाइल बना सकते हैं। resolvconfउपयोगिता ही कभी फाइल करने के लिए लिखते हैं /run/resolvconf/resolv.conf


9

नोट: यह उत्तर प्रश्न के एक अलग, पूर्व-मर्ज संस्करण के लिए था, केवल एक वांछित नाम-सर्वर के पूर्व-लंबित पर ध्यान देने के साथ।

यह 12.04 से पहले काम करता है:

संपादित करें /etc/dhcp3/dhclient.confऔर जोड़ें:
prepend domain-name-servers 127.0.0.1;

(वास्तव में, यह लाइन पहले से ही मौजूद है; आपको बस इतना करना होगा कि आप इसे अन-कमेंट करें।)


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

यदि आप dhclient कॉन्फ़िगरेशन के बारे में अधिक जानना चाहते हैं तो आप man dhclient.confdhclient मैन पेज तक पहुंचने के लिए कर सकते हैं । (यह अज़ेंडेल के सवाल का जवाब नहीं है।)
क्रिश्चियन स्केजड

यह जवाब पूरी तरह से गलत है। सबसे पहले, प्रश्न सबमिट करने वाला व्यक्ति बाहरी नमस्ते के पते को जोड़ना चाहता है, न कि 127.0.0.1 पते को। किसी आंतरिक इंटरफ़ेस के लिए पता जोड़ने के लिए बाहरी इंटरफ़ेस के लिए इंटरफ़ेस कॉन्फ़िगरेशन स्थान नहीं है। दूसरा, फ़ाइल / etc / dhcp पर है, / etc / dhcp3 पर नहीं। तीसरा, चूंकि Ubuntu 12.04 ऐसी चीजों को resolvconf का उपयोग करके कॉन्फ़िगर किया गया है।
jdthood

1
सबसे पहले - मूल प्रश्न नाटकीय रूप से मॉडरेटर विलय द्वारा बदल दिया गया था, इसलिए मेरा जवाब अजीब लगता है। 2011 में जब मैंने इसका उत्तर दिया तो dhcp3 फ़ाइल एक स्थान थी , और यहां तक ​​कि अगर यह आदर्श नहीं है, तो भी यह काम किया। मैंने कई मशीनों पर इस समाधान का उपयोग किया है। जाहिर है, आप उस लूपबैक पते को बदल सकते हैं जिसे आप प्रस्तुत करना चाहते हैं। मुझे लगता है कि ज्यादातर लोग जानते हैं कि एक लूपबैक क्या है, भले ही उन्होंने RFC6890 नहीं पढ़ा हो।
बेलाक्वा

@jdthood क्यों नहीं अपना खुद का जवाब जोड़ें? व्यक्तिगत रूप से, मैं बातें करने के bsd-ish resolvconf तरीके से परिचित नहीं था। मैंने प्रत्यक्ष /etc/resolv.conf दृष्टिकोण को प्राथमिकता दी, और मुझे यकीन नहीं है कि नए रुब गोल्डबर्ग सिस्टम का लाभ क्या है। (इसी तरह / etc / motd के साथ)।
बेलाक्वा

7

resolvconfव्यर्थ का। मैं एक लिनक्स सर्वर पर हूं और मेरा आईपी ​​पता स्थिर है और मेरा DNS सर्वर स्थिर है। मुझे जरूरत नहीं है resolvconfया NetworkManager की

सर्वर पर काम करते समय इसे सरल रखना मेरी नीति है। कम जटिलता, चीजों को तोड़ने पर इसे प्रबंधित करना / ठीक करना जितना आसान होगा।

इसलिए मैंने किया aptitude purge resolvconfऔर मैन्युअल रूप से सुनिश्चित किया कि /etc/resolv.confकोई सिमलिंक नहीं है और सिर्फ एक स्टैटिक फाइल बनाई है। बस अगर कोई प्रोग्राम फ़ाइल को बदलने की कोशिश करता है, तो मैंने एहतियात के तौर पर chattr +i(अपरिवर्तनीय) किया /etc/resolv.conf


4
जैसा कि resolvconf आधार प्रणाली का हिस्सा है, इसे हटाकर आप भविष्य में अपग्रेड समय पर परेशानी पूछ रहे हैं।
14

3
मैं टिप्पणी और उत्तर दोनों से सहमत हूं: विचार करें कि इसने कितनी समस्याएं पैदा की हैं, और कितने समर्थन घंटे इस "समस्या" को ठीक करने में चले गए हैं, और कितने आईटी कर्मचारियों ने उत्तर की तलाश में समय बिताया है। सरल सबसे अच्छा है - मुझे अपने सर्वर को डीएनएस में बदलने की ज़रूरत नहीं है जो मुझे नहीं चाहिए।
मेई

6

उपरोक्त में से अधिकांश का मानना ​​है कि आपके पास एक प्राचीन प्रणाली है, लेकिन वास्तविकता अक्सर ऐसी होती है कि आप अलग-अलग dhcp क्लाइंट स्थापित करते रहे हैं, उबंटू के कुछ पिछले संस्करण में नेटवर्क मैनेजर को अक्षम कर दिया है, आदि। यह निम्नलिखित जानना सार्थक हो सकता है। मैं थोड़ी देर के लिए dnsmasq का उपयोग कर रहा हूं, लेकिन इसे हटा दिया। वर्तमान में मेरे सिस्टम में निम्नलिखित सामग्री थी /etc/resolv.conf(जो /run/resolvconf/resolv.confमेरे सिस्टम पर एक प्रतीकात्मक लिंक है):

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

इससे कोई फर्क नहीं पड़ता कि मैं कितनी बार चलाता हूं sudo resolvconf -uया sudo dpkg-reconfigure resolvconf, यह मेरे द्वारा नेटवर्क मैनजर में सेट किए गए नाम को अपडेट नहीं करता है। Resolvconf नेटवर्कमैन से उपयोग की जाने वाली जानकारी मौजूद थी:

cat /run/resolvconf/interface/NetworkManager  
nameserver 8.8.4.4
nameserver 8.8.8.8

हालाँकि, यह पता चला है कि अगर इस निर्देशिका में कई फाइलें हैं, तो इस फाइल का उपयोग नहीं किया जा सकता है। अपराधी एक फ़ाइल थी जिसे dnsmasq की स्थापना रद्द नहीं की गई थी:

cat /run/resolvconf/interface/lo.dnsmasq                        
nameserver 127.0.0.1

बस इस फ़ाइल को हटाने (और sudo resolvconf -uबाद में चल रहा है) ने मेरे dns मुसीबतों को हल किया:

cat /etc/resolv.conf                        
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.4.4
nameserver 8.8.8.8 

मुझे आशा है कि यह डिबगिंग (इन सभी अलग-अलग नेटवर्क उपकरणों के बीच जटिल बातचीत) के साथ-साथ दूसरों की भी मदद करता है। यदि आप उपयोग करते हैं, resolvconfतो यह ls /run/resolvconf/interfacesदेखने के लिए सुनिश्चित करें कि वहाँ क्या है।


1
धन्यवाद, यह बहुत मददगार था। मैं पहले उच्च मतदान जवाब की कोशिश की और किसी को भी नहीं लगता है कि चाल है। मेरे पास /run/resolvconf/interface/डायर में कोई अतिरिक्त फाइल नहीं थी , लेकिन मेरी NetworkManagerफाइल को कुछ प्यार की जरूरत थी। आपके उत्तर ने मेरे लिए इस समस्या को हल करने में मदद की।
राजमिस्त्री81

4

मैंने अभी एक लिंक हटा दिया है /etc/resolv.confऔर नेमसर्वर के एड्रेसेस के साथ एक रेगुलेटरी फाइल बनाई है। यह काम करता है, और मुझे उबंटू डेवलपर्स द्वारा बनाए गए अजीब निर्माण का उपयोग करने के लिए कोई कारण नहीं दिखता है।


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

यह उत्तर 5 साल पुराना है, और IMHO अभी भी सूचीबद्ध सभी लोगों में से सबसे अच्छा है। यह सरल, त्वरित और प्रभावी है। क्या कोई नकारात्मक पहलू है?
क्रेग एस। एंडरसन

3

आप कनेक्शन "AUTO ETH0" या जो भी नाम है, उसे आप NM में कनेक्ट करने के लिए उपयोग कर सकते हैं। आप एनएम पर राइट-क्लिक करके और "एडिट कनेक्शन्स ..." का चयन कर सकते हैं। IPv4 टैब पर आप केवल "मेथड" के रूप में "स्वचालित (डीएचसीपी) के पते" का चयन कर सकते हैं और एनएम आपको नाम पते (ईएससी) को मैन्युअल रूप से सेट करने की अनुमति देगा यहां तक ​​कि पते डीएचसीपी पर भी वितरित किए जाते हैं।


3

मेरी बिट को पहले से ही लंबी सूची में जोड़कर, यहां एक और तरीका (12.04 पर परीक्षण किया गया):

/run/resolvconf/interface/NetworkManagerअपनी आवश्यकताओं को पूरा करने के लिए संपादित करें । यहाँ एक उदाहरण है:

search foobar.com example.com
nameserver 192.168.1.1

फिर, जैसा कि अधिकांश अन्य उदाहरणों के लिए कहा गया है, ए sudo resolvconf -u। अब आपको अपना resolv.confलुक इस तरह मिलेगा :

nameserver 192.168.1.1
nameserver 127.0.0.1
search foobar.com example.com

मुझे अभी भी वह तरीका पसंद नहीं आया है जो अब लागू किया गया है (लगता है कि उबंटू को प्रत्येक फू के लिए एक सेवा की आवश्यकता है), और यह resolv.confसुनिश्चित करने के लिए एक मैदान पसंद करेगा । लेकिन यह दृष्टिकोण मेरे लिए अब तक का सबसे अच्छा समझौता है। जोड़ा गया "लोकलहोस्ट-एनएस" बहुत ज्यादा चोट नहीं पहुंचाना चाहिए।


2

मैंने सूत्रों का क्रम बदलकर इसे ठीक किया। मैंने dnsइससे पहले स्रोत को स्थानांतरित mdnsकिया /etc/nsswitch.conf:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

आप अपनी सेटिंग्स रख सकते हैं और अभी भी इस तरह से स्थानीय कैशिंग सर्वर का उपयोग कर सकते हैं।


प्रविष्टियों को जोड़ने के बजाय, सिस्टम को ठीक कर दिया गया है और टूटी हुई जानकारी आपको वास्तव में चाहिए। +1।
nelaaro

2

कैसा रहेगा:

sudo dpkg-reconfigure resolvconf

इससे पहले, DNS एड्रेस को बदलने और मेथड को बदलने के लिए नेटवर्क मैनेजर का उपयोग करें

स्वचालित (डीएचपीसी) केवल स्वीकार करता है

फिर ऊपर कमांड चलाएं और रिबूट करें। यही मेरे लिए समाधान था।


2
vi /etc/network/interfaces


This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The primary network interface
allow-hotplug eth0


# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0         <<----- change this comment with the #
iface eth0 inet dhcp

2

यह एक बहुत ही लोकप्रिय प्रश्न है, जिसमें मानक संभव उत्तरों का संग्रह है, जिनमें से सभी, IMO, बहुत हैक्यी हैं। मुझे हमेशा से समस्या रही है कि मुझे नेटवर्क मैनजर में स्थापित डीएनएस सेटिंग्स का सम्मान करने के लिए उबंटू मिल रहा है - विशेष रूप से "स्वचालित (डीएचसीपी) पतों" के साथ विशेष रूप से स्थैतिक डीएनएस सर्वरों की स्थापना में - और आज मैंने आखिरकार यह पता लगाया कि वास्तव में गलत क्या था।

समस्या resolvconf और NetworkManager के बीच बातचीत में है। resolvconf के पास यह फाइल है /etc/resolvconf/interface-order। मेरे सिस्टम पर कम से कम, NetworkManager में नहीं है सब पर इस फ़ाइल (सिवाय इसके कि यह अंत में * वाइल्ड कार्ड के द्वारा कवर है)। तो क्या होता है, dhclient की सबसे हालिया रिपोर्ट Resolvconf के लिए कुछ भी कहने से पहले की स्थिति में है NetworkManager का कहना है।

इस प्रकार, कम से कम मेरे मामले में, वास्तविक उत्तर जोड़ना था

NetworkManager

के शीर्ष पर या उसके पास /etc/resolvconf/interface-order

(हां, मुझे पता है कि बहुत से लोग बस "अनइंस्टॉल रेजोल्वॉन्फ" कहते हैं, जो मेरे लिए और अपने आप में एक बुरे विचार की तरह लगता है। लेकिन इससे भी अधिक, कम से कम विली और क्सीनल, रेसोलवॉन्फ़ को सिस्टम का एक महत्वपूर्ण हिस्सा मानते हैं (यानी, ubuntu)। -मिनिमल इस पर निर्भर करता है], इसलिए आपके सिस्टम को रेजोल्वॉन्फ़ के बिना एक सुसंगत, अद्यतन स्थिति में रखना मुश्किल होगा।)

अनुरोध पर मैं इस बारे में अधिक विवरण प्रदान कर सकता हूं कि मैंने यह कैसे पता लगाया। ( संपादित करें : जाहिरा तौर पर मैंने ऐसा तब नहीं किया था जब यह अनुरोध किया गया था, क्षमा करें। इस बिंदु पर मुझे आगे जो कहना है उससे अधिक विस्तार याद नहीं है :) संक्षेप में, मैंने इसके चारों ओर शेल आवरण के साथ रिज़ॉल्वोन्फ़ निष्पादन योग्य को बदल दिया। जो अपने तर्कों, इनपुट, आउटपुट और फ़ाइलों के लिए stderr फेंक दिया; और सेट -x को resolvconf की अपडेट स्क्रिप्ट में जोड़ा गया।

( संपादित करें : मैं कह सकता हूं कि मेरे पहले भाग से जो अभिप्राय है वह यह है कि मैंने वास्तविक रेसोल्वोन्फ को निष्पादन योग्य स्थानांतरित करने के लिए सूडो का उपयोग किया था, जो कि किस कमांड या टाइप कमांड का उपयोग करके पाया जा सकता है। फिर एक शेल स्क्रिप्ट बना सकते हैं जो अंततः स्थानांतरित हो जाती है। resolvconf, लेकिन यह भी कुछ फ़ाइल के लिए तर्कों echos, और विभिन्न अन्य फ़ाइलों को stdin, stdout, और stderr भेजने के लिए शेल पुनर्निर्देशन का उपयोग करता है। मुझे याद नहीं है कि "resolvconf की अपडेट स्क्रिप्ट" कहाँ हैं और वर्तमान में आसानी से जांच नहीं कर सकती हैं। मुझे लगता है। कई लिनक्स geeks समझ सकते हैं कि मेरा क्या मतलब है; शायद कुछ अच्छे सामरी एक टिप्पणी में और भी अधिक जानकारी प्रदान करेंगे।)


कृपया " इस बारे में अधिक विवरण प्रदान करें कि आपने यह कैसे पता लगाया "
पियरे।व्रींस

1

एक और तरीका यह है कि docker विशिष्ट dns सर्वर को परिभाषित करें:

/etc/docker/daemon.json

यदि आपके पास ऐसी कोई फ़ाइल नहीं है, तो इसे बनाएं:

{
    "dns": ["10.0.0.2", "8.8.8.8"]
}

स्रोत: https://robinwinslow.uk/2016/06/23/fix-docker-networking-dns/

यह भी देखें: https://docs.docker.com/engine/reference/commandline/dockerd/#/daemon-configuration-file


1

DNS को बदलने के लिए, निर्देशों का पालन करें: https://developers.google.com/speed/public-dns/docs/use

  1. नेटवर्क पर जाएं

  2. उस कनेक्शन का चयन करें जिसके लिए आप DNS को कॉन्फ़िगर करना चाहते हैं।

  3. वायरलेस कनेक्शन के लिए सेटिंग्स बदलने के लिए, वायरलेस टैब चुनें, फिर उपयुक्त वायरलेस नेटवर्क का चयन करें।

  4. तीर (दाएं) पर क्लिक करें, और दिखाई देने वाली विंडो में, आईपीवी 4 सेटिंग्स या आईपीवी 6 सेटिंग्स टैब चुनें।

  5. यदि चयनित विधि स्वचालित (डीएचसीपी) है, तो ड्रॉपडाउन खोलें और केवल इसके बजाय स्वचालित (डीएचसीपी) पते का चयन करें। यदि विधि किसी अन्य चीज़ पर सेट है, तो उसे परिवर्तित न करें।

  6. DNS सर्वर फ़ील्ड में, अल्पविराम द्वारा अलग किए गए DNS IP पते दर्ज करें


0

0.Add अस्थायी DNS। /Etc/resolv.conf संपादित करें।

nameserver 4.4.4.4
nameserver 8.8.8.8

1. स्थापित करें या resolvconf अपडेट करें।

root@ubuntu:~# apt-get install resolvconf -y

2. अपने नामवर को /etc/resolvconf/resolv.conf.d/tail में जोड़ें

nameserver 4.4.4.4
nameserver 8.8.8.8

3. अपनी मशीन को रिबूट करें।

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