DNS सिस्टम के 127.0.0.53 पर सेट है - स्थायी रूप से कैसे बदलें?


38

मैंने हाल ही में 17.10 में अपग्रेड किया है। जब मैं किसी वेबसाइट पर ब्राउज़ करने का प्रयास करता हूं, या किसी डोमेन को पिंग करता हूं तो यह कहता है कि साइट को हल नहीं किया जा सकता है।

network-adminहोने की सामग्री को दर्शाता /etc/resolv.confहैnameserver: 127.0.0.53

अगर मैं इसे .8..8.7..2 या २० then.६ ..२२.२२२ में बदल दूं तो सब कुछ काम कर जाता है। जब तक मैं रिबूट नहीं करता।

रिबूट या फिर से शुरू करने पर, नेम सर्वर 127.0.0.53 पर रीसेट हो जाता है।

मैं स्थायी रूप से कैसे काम करने वाले को स्थायी रूप से सेट करता हूं ?


सिस्टमैड प्रशंसकों के लिए, अगर मैं दौड़ता systemd-resolve --statusहूं तो मुझे मिलता है

Link 3 (wlo1)
      Current Scopes: LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

यदि मैं इस प्रश्न पर सलाह का पालन करता हूं - DNS रिबूट के बाद रीसेट करता रहता है। Ubuntu 17.10 - DNS अभी भी हल करने में विफल है।


systemctl stop systemd-resolvedऔर systemctl mask systemd-resolvedचाल करना चाहिए :)
Shayan

जवाबों:


28

आप एक पैकेज resolvconf स्थापित कर सकते हैं, जो /etc/resolv.confसिस्टम बूट में निर्मित तरीके को संशोधित करेगा ।

sudo apt install resolvconf

आप तब फ़ाइल बना या संशोधित कर सकते हैं /etc/resolvconf/resolv.conf.d/tail। यदि आप इस फ़ाइल को एक पंक्ति में रखते हैं nameserver 8.8.8.8, तो यह पंक्ति /run/resolvconf/resolv.confबूट के अंत में जोड़ दी जाएगी । /etc/resolv.confअब इस फ़ाइल का एक प्रतीकात्मक लिंक होगा।


4
यह काम करता है - धन्यवाद! क्या आप जानते हैं कि 127.0.0.53 प्राप्त करने का कोई तरीका है?
टेरेंस एडेन

1
मैं इस मामले में काफी नया हूं। पिछले हफ्तों में vpn को चालू / बंद करते समय केवल dns समस्याओं से छुटकारा पाने की कोशिश की गई है। आप कोशिश कर सकते हैं sudo dpkg-reconfigure resolvconf। मैंने हाल ही में यह कोशिश की, पूंछ फ़ाइल को मंजूरी दे दी, और सबसे पहले यह काम करने लगता है।
oscar1919

@TerenceEden यदि आप 127.0.0.53 पर काम करना
चाह रहे हैं

9

सही समाधान समस्याओं का समाधान कर के बजाय एक गिलोटिन के साथ माइग्रेन का इलाज करने की कोशिश कर के systemd समाधान किया जाएगा।

यह एक अच्छा उपकरण है, वास्तव में, अगर ठीक से उपयोग किया जाता है।

आपके systemd-resolve --statusआउटपुट को देखते हुए ...

Link 3 (wlo1)
      Current Scopes: LLMNR/IPv4 LLMNR/IPv6
       LLMNR setting: yes
MulticastDNS setting: no
      DNSSEC setting: no
    DNSSEC supported: no

... आपका नेटवर्क प्रबंधक उपकरण सिस्टम-हल किए गए प्रति-डीएनएस कॉन्फ़िगरेशन को पारित नहीं करता है।

उदाहरण के लिए, NetworkManager के हाल के संस्करण, स्वचालित रूप से ऐसा करेंगे अगर /etc/resolv.confकोई सिमलिंक अंदर /run/systemd/resolveया ओर इशारा करता है /usr/lib/systemd/resolv.conf। वैकल्पिक रूप से, सिस्टमड-सॉल्यूशन के हालिया संस्करण ऐतिहासिक रेसोल्वकॉन्फ इंटरफेस के साथ संगत होने की कोशिश करते हैं, resolvconfजो कि एक बाइनरी स्थापित करता है जो सिस्टमड-सॉल्यूशन से बात करता है।

इन दोनों समाधानों में से किसी एक का उपयोग करते समय प्राथमिकता दी जाएगी, यदि आप एक त्वरित और गंदे समाधान की तलाश कर रहे हैं, तो आप अपने DNS सर्वरों को वैश्विक रूप से उपयोग करने के लिए सिस्टेम-हल को कॉन्फ़िगर कर सकते हैं:

$ cat /etc/systemd/resolved.conf
<...>
[Resolve]
DNS=8.8.8.8 8.8.4.4
<...>

फिर systemd-resolved.serviceरिबूट या रिबूट करें।


कम से कम मेरे लिए यह उत्तर काम नहीं करता है, ubuntu 18.04 का उपयोग करते हुए, "DNS" प्रविष्टि को बदलने के बाद यह 127.0.0.53
आंद्रे एम। फरिया

1
@ AndréM.Faria सीखें कि हल कैसे काम करता है। 127.0.0.53स्थानीय कैशिंग स्टब रिज़ॉल्वर का पता है। यह डीएनएस से अनुरोध करता है कि आपके द्वारा निर्दिष्ट अपस्ट्रीम DNS सर्वरों के लिए।
intelfx

कभी-कभी आप कुछ जानते हैं और बस इसे अनदेखा करते हैं, हाँ आप सही हैं।
आंद्रे एम। फरिया

1
यहाँ भी नोट करना अच्छा है, यह है कि डिफ़ॉल्ट systemd-resolvedकैश DNS प्रतिक्रियाओं द्वारा। हालांकि यह कभी-कभी उपयोगी हो सकता है, यह कुछ स्थितियों में समस्याएं पैदा कर सकता है। cache=yesउत्तर में कॉन्फ़िगरेशन फ़ाइल में रेखा को हटा दें और इसे सेट करें no
क्वेंटिन स्कूसन

वास्तव में क्या कारण है /etc/resolve.conf(या वास्तव में /run/resolvconf/resolv.conf, जो पूर्व को इंगित करता है) अद्यतन किया जाना है? परीक्षण के लिए जानकर अच्छा लगेगा, बिना किसी अनुमान के रिबूट की आवश्यकता होगी। मैं केवल इतना कह सकता हूं कि पुनः आरंभ systemd-resolved.serviceकरने के लिए ट्रिक नहीं लगती थी
bbarker

8

मैं ल्यूबुन्टू और कुबंटु 18.04 का उपयोग करता हूं। मैं 2 चरणों में DNS समस्या को दूर करने में सक्षम था:

पहला कदम:unbound इसे सेट करें और इसे बदलने के लिए सेट करें systemd-resolvedजैसा कि गेरेगोइरे सी शो में होता है

sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
sudo systemctl enable unbound-resolvconf
sudo systemctl enable unbound

रिबूट

फ़ाइल को रूट के रूप में खोलें /etc/NetworkManager/NetworkManager.conf

( sudo leafpad /etc/NetworkManager/NetworkManager.confलुबंटू में 18.04 या कुबंटु में 18.04 SUDO_EDITOR=kate sudoedit /etc/NetworkManager/NetworkManager.conf)

और नीचे [main]इस लाइन डाल:

dns=unbound

फिर से रिबूट करें

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

Kubuntu 18.04 में आप रूट के रूप में डॉल्फिन प्रारंभ नहीं कर सकता है, तो आप पहले तक जा सकते हैं /etc, और वहाँ से टर्मिनल खोलने तो टाइप करें sudo suऔर प्रेस दर्ज करें रूट के रूप में इसका इस्तेमाल करने के लिए और फिर हटाना resolv.confकमांड के साथ rm resolv.conf। फिर आप अपने डेस्कटॉप पर एक नई खाली फ़ाइल बना सकते हैं, इसे नाम दें resolv.confऔर वहां से एक टर्मिनल खोलें। sudo suटर्मिनल के लिए रूट मोड में प्रवेश करने के लिए कमांड का उपयोग करें और फिर resolv.confअपने डेस्कटॉप से /etcकमांड के साथ नया कॉपी करें cp resolv.conf /etc

मुझे यह जोड़ना है कि मैंने स्थापित करने से पहले दूसरा चरण करने की कोशिश नहीं की unbound, इसलिए अगली बार जब मैं ऐसा करूंगा, तो यह देखने के लिए कि क्या यह पर्याप्त होगा या नहीं।


क्यों न इसे केवल रूट के रूप में संपादित करें और सामग्री को हटा दें?
बैली

@ बॅाली मैंने पहली बार यह कोशिश की है, लेकिन इससे कोई फायदा नहीं हुआ। इसके अलावा मूल resolv.confसे /etcकुछ प्रकार के शॉर्टकट के रूप में दिखाया गया था, जो सामान्य नहीं है, मुझे लगता है। यही कारण है कि मैंने इसे हटाने का फैसला किया और इसे एक नई खाली फ़ाइल बनाकर और इसका नामकरण किया resolv.conf। और इसने काम किया। इस कारण से मैंने ऊपर लिखा था कि अगली बार जब मुझे ओएस को फिर से स्थापित करना है, तो मैं यह करने की कोशिश करूंगा, "पहला कदम" किए बिना - यह देखने के लिए कि क्या यह पर्याप्त होगा। लेकिन मूल resolv.confको /etcवैसे भी हटाने और फिर से बनाने की जरूरत है - इस बारे में मुझे यकीन है।
Калоян Грънчаров

मेरे पास बस अक्षम systemd-Solve.service है और resolv.conf के लिंक को हटा दिया है और मैन्युअल रूप से एक बनाया है, और यह काम किया!
आंद्रे एम। फारिया

8

systemdप्रतिमान के भीतर काम करना एक लिंक / डिवाइस के लिए एक DNS जोड़ते हैं

ubuntu 17.10+ का उपयोग करके एक *.networkफ़ाइल जोड़ें :

sudo nano /lib/systemd/network/100-somecustom.network:

100-somecustom.network (100 प्राथमिकता के लिए कोई भी संख्या हो सकती है, और इसके लिए .networkफ़ाइल एक्सटेंशन की आवश्यकता होती है ):

[Match]
Name=wlo1 # the device name here

[Network] # add multiple DNS 
DNS=8.8.8.8
DNS=208.67.222.222

फिर पुनरारंभ करें:

sudo service systemd-networkd restart

में भी देखो:

netplan apply

तो जाँच:

systemd-resolve --status wlo1

जानकारी पृष्ठ से info systemd.network:

इसके अलावा /etc/systemd/network, ड्रॉप-इन ".d" निर्देशिकाओं को / lib / systemd / नेटवर्क या / run / systemd / नेटवर्क निर्देशिकाओं में रखा जा सकता है । / Etc में ड्रॉप-इन फ़ाइलें उन / से अधिक पूर्वता लेती हैं / जो बदले में / lib में उन पर वरीयता लेती हैं। इनमें से किसी भी निर्देशिका के तहत ड्रॉप-इन फाइलें मुख्य नेटदेव फाइल पर जहां भी स्थित हैं, वहां पूर्वता लेती हैं। (बेशक, चूंकि / रन अस्थायी है और / usr / lib विक्रेताओं के लिए है, यह संभावना नहीं है कि ड्रॉप-इन का उपयोग उन स्थानों में से किसी में भी किया जाना चाहिए।)

इसके DNSStubListenerसाथ उपयोग के लिए एक और दृष्टिकोण अक्षम करें dnsmasq:

sudo nano /etc/systemd/resolved.conf:

#
DNSStubListener=false

सम्बंधित:


अजीब बात यह है कि आपने कहा है कि DNSStubListener = false, लेकिन वास्तविक टिप्पणी विन्यास DNSStubListener = हां है, आमतौर पर "हां" मान का व्युत्क्रम "नहीं" है और "झूठा" नहीं है जो "गलत" के मामले में आमतौर पर होता है " सच"।
एंड्रे एम। फारिया

एक्सटेंशन .network के साथ एक फ़ाइल बनाने के लिए आपका जवाब काम नहीं किया।
एंड्रे एम। फरिया

2

यह है कि मैं इंटरफ़ेस कॉन्फ़िगरेशन पर अपने डीएनएस रिकॉर्ड को कैसे बदलूं।

$ vi /etc/netplan/50-cloud-init.yaml

नाम सर्वर पते बदलें, पहले यह 4 था। फिर मैंने इसे बदल दिया। 3:

...
            nameservers:
                addresses:
                - 192.168.1.3
...

कॉन्फ़िगरेशन सहेजें और फिर कॉन्फ़िगरेशन लागू करें:

$ sudo netplan apply

इसके बाद रिजॉल्व सर्विस को रीस्टार्ट करें।

$ sudo systemctl restart systemd-resolved.service

नोटों के लिए: मैंने सर्वर को रिबूट किया और उन परिवर्तनों को जो मैंने अभी भी बरकरार रखा है। मैं resolvctl dnsdns रिकॉर्ड को सत्यापित करने के लिए कमांड का उपयोग करता हूं ।


यह वास्तव में सही उत्तर है। मुझे आश्चर्य है कि यह स्वीकार नहीं है।
ताउम्र

0

नॉर्डवीपीएन के साथ कुछ मुद्दे थे इसलिए इसे जोड़ने का फैसला किया।

खोज: कनेक्ट करते समय
नॉर्डवीपीएन /run/systemd/resolve/resolv.confडीएनएस सेटिंग्स सेट करता है ।
नॉर्डवीपीएन /run/systemd/resolve/resolv.confडिस्कनेक्ट होने पर सभी डीएनएस सेटिंग्स को हटा देता है ।
इसके कारण DNS सर्वर अब काम नहीं करता है (क्योंकि एक सेट नहीं है)।

सिस्टम को किसी भी चीज़ पर वापस सेट करने के लिए रिबूट की आवश्यकता होती है। सेवा का एक मानक पुनरारंभ ( sudo systemctl restart systemd-resolved.service) काम नहीं करता है।

इसके आसपास काम करने का उपाय:

sudo apt install resolvconf

/Etc/resolvconf/resolv.conf.d/ पर जाएं

cd /etc/resolvconf/resolv.conf.d/
sudo nano tail

नाम जोड़ें

nameserver 1.1.1.1
nameserver 1.0.0.1

नामस्थानों के लिए निम्नलिखित स्थानों की जाँच करें जिन्हें सेट किया जा सकता था:

/run/resolvconf/interface/original.resolvconf
/run/resolvconf/interface/systemd-resolved
/etc/resolvconf/resolv.conf.d/tail
/etc/resolvconf/resolv.conf.d/head
/etc/systemd/resolved.conf
/run/systemd/resolve/resolv.conf
/run/systemd/resolve/stub-resolv.conf

DNS सर्वरों का परीक्षण किसके साथ किया जा रहा है:

nslookup google.com

Server:         1.1.1.1
Address:        1.1.1.1#53

0

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

इसलिए जब मैंने अक्षम किया और फिर systemd.resolved.service को फिर से सक्षम किया, तो मेरे DNS कॉन्फ़िगरेशन को बेतरतीब ढंग से खोने का यह अनियमित व्यवहार मेरे लिए हल हो गया था।

systemctl disable systemd.resolved.service
reboot

रिबूट के बाद:

systemctl enable systemd.resolved.service
reboot

मैं एक अपेक्षाकृत ताज़ा लिनक्स उपयोगकर्ता हूं, इसलिए ऐसा कोई व्यक्ति होना चाहिए जो कि मेरे बारे में कैसे और क्यों का वर्णन कर सकता है, इसने मेरे लिए काम किया होगा, लेकिन यह उल्लेख के लायक था कि क्या यह दूसरों की मदद कर सकता है।


निराश होने की कोशिश करें, लेकिन आपके बीच कुछ ऐसा होना चाहिए जो वास्तव में समस्या को ठीक कर दे। आपके द्वारा यहां सुझाए जा रहे ऑपरेशन केवल सिस्टम को छोड़ सकते हैं जैसा कि यह था।
तिश्मा

-1

जब उबंटू में dhcp नाम रिज़ॉल्यूशन का उपयोग अपेक्षित होता है। समस्याएँ तब शुरू होती हैं जब आप स्थिर होना चाहते हैं।cat /etc/resolv.confदिखाएगा कि योर डीएनएस 127.0.0.53 है और आपके पास /etc/netplan/.yamlफ़ाइल में नहीं है। इसे ठीक करने के लिए आपको /etc/resolve.confलिंक को हटाना होगा और एक नया इशारा करना होगा/run/resolve/resolve.conf


कृपया, अपने उत्तर को संपादित करें और कुछ प्रारूपण को ठीक करें ...
युफेनीयू वेइह ड्राइड

-2

इसके साथ कुछ खेलने की आवश्यकता थी। सेटिंग अपडेट करने के बाद, मैंने रिबूट किया। उपयोग:

ln -s /run/resolvconf/resolv.conf /etc/resolv.conf

/etc/systemd/resolved.conf
DNS=8.8.8.8
Cache=no

System resolved failed
systemctl stop systemd-resolved
systemctl disable systemd-resolved

जब "अनुरोध" के लिए टिप्पणी करें

# domain-name, domain-name-servers, domain-search, host-name,

इस लाइन को अपने में जोड़ें /etc/dhcp/dhclient.conf:

 supersede domain-name "cwillenterprise.com";

कॉन्फ़िग फ़ाइल संपादित करें और प्रविष्टि जोड़ें। अतिरिक्त प्रतिस्थापित नहीं होगा।

में प्रविष्टियाँ जोड़ें /etc/resolvconf/resolv.conf.d/tail

nameserver 8.8.8.8
search "cwillenterprise.com"

परिवर्तनों को लागू करने के लिए चलाएं

resolvconf -u

1
उबंटू पूछने के लिए आपका स्वागत है ! कृपया संपादित उपयोग करने के लिए अपने जवाब स्वरूपण कोड कोड है कि फाइल या टर्मिनल में डाला जाना चाहिए के लिए। पहले जोड़ें मत #इसका मतलब है - कोड को "टिप्पणी" करने के लिए शीर्ष लेख Markdown में। कृपया भेजने से पहले हमेशा अपने पोस्ट का पूर्वावलोकन देखें।
मेलेबियस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.