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


253

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

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

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

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

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

मैं Ubuntu 12.04 LTS का उपयोग कर रहा हूं


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

पूर्व @LordofTime
ish

मेरे सिस्टम द्वारा @LordofTime DNS सर्वर का उपयोग किया जा रहा है
अनुराग उनियाल

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

इस प्रश्न के गैर-उबंटू संस्करण के लिए unix.stackexchange.com/q/28941/38647 देखें
mwfearnley

जवाबों:


250

resolv.conf का उपयोग वास्तव में अब नहीं किया जाता है, जब तक कि आप इसे स्वयं लागू नहीं करते हैं। नेटवर्क प्रबंधक अब इसे करता है। मैंने अपने सिस्टम पर DNS सर्वरों को सूचीबद्ध करने के लिए एक उपनाम बनाया, जैसा कि मैं कभी-कभी OpenDNS से ​​Google के खुले DNS में स्विच करता हूं।

उबंटू> = 15

nmcli device show <interfacename> | grep IP4.DNS

उबंटू <= 14

nmcli dev list iface <interfacename> | grep IP4

मेरे मामले <interfacename>में eth0, जो कि सामान्य है, लेकिन हमेशा ऐसा नहीं होता है।

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

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

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


2
धन्यवाद, हाँ जो काम करने लगता है, उबंटू नेटवर्किंग भ्रमित करने वाली लगती है, इसलिए मैं रिज़ॉल्यूशन में डेटा सर्वर सेट कर सकता हूं।
अनुराग उनियाल

यदि आप GUI का उपयोग करते हैं, तो इसे सेट करने के लिए सबसे अच्छी जगह नेटवर्क कनेक्शन डायलॉग में प्रोफाइल बनाकर है। मैंने डिफ़ॉल्ट को डुप्लिकेट किया, फिर मुझे जो बदलाव चाहिए था उसे बनाने के लिए डुप्लिकेट को संपादित किया, डिफ़ॉल्ट को यह सुनिश्चित करने के लिए रखा कि मेरे पास हमेशा एक काम करने वाला प्रोफ़ाइल था। फिर, प्रोफाइल स्विच करना आसान है। मुझे यह पता नहीं है कि GUI के बिना यह कैसे किया जा सकता है, लेकिन एक उपयोगकर्ता "जेम्स हेनस्ट्रिज" है जो उबंटू के नेटवर्किंग पर बहुत जानकार है; आप उसकी जानकारी के लिए Askubuntu खोज करने की कोशिश कर सकते हैं। उन्होंने मुझे इस पोस्ट में आपको दी गई कमांड के बारे में बताया ।
मार्टी फ्राइड

1
stgraber.org/2012/02/24/dns-in-ubuntu-12-04 ubuntu 12.04 में एक अच्छा लेख डीएनएस संकल्प है
अनुराग उनियाल

6
मैं 15.04 और 'nmcli dev show | grep DNS' का उपयोग कर रहा हूं।
झिलमिलाहट

1
@vcardillo: मूल प्रश्न में कहा गया है: "मैं Ubuntu 12.04 LTS का उपयोग कर रहा हूं"। मुझे अपना उत्तर पोस्ट किए 5 साल हो गए हैं। कुछ भी हमेशा के लिए नहीं रहता।
मार्टी फ्राइड

85

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


उपयोग

nm-tool

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

NetworkManager Tool

State: 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

1
बस जोड़ना चाहता था, nm-appletकनेक्शन जानकारी मेनू पर जाकर भी काम करेगा :)
Samik

1
+1 यह भी काम करता है, जैसा कि @Marty फ्राइड द्वारा उत्तर दिया गया nm-cli
अनुराग उनियाल

2
लुबंटू 14.04 पर भी बढ़िया काम करता है। धन्यवाद
jamescampbell

2
एनएम-उपकरण 15.10 पर नहीं मिला है
भूलभुलैया

1
हाँ, यह अब और काम नहीं करता ... nm-tool16.x में भी नहीं। nmcli(मार्टी फ्राइड के जवाब में) जाने का रास्ता है
लैम्बर्ट

46

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

तो: पहले जांचें कि क्या 127.0.0.1/localhost का उपयोग किया गया है। इसके साथ किया जा सकता है 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/localhost है नहीं इस्तेमाल किया है, तो nm-toolके और nmcliके उत्पादन भ्रामक हो जाएगा:

> 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जानकारी भ्रामक है। हकीकत में स्थानीय वातावरण में वीपीएन-ईडी को सही तरीके से हल किया गया है। जिसके बारे में Google के DNS 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 OVERWRITTEN
nameserver 1.2.3.4
nameserver 127.0.0.1
search MyDomain

3
यह सबसे पूरा जवाब है
Marinos An

धन्यवाद। हम में से कुछ यहाँ NM का उपयोग नहीं करते हैं और यह समुदाय के लिए अच्छा है।
स्टीफन बोस्टन

बस पूरा करने के लिए, digउपयोगिता आसानी से स्थापित की जा सकती है apt install dnsutils
डेनियल ब्रुगनरा

32

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

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

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

xDNS सर्वर आप कहां उपयोग करना चाहते हैं।

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

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


2
क्या मुझे डीएनएस बदलने के बाद एनएम को पुनः आरंभ करना होगा?
भार्गव नेनकलेवा

1
--धन्यवाद। यह भी खूब रही। यह उस नेटवर्क-प्रबंधक व्यवसाय के बिना भी काम करता है।
एडम

"cat /etc/resolv.conf को अपना DNS सर्वर दिखाना चाहिए"। यह नहीं है
Marinos An

25

Ubuntu 18.04 में आप उपयोग कर सकते हैं systemd-resolve --status


NB यदि आप cat /etc/resolv.conf करते हैं तो यह भी यही कहता है
Rqomey

11

nmcli संस्करण 0.9.10

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

nmcli -t -f IP4.DNS device show eth0
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8

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


0

नेटवर्क प्रबंधक द्वारा प्रबंधित किया जाता है। यहाँ एक नज़र है http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.confin.html

एक बड़ी व्याख्या के लिए।

या यह देखने के लिए लघु संस्करण

 /etc/NetworkManager/NetworkManager.conf

या

 <SYSCONFDIR>/NetworkManager/NetworkManager.conf

4
लेकिन /etc/NetworkManager/NetworkManager.confइसमें कोई डीएनएस सर्वर सूचीबद्ध नहीं है
अनुराग उनियाल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.