Ubuntu 16.10 में स्थानीय DNS लुकअप को कैसे कॉन्फ़िगर करें?


9

मैंने नए तरीके से Ubuntu 16.10 स्थापित किया और kubuntu 16.04 से अपनी नई स्थापना के लिए अपनी पिछली होम डायरेक्टरी का बैकअप लिया। चीजें अच्छी तरह से काम करती हैं, लेकिन मैं बहुत परीक्षण और त्रुटि के बावजूद स्थानीय पते को हल करने में सक्षम नहीं हूं।

सभी नेटवर्किंग निर्दोष रूप से काम कर रहे हैं। इंटरनेट ब्राउजिंग, बाहर के पतों की DNS लुकिंग, ssh, आदि बहुत अच्छे हैं। स्थानीय रूप से, मैं अपने पते के साथ ssh के माध्यम से मशीनों का उपयोग कर सकता हूं, लेकिन उनके नाम नहीं। यह सब nautilus / samba में ठीक काम करता है, जिसका अर्थ है WINS काम करता है। एकल समस्या, यह प्रतीत होता है, स्थानीय नेटवर्क DNS है। मेरे पास अवही-डेमॉन है, जो कि उबंटू के साथ आया था।

मैंने कुछ समस्या निवारण शामिल किए हैं, << >> का उपयोग करते हुए अनावश्यक या सही ढंग से काम करने वाले भागों को छोटा करने के लिए।

$ nmcli g
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled 

$ ping tendril8 << or tendril8.local >>
ping: tendril8: Name or service not known

$ ping gateway
PING gateway (192.168.1.1) 56(84) bytes of data.
64 bytes from gateway (192.168.1.1): icmp_seq=1 ttl=64 time=4.16 ms

$ ping askubuntu.com
PING askubuntu.com (151.101.129.69) 56(84) bytes of data.
64 bytes from 151.101.129.69 (151.101.129.69): icmp_seq=1 ttl=49 time=43.0 ms

$ nslookup askubuntu.com
Server:     127.0.1.1
Address:    127.0.0.1#53
<< followed by several IP addresses >>

$ nslookup tendril8 << or tendril8.local >>
Server:     127.0.1.1
Address:    127.0.0.1#53
** server can't find tendril8: NXDOMAIN

$ 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.1.1

$ ls -la /etc/resolv.conf
lrwxrwxrwx 1 root root 29 Oct 15 19:30 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

$ cat /etc/nsswitch.conf
# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat
group:          compat
shadow:         compat
gshadow:        files

hosts:          files resolve [!UNAVAIL=return] mdns4_minimal dns [NOTFOUND=return]
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

नोट: मैंने उबंटू को 16.10 में व्यवस्थित करने से पहले "पुराने" समाधानों को देखने में बहुत समय बिताया है। उन्होंने मेरे लिए काम नहीं किया है और मुझे नहीं लगता कि यह पूर्व उबंटू विन्यास वाले समान लोगों के लिए एक नकली प्रश्न है।


1
उन्नत सिस्टम पर भी ऐसा होता है ... मुझे लगता है कि इस सवाल का बहुत दिनों में
स्वागत होगा

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

जवाबों:


18

यदि मैं आपके प्रश्न को ठीक से समझता हूं, तो आप अपने स्थानीय होस्टनामों को हल नहीं कर सकते।

उस पर, मुझे 16.10 की एक ताजा स्थापना के साथ एक ही समस्या थी, और यह एक ज्ञात मुद्दा निकला ( https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624071 ) लिबन्स से संबंधित -सिस्टम में शामिल करें।

मेरे मामले में समाधान आपकी /etc/nsswitch.conf फ़ाइल की समीक्षा करना था और विशेष रूप से ध्यान दें कि एनएसएस आपके मेजबानों को कैसे हल करता है:

hosts: files resolve [!UNAVAIL=return] mdns4_minimal [NOTFOUND=return] dns myhostname

यह तर्क mDNS करने से पहले होस्टनाम रिज़ॉल्यूशन को विफल करने के लिए प्रकट होता है।

मेजबानों की लाइन को एक प्री-16.10 रिलीज पर संपादित करना इस स्पष्ट तर्क त्रुटि को ठीक करता है:

hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname

शामिल बग-रिपोर्ट लिंक से पता चलता है कि सिस्टमड पैकेज का भविष्य में रिलीज अंततः इस समस्या को ठीक कर सकता है।

धनी


1
लिंक और उदाहरण दोनों के साथ शानदार जवाब! मैंने आपके सुझाव के साथ खेला और पाया कि जब तक मैं "[NOTFOUND = वापसी]" से पहले "mdns4_minimal" चला गया और "[! UNAVAIL = return]" पर काम किया। मुझे अभी भी स्थानीय पते के लिए .local प्रत्यय की आवश्यकता है।
14 मई


7

एक वैकल्पिक समाधान जो स्वचालित रूप से संपादन करता /etc/nsswitch.confहै, उसे हटा रहा है [ संपादित करें: और फिर से इंस्टॉल करें] libnss-resolve :

sudo apt purge libnss-resolve
sudo apt install libnss-resolve

+1। यह हम में से उन लोगों के लिए एक बेहतर समाधान है जो उन पैकेजों के लिए सिस्टम कॉन्फ़िगरेशन को अक्षुण्ण रखना पसंद करते हैं जिन्हें हमने आसपास नहीं देखा है। अब तक अपग्रेड / इंस्टॉलर टूल द्वारा किया जाना चाहिए ... 16.10 कुछ समय के लिए आसपास रहा है।
eskhool

1

मुझे यह समस्या उबंटू की ताज़ा स्थापना 17.04 के साथ मिली। मैंने अपने लैपटॉप पर सिस्टम-सॉल्यूशन से लेकर dnsmasq तक स्विच करने का विकल्प चुना (नाम सर्वर dnsmasq का उपयोग भी कर रहा है)। मैंने सिस्टम को कैसे निष्क्रिय किया जाए और DNS को dnsmasq के साथ कैसे हल किया जाए, में चरणों का पालन किया ?

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