मेरे सिस्टम द्वारा उपयोग किए गए डीएनएस सर्वरों को सूचीबद्ध करने के लिए कमांड-लाइन

क्या मेरे सिस्टम द्वारा उपयोग किए जाने वाले डीएनएस सर्वरों को सूचीबद्ध करने का आदेश है?

मैंने कोशिश की

$ 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 OVERWRITTENnameserver 127.0.0.1$ cat /etc/network/interfaces # interfaces(5) file used by ifup(8) and ifdown(8)auto loiface lo inet loopback

लेकिन यह किसी भी सर्वर को सूचीबद्ध नहीं करता है, अगर मैं "नेटवर्क मैनेजर जीयूआई टूल" पर जाता हूं, तो वायरलेस सेक्शन में यह "डीएनएस 192.168.1.1 8.8.8.8 8.8.4.4" सूचीबद्ध करता है

क्या मुझे कमांड लाइन से समान जानकारी मिल सकती है?

मैं उबंटू 12.04 एलटीएस का उपयोग कर रहा हूं

resolv.जब तक आप इसे स्वयं लागू नहीं करते हैं, तब तक कॉन्फ वास्तव में उपयोग नहीं किया जाता है । नेटवर्क मैनेजर अब करता है । मैंने अपने सिस्टम पर डीएनएस सर्वर को सूचीबद्ध करने के लिए एक उपनाम बनाया, क्योंकि मैं कभी-कभी ओपनडीएन से गूगल के ओपन डीएनएस पर स्विच करता हूं ।

>उबंटू = 15

nmcli device show <interfacename> | grep IP4.DNS

उबंटू और लेफ्टिनेंट;= 14

nmcli dev list iface <interfacename> | grep IP4

मेरे मामले में, <interfacename> है eth0, जो आम है, लेकिन हमेशा मामला नहीं है ।

देखें कि क्या आप यही चाहते हैं ।

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

मुझे लगता है कि resolv.कॉन्फ वास्तव में अप्रत्यक्ष रूप से उपयोग किया जाता है, क्योंकि नेटवर्क प्रबंधक सर्वर बनाता है जो 127.0.0.1 पर सुनता है, लेकिन मुझे बताया गया था कि यह एक कार्यान्वयन विवरण है जिसे गिना नहीं जाना चाहिए । मुझे लगता है कि यदि आप इस प्रविष्टि से पहले डीएनएस पते दर्ज करते हैं, तो उनका उपयोग हो सकता है, लेकिन मुझे यकीन नहीं है कि यह कैसे काम करता है । मुझे लगता है कि ज्यादातर मामलों में नेटवर्क मैनेजर का उपयोग करना सबसे अच्छा है, जब संभव हो ।

उबंटू 18.04 और 20.04 में आप उपयोग कर सकते हैं systemd-resolve --status

यह उबंटू 13.10 और उससे पहले के लिए मान्य है । उबंटू 14.04 और इसके बाद के संस्करण के लिए, देखें कोआला येउंग का जवाब: कैसे पता चलेगा कि मैं 14.04 से उबंटू में क्या डीएनएस का उपयोग कर रहा हूं


उपयोग करें

nm-tool

आपको इसके समान आउटपुट मिलेगा

NetworkManager ToolState: connected (global)- Device: eth0  [Wired connection 1] -------------------------------------------  Type:              Wired  Driver:            e1000e  State:             connected  Default:           yes  HW Address:        00:11:22:33:44:55  Capabilities:    Carrier Detect:  yes    Speed:           1000 Mb/s  Wired Properties    Carrier:         on  IPv4 Settings:    Address:         10.21.6.13    Prefix:          24 (255.255.255.0)    Gateway:         10.21.6.1    DNS:             10.22.5.133    DNS:             10.22.5.3

या सिर्फ डीएनएस को देखने के लिए

nm-tool | grep DNS

दो शीर्ष स्कोरिंग जवाब, nmcli dev list iface <interfacename> | grep IP4 और nm-tool दोनों मानते हैं कि नेटवर्क-मैनेजर नियंत्रण में है । यह कौन सा है - डेस्कटॉप मशीनों पर ज्यादातर समय कम से कम । लेकिन फुलर जवाब यह है कि कभी-कभी नेटवर्क-मैनेजर नियंत्रण में नहीं होता है । जैसे । vpnc के साथ खिलवाड़ /etc/resolv.conf सीधे।

तो: पहले जांचें कि क्या 127.0.0.1/लोकलहोस्ट का उपयोग किया जाता है । इस के साथ किया जा सकता dig:

> dig something.unknown  | grep SERVER:;; SERVER: 127.0.0.1#53(127.0.0.1)

अब आप जानते हैं कि हम हैं लोकलहोस्ट का उपयोग करना । लोकप्रिय उत्तरों में से एक के साथ आगे बढ़ें । मुझे पसंद है:

> nm-tool | grep DNS:    DNS:             8.8.8.8

लेकिन अगर 127.0.0.1 / लोकलहोस्ट है नहीं इस्तेमाल किया, तो nm-toolकी और nmcli's आउटपुट भ्रामक हो जाएगा:

> dig something.unknown  | grep SERVER:;; SERVER: 172.22.216.251#53(172.22.216.251)> nm-tool | grep DNS:    DNS:             8.8.8.8

यहाँ, dig सही है और nm-tool's जानकारी भ्रामक है । वास्तव में मेरे द्वारा वीपीएन-एड किए गए वातावरण के स्थानीय पते सही ढंग से हल किए गए हैं । जो गूगल के डीएनएस के सभी 8.8.8.8 नहीं करता है के बारे में पता है ।

ऐसा इसलिए है क्योंकि वीपीएन से कनेक्ट होने के बाद vpnc, यह एक लाइन डालता है /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 OVERWRITTENnameserver 1.2.3.4nameserver 127.0.0.1search MyDomain

cat /etc/resolv.conf अपने डीएनएस सर्वर दिखाना चाहिए ।

आप संशोधित नहीं कर सकते resolv.conf के साथ सीधे Ubuntu के 12.04. यदि आपको उन्हें बदलने की आवश्यकता है, तो आप अपने में नए डीएनएस सर्वर जोड़ सकते हैं /etc/network/interfaces निम्नलिखित जोड़कर फ़ाइल:

 dns-nameservers x.x.x.x x.x.x.x

जहां x क्या डीएनएस सर्वर आप उपयोग करना चाहते हैं ।

अगर मैं तुम होते, तो मैं अनइंस्टॉल कर देता network-manager. मेरी राय में यह बकवास का ढेर है ।

आप अपनी सेटिंग्स को बदलने की चिंता किए बिना मैन्युअल रूप से जो कुछ भी करना है उसे पूरा कर सकते हैं, खासकर यदि आपके पास कंप्यूटर पर कई एनआईसी हैं ।

nmcli संस्करण 0.9.10

आप इनमें से किसी भी कमांड का उपयोग कर सकते हैं:

nmcli -t -f IP4.DNS device show eth0IP4.DNS[1]:192.168.1.1IP4.DNS[2]:8.8.8.8nmcli -t -f IP4.DNS connection show conn-nameIP4.DNS[1]:192.168.1.1IP4.DNS[2]:8.8.8.8

उबंटू 15.10 में आप डीएनएस प्राप्त कर सकते हैं

nmcli device show <interface name> 

कमाल है कि इसे करने के कितने तरीके हैं । उबंटू सर्वर 18.04 पर, यदि आप कुछ भी अतिरिक्त स्थापित नहीं करना चाहते हैं nm-tool, तब फिर systemd-resolve --status डीएनएस जानकारी के लिए बॉक्स से बाहर काम करेगा ।

यदि आप न केवल अपने डीएनएस सर्वर, बल्कि डिफ़ॉल्ट गेटवे, आईपी एड्रेस, नेटवर्क मास्क आदि प्राप्त करने में रुचि रखते हैं, तो netplan ip leases eth0 आपको वह सारी जानकारी आसानी से पढ़े जाने वाले फॉर्म में देगी (यह मानते हुए कि आप इसमें रुचि रखते हैं eth0 इंटरफ़ेस)।

सिस्टम पर जहां systemd-resolved स्थापित नहीं है :

$ host -v something.unknown | awk -F "[ #]" '/Received /{print$5}' | uniq192.168.1.1

सिस्टम पर जहां NetworkManager चल रहा है :

$ ( nmcli -f IP4.DNS,IP6.DNS dev list || nmcli -f IP4.DNS,IP6.DNS dev show ) 2>/dev/null | awk '/DNS/{print$NF}'192.168.1.1

उबंटू 20.04 पर

systemd-resolve --status | grep -B 9 -A 6 "Current DNS Server"

मुझे एक स्पष्ट परिणाम दिया कि डीएनएस का उपयोग करने वाले प्रत्येक एडेप्टर के लिए डीएनएस क्या उपयोग में था ।

Reconfigure करने के लिए DNS

man systemd-resolved

पता चलता है कि संपर्क किए गए डीएनएस सर्वर वैश्विक सेटिंग्स द्वारा निर्धारित किए जाते हैं /etc/systemd/resolved.conf.

सुडो उस फ़ाइल को संपादित करें और असम्बद्ध करें और सेट करें DNS= और FallbackDNS= आईपीवी 4 डीएनएस सर्वर के लिए आप चाहते हैं । उदाहरण के लिए, DNS=8.8.8.8 और FallbackDNS=8.8.4.4 उपयोग करेंगे गूगल सार्वजनिक DNS.परिवर्तन लागू करने के लिए मशीन को पुनरारंभ करें ।

@ पीएलए, इसके लिए धन्यवाद उत्तर जो मुझे इस रास्ते से नीचे ले गया ।

आप क्या खोजने की कोशिश कर रहे हैं? आपके सिस्टम द्वारा उपयोग किए जा रहे डीएनएस सर्वर? या आप डीएनएस लुकअप करने की कोशिश कर रहे हैं?

पूर्व @LordofTime

@ लॉर्डऑफटाइम डीएनएस सर्वर मेरे सिस्टम द्वारा उपयोग किया जा रहा है

आप 127.0.0.1 का उपयोग कर रहे हैं । आप कर रहे हैं चल एक DNS सर्वर?

देखें networking - What DNS servers am I using? - Unix & Linux Stack Exchange इस प्रश्न के गैर-उबंटू संस्करण के लिए