16.10 DNS को हल करने में विफल


34

मेरे 16.04-स्थापना को 16.10 में अपग्रेड करने के बाद, मुझे DNS से ​​परेशानी है।

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

जब सिस्को Anyconnect वीपीएन के साथ एक वीपीएन होस्ट से कनेक्ट होता है , तो यह '/etc/resolv.conf' में एक लाइन जोड़ता है । मैं समझता हूं कि उबंटू अब सिस्टमड-रिज़ॉल्यूशन का उपयोग कर रहा है , और मैन पेज कहता है कि /etc/resolv.conf को संभालने के लिए तीन अलग-अलग मोड हैं। मेरा /etc/resolv.conf एक सिम्लिंक नहीं है, और 127.0.0.53 को DNS सर्वर के रूप में सूचीबद्ध नहीं करता है, इसलिए जहां तक ​​मैं समझता हूं कि सिस्टमड-हल किया गया "इसे DNS कॉन्फ़िगरेशन डेटा के लिए पढ़ना चाहिए"। हालांकि, इसकी परवाह नहीं दिखती।

गड्ढा करना

अजीब बात यह है (मेरे लिए) वह है dig host.customer.tld, जो अनुरोध किए गए मेजबान के आईपी को दिखाने वाले ANSWER सेक्शन के साथ एक अच्छा उत्तर देता है, और यह सर्वर से vpn क्लाइंट द्वारा /etc/resolv.conf में जोड़े गए dns सर्वर को संदर्भित करता है। जब वीपीएन कनेक्शन अक्षम हो जाता है तो मुझे कोई जवाब नहीं मिलता है। यानी खुदाई में /etc/resolv.conf लिखा जाता है

पिंग

दूसरी तरफ ब्राउज़र, /etc/resolv.conf पर नहीं आता है, और होस्ट नाम को हल करने में सक्षम नहीं है। न तो पिंग / कर्ल है, वैसे।

nmcli

मैंने एक संबंधित पोस्ट पाया , और चलाने की कोशिश की

nmcli device show <interfacename> | grep IP4.DNS

लेकिन यह cscotun0 डिवाइस के लिए कोई डीएनएस सूचीबद्ध नहीं करता है। (यह 16.04 में नहीं है, न ही, हालांकि।) इसके अलावा, nmcli मेरे dhcp सर्वर (मेरे राउटर) को IP4.DNS होस्ट के रूप में मेरे एथ / वलान कनेक्शनों के लिए सूचीबद्ध करता है। dig @192.168.0.1 xxxकिसी भी सार्वजनिक डोमेन का उपयोग करना ठीक काम करता है।

विन्यास

मेरे /run/systemd/resolve/resolv.conf में सूचीबद्ध कुछ अन्य DNS सर्वर हैं:

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2001:4860:4860::8844

ये मेरे डीएचसीपी सर्वर द्वारा नहीं दिए गए हैं। फ़ाइल /etc/systemd/resolved.conf में अनुभाग हेडर को छोड़कर केवल टिप्पणी की गई लाइनें शामिल हैं:

[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844

के लिए आदमी पेज resolved.conf का कहना है कि

DNS = सिस्टम DNS सर्वर के रूप में उपयोग करने के लिए IPv4 और IPv6 पतों की एक अलग-अलग सूची। ... संगतता कारणों से, यदि यह सेटिंग निर्दिष्ट नहीं है, तो /etc/resolv.conf में सूचीबद्ध DNS सर्वर का उपयोग किया जाता है, अगर वह फ़ाइल मौजूद है और उसमें कोई भी सर्वर कॉन्फ़िगर किया गया है। यह सेटिंग खाली सूची में डिफॉल्ट करती है।

FallbackDNS = IPv4 और IPv6 पतों की एक अलग-अलग सूची जो फ़ॉलबैक DNS सर्वर के रूप में उपयोग की जाती है। Systemd-networkd.service (8) से प्राप्त कोई भी प्रति-लिंक DNS सर्वर इस सेटिंग पर पूर्वता लेता है, जैसा कि कोई भी सर्वर DNS = ऊपर या /etc/resolv.conf के माध्यम से सेट करता है। यह सेटिंग केवल इसलिए उपयोग की जाती है यदि कोई अन्य DNS सर्वर जानकारी ज्ञात नहीं है। यदि यह विकल्प नहीं दिया गया है, तो इसके बजाय DNS सर्वरों की एक संकलित सूची का उपयोग किया जाता है।

मेरे मामले में /run/systemd/resolve/resolv.conf पर गिरावट की तरह लगता है।

संपादित करें: मैं निश्चित नहीं था कि समस्या क्या है, और ईमानदार होने के लिए मुझे अभी भी नहीं पता कि यह कैसे काम करता है, लेकिन कम से कम यह पता चला कि मेरे मामले में समाधानsystemd-resolved सेवा को अक्षम करना था । मुझे लगा कि सेवा की आवश्यकता है, यह वह घटक था जो सभी स्थानीय अनुप्रयोगों के लिए डीएनएस सेवा प्रदान करता था, लेकिन जाहिर है कि इस काम को करने में कुछ और हैं।


यदि आप वीपीएन का उपयोग नहीं कर रहे हैं तो क्या आपको DNS में कोई समस्या है?
मार्क स्टोसबर्ग

क्या आपने 16.04 पर AnyConnect समस्याओं के लिए इस समाधान की कोशिश की जो लागू हो सकती है?
मार्क स्टोसबर्ग

3
बस यह नोट करना चाहता था कि मैं 16.10 को एनीकोनेक्ट के साथ ठीक उसी मुद्दे पर चल रहा हूं। वीपीएन सेवा से कई बार कनेक्ट करने पर यह अस्थायी रूप से ठीक हो जाता है, लेकिन कुछ बिंदु पर डीएनएस फिर से काम नहीं कर रहा है।
jmartinez

2
मेरे पास समान DNS समाधान हैं जो 16.04 के साथ मौजूद नहीं थे। मेरा सुझाव (बैकअप) /etc/resolv.conf को हटाकर शुरू करना है; resolvconf पैकेज की स्थापना रद्द करें; रिबूट; और वीपीएन और वीपीएन के बिना खुदाई, सिस्टम-रिज़ॉल्यूशन का उपयोग करके देखें कि क्या काम कर रहा है या नहीं।
दार्शनिकोवन

1
इस बग रिपोर्ट की तुलना करें: Bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624317
jdthood

जवाबों:


15

मैंने इसी तरह की समस्याओं का अनुभव किया, उदाहरण के लिए एक अतिरिक्त यूएसबी वाईफाई डोंगल जोड़ने के साथ। पहले मैंने नेटवर्कसमैन में dnsmasq को अक्षम किया जैसा कि ऊपर वर्णित है और मैंने dnsmasq (सेवा dnsmasq stop) को रोक दिया है

मैंने देखा कि जब मेरे वीपीएन कनेक्ट करने के दौरान हल टूट जाता है, तो राउटिंग टेबल थोड़ा अलग होता है (रूट कमांड का आउटपुट)। गेटवे का नाम डीडी-डब्ल्यूआरटी है, जब यह काम नहीं करता है और जब यह काम करता है तो बस 'गेटवे'। इसका उत्पादन नहीं बदला:

nmcli device show wlp1s0 | grep IP4.DNS

यह मेरा राउटर आईपी दिखाता रहा। कुछ समय के लिए काम करने के लिए इसे प्राप्त करने के लिए एक वर्कअराउंड सिस्टमड-रेज़ोल्वड को पुनः आरंभ करना है:

sudo service systemd-resolved restart

चूंकि dnsmasq समीकरण से बाहर है, यह या तो systemd-resolvd है जो समस्या का कारण है, या रूटिंग टेबल को बदलने वाली कोई भी चीज़ है।

इसलिए यह एकमात्र अंतर है जो मैं देख रहा हूं:

ubuntu@ubuntu-Lenovo-Yoga-2-11:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         gateway         0.0.0.0         UG    601    0        0 

जो काम करता है। और जब यह काम नहीं करता है:

ubuntu@ubuntu-Lenovo-Yoga-2-11:~$ route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         DD-WRT          0.0.0.0         UG    601    0        0 wlp1s0

और वीपीएन लाइन पर समान नाम अंतर:

vpn-dns.name gateway         255.255.255.255 UGH   0      0        0 wlp1s0

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

[अद्यतन] ऐसा लगता है कि सिस्टम-सॉल्यूशन को रोकना इसे ठीक कर सकता है और अन्य सामान को नकारात्मक रूप से प्रभावित नहीं कर सकता है। आप कोशिश कर सकते हैं और इसे बताएं कि क्या यह सामान तोड़ता है। मैंने देखा कि जब डिबग में सिस्टमड-रेजोल्वड चल रहा था तो यह टूट गया:

Removing scope on link wlp1s0, protocol llmnr, family AF_INET
Removing scope on link wlp1s0, protocol llmnr, family AF_INET6
Removing scope on link *, protocol dns, family *

निष्क्रिय करने के लिए:

sudo systemctl disable systemd-resolved.service

मैंने सुझावों के साथ उबंटू रिपोर्ट को अपडेट किया। [/ अद्यतन] जोड़ें: नोट: बग रिपोर्ट: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624317 कुछ मुद्दों के लिए 17.04 के लिए एक पैच है। कृपया बग रिपोर्ट जांचें और यदि संभव हो तो पैच का परीक्षण करें। धन्यवाद!

[अद्यतन करें]

कृपया उपर्युक्त बग रिपोर्ट की जांच करें, यह समस्या 17.10 के लिए हल हो गई लगती है और एक साधारण आदेश के साथ DNS रिसाव को भी अक्षम किया जा सकता है।

[/अद्यतन करें]


आपकी पूरी रिपोर्ट के लिए धन्यवाद! मुझे आपकी तुलना में रूटिंग टेबल में अलग-अलग बदलाव दिखाई देते हैं - मेरे वीपीएन बहुत सारे मार्गों को जोड़ते हुए प्रतीत होते हैं, गतिशील रूप से उनका उपयोग किया जा रहा है, मुझे संदेह है। हालाँकि, मेरी समस्या के लिए सिस्टमड-सॉल्यूशन को अक्षम करने ने बहुत अच्छी तरह से काम किया!
विस्मयकारी

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

ध्यान देने योग्य है कि मैं इस मुद्दे के साथ एक पूरे दिन के लिए संघर्ष कर रहा था, सिस्टम-सॉल्यूड सेवा को फिर से शुरू करना मेरे लिए कुछ भी नहीं था, लेकिन इसे पूरी तरह से अक्षम करना और कोई समस्या नहीं!
fd8s0

बस फिर से दोहराने के लिए, मुझे 16.10 से 17.04 तक अपग्रेड करने के बाद से कई दिनों तक नेटवर्क की समस्याएँ हैं। मैंने यहां सबसे अधिक उत्तर देने की कोशिश की है, कुछ समय के लिए सबसे अधिक काम करता है और फिर मुद्दा फसलों को फिर से काम करता है जो डीएनएस का उपयोग करके sudo systemctl disable systemd-resolved.service और सेट करने के लिए सिस्टमड-सॉल्यूशन को अक्षम कर रहा था। 8.8.8.8 /etc/resolv.conf में करने के लिए
येपेत Ongeri - inkalimeva

यह सरल रेखा मेरे लिए हल हो गई: sudo सेवा systemd- हल पुनरारंभ, धन्यवाद!
सर्जियो

36

OpenVPN कनेक्शन के दौरान DNS व्यवहार में सुधार हुआ जब मैंने ubuntuforums पर एक सुझाव का पालन ​​किया :

  1. /etc/NetworkManager/NetworkManager.confजड़ अधिकारों के साथ एक संपादक में खोलें ।
  2. #वह लाइन हटाएं (या हैश के साथ टिप्पणी करें ) जो पढ़ती हैdns=dnsmasq
  3. के माध्यम से NetworkManager को पुनरारंभ करें sudo service NetworkManager restart

धन्यवाद। अब यह कोशिश की, लेकिन यह काम नहीं किया। वास्तव में, डीएनएस ठीक काम कर रहा है, सिवाय इसके कि जब मैं सिस्को वीपीएन क्लाइंट शुरू करता हूं, जो एक सादे पाठ फ़ाइल के साथ सिम्लिंक /etc/resolve.conf को बदल देता है।
विस्मयकारी

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

यह NM और openvpn के साथ मुद्दों के लिए काम कर सकता है, लेकिन कम से कम यह कनेक्शन धीमा कर देता है। जैसे यहाँ अनुमान लगाया गया है
बैरदेव

3

उसी मुद्दे में भाग गया। किसी तरह मैंने कुछ एप्लिकेशन के साथ DNSmasq स्थापित किया होगा। बस dnsmasq को हटाने से मेरे लिए समस्या हल हो गई।

sudo apt-get remove dnsmasq 

तब से, कोई और डिस्कनेक्ट या कुछ साइटें लोड नहीं कर पा रही हैं (मुझे एक मुद्दा लोड हो रहा है जीमेल, यानी अचानक यह जीमेल से कनेक्ट नहीं हो सका, हालांकि अन्य साइटें काम करती हैं)।


जब dnsmasq- बेस पैकेज को हटाने की कोशिश की जा रही है , तो एप्टीट्यूड मुझे बताता है कि यह नेटवर्क-मैनेजर और ubuntu-fan द्वारा आवश्यक है , और इसे हटाने से बहुत सारे अतिरिक्त पैकेज निकाले
जाएंगे

क्या distro और संस्करण? मैं Ubuntu 16.10 पर हूँ और इसे हटाने के लिए कोई समस्या नहीं थी। वरना मैंने इसे पोस्ट नहीं किया होगा :)
नाइटाई

मैं भी उबंटू 16.10 पर हूँ! अजीब। apt remove dnsmasq-base...The following packages will be REMOVED: account-plugin-ubuntuone checkbox-converged checkbox-gui dnsmasq-base indicator-network network-manager network-manager-gnome network-manager-openconnect network-manager-openconnect-gnome network-manager-openvpn network-manager-openvpn-gnome network-manager-pptp network-manager-pptp-gnome network-manager-vpnc pay-service plainbox-provider-checkbox plainbox-provider-resource-generic ubuntu-desktop ubuntu-fan ubuntu-push-client ....
विस्मयकारी

16.10 के साथ यहां भी। यह उन सभी अन्य पैकेजों को भी हटाना चाहता है।
डेव किनकैड

मैंने दूसरे दिन फिर से डिस्कनेक्ट कर दिया। किसी तरह एक ऐप ने फिर से dnsmasq को फिर से इंस्टॉल किया होगा। किसी भी मामले में, इस बार मैंने इसे सिस्टेम के साथ अक्षम कर दिया। अब तक यह नहीं चल रहा है और मुझे कोई डिस्कनेक्ट भी नहीं है।
निताई

1

संपादित करें /etc/nsswitch.confऔर बदलें

hosts:          files mdns4_minimal [NOTFOUND=return] dns

सेवा मेरे

hosts:          files dns mdns4_minimal [NOTFOUND=return]

संपादित करें:

मुझे काफी समय तक वही समस्याएं मिलीं। मैं vpn से डोमेन नामों को हल करने में सक्षम था, लेकिन मैं उन अनुप्रयोगों को पिंग या कर्ल करने या उन्हें उपयोग करने में सक्षम नहीं था। ऊपर वर्णित परिवर्तन ने इसे मेरे लिए हल कर दिया।

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