मैं किस DNS सर्वर का उपयोग कर रहा हूं?


247

मैं (लिनक्स में) किस डीएनएस सर्वर का उपयोग कर सकता हूं? मैं नेटवर्क प्रबंधक और मेरे विश्वविद्यालय के LAN के लिए एक वायर्ड कनेक्शन का उपयोग कर रहा हूं। (मैं यह जानने की कोशिश कर रहा हूं कि मेरे डोमेन का समाधान क्यों नहीं हुआ)

जवाबों:


206

आपको कुछ उचित जानकारी प्राप्त करने में सक्षम होना चाहिए:

$ cat /etc/resolv.conf 

26
हालाँकि, कृपया इस बात से अवगत रहें कि (आधुनिक लिनक्सन पर) /etc/nsswitch.confडिक्टेट की सामग्री क्या नाम सेवाओं (DNS, LDAP, आदि) और किस क्रम में उपयोग की जाती है। कहते हैं fgrep hosts: /etc/nsswitch.conf। यदि यह केवल DNS का संदर्भ देता है, /etc/resolv.confतो अपने नेमवेर्स को देखने के लिए सही जगह है। लेकिन संभावना है कि आप mDNS (उर्फ जीरोकोनफ, उर्फ ​​अवही, उर्फ ​​बोनजोर, आदि) आदि का उपयोग कर रहे हैं। उस स्थिति में, चीजें इस बात पर निर्भर करती हैं कि आप क्या उपयोग कर रहे हैं।
एलेक्सियोस

27
यह फ़ाइल आमतौर पर Ubuntu.0 पर 127.0.1.1 पर इंगित करती है - यह स्थानीय DNS कैश सर्वर है, न कि वास्तविक अपस्ट्रीम।
बैरी केली

2
@BarryKelly चेक करें कि आपका राउटर क्या उपयोग करता है,
जेरमिया

2
और अगर आपके पास कई अपस्ट्रीम सर्वर कॉन्फ़िगर है? कैसे पता करें कि वर्तमान में कौन सा उपयोग किया जाता है?
सिल्वेन लेरौक्स

4
विभिन्न परिस्थितियों में अधिक मजबूत दृष्टिकोण के लिए @ G32RW या @ लोनीबिज द्वारा जवाब देखें, जैसे जब आपको उत्तर मिलता है जैसे127.0.0.53
nealmcb

192

यहां बताया गया है कि मैं यह कैसे करता हूं:

nmcli dev show | grep DNS

यह ऊपर दिए गए तरीके से काम करता है:

nm-tool | grep DNS

14
यदि आप वीपीएन और नेटवर्क मैनेजर का उपयोग कर रहे हैं तो यह उपयोगी है । आपका /etc/resolv.conf, आपकी मशीन को इंगित करेगा साथ dnsmasqद्वारा विन्यस्त जैसे नामों को हल करने NetworkManager
ग्रेजेगॉर Mayur

6
डेबियन पर यह network-managerपैकेज की आवश्यकता है ।
ट्रांसलुकेंटक्लाउड

2
एनएम-टूल नए लिनेक्स में उपलब्ध नहीं है। उदाहरण के लिए यह डेबियन 8. की 'नेटवर्क-प्रबंधक' पैकेज में नहीं है
उज्ज्वल डॉन

2
मैं प्रतिबिंबित करने के लिए क्या में 2016 मेरे लिए काम कर रहा है इस सवाल का जवाब नवीनीकृत किया है
Lonniebiz

3
यह सबसे अच्छा उत्तर है, संकल्प करें। हमेशा सच को न दिखाएं
ब्लेड

71

मुझे लगता है कि आप DNS को भी क्वेरी कर सकते हैं और यह आपको दिखाएगा कि किस सर्वर ने परिणाम लौटाया। इसे इस्तेमाल करे:

dig yourserver.somedomain.xyz

और प्रतिक्रिया में आपको यह बताना चाहिए कि किस सर्वर ने परिणाम लौटाया। उत्पादन में आपकी रुचि कुछ इस तरह दिखाई देगी:

;; Query time: 91 msec
;; SERVER: 172.xxx.xxx.xxx#53(172.xxx.xxx.xxx)
;; WHEN: Tue Apr 02 09:03:41 EDT 2019
;; MSG SIZE  rcvd: 207

आप digकिसी विशिष्ट DNS सर्वर का उपयोग करके क्वेरी करना भी बता सकते हैंdig @server_ip


8
डेबियन पर इसे dnsutilsपैकेज की आवश्यकता होती है ।
फहीम मीठा

6
यदि आप अपने स्थानीय मशीन पर चलने वाली किसी भी DNS मास्किंग / कैशिंग सेवा का उपयोग करते हैं, तो यह वास्तविक DNS सर्वरों को छिपा देगा।
कराटेग

3
उबंटू 18.04 सिर्फ स्थानीय डीएनएस कैश दिखाता है:SERVER: 127.0.0.53#53(127.0.0.53)
बुद्धिमानी

57

बस एक करो nslookup। इसके परिणामों के भाग में वह सर्वर शामिल है जिसका वह उपयोग कर रहा है।

नीचे दिए गए उदाहरण में, यह दर्शाता है कि DNS सर्वर का उपयोग 8.8.8.8 पर है।

$ nslookup google.com
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   google.com
Address: 172.217.22.174

1
क्या आप प्रॉम्प्ट में दर्ज करने का एक उदाहरण दे सकते हैं?
चॉवि

उदाहरण: $ nslookup www.google.com
Ren

7
डेबियन पर इसे dnsutilsपैकेज की आवश्यकता होती है ।
गायन वीरकुट्टी

5
हाल ही में उबंटू पर, यह फिर से स्थानीय कैश सर्वर 127.0.0.1 को इंगित करता है जैसा कि इस टिप्पणी
फ्रेंडएफएक्स

CentOS 7 में यह त्रुटि के साथ आता है, लेकिन यह एक vm है इसलिए मैंने nslookup google.comविंडोज होस्ट में किया था और मुझे नेमसर्वर मिला। इसे इस /etc/resolv.confतरह जोड़ें : nameserver xx.xx.xx.xxऔर सेवा पुनरारंभ करें network, और सब ठीक है। आपकी प्रशंसा करता हुँ।
पश्चिमीगंज

54

सिस्टम का उपयोग करने वाले सिस्टम पर:

systemd-resolve --status

3
systemd-resolution: अपरिचित विकल्प '--status'
Acumenus

@ABB प्रणाली? सिस्टम संस्करण?
G32RW

229-4ubuntu21.2
एक्यूमेनस

10
यह उबंटू 18.04 बायोनिक बीवर में करने के लिए नया डिफ़ॉल्ट तरीका है - इसकी आदत डालें, हर कोई!
averyFreeman

4
यह एकमात्र समाधान है जिसने मेरे लिए काम किया, क्योंकि अन्य ने 127.0.0.53 लौटाया
greuze

13

नए network-managerआदेश के साथ nmcli, यह करें:

nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>

नेटवर्क-प्रबंधक के नए संस्करणों पर (जैसे कि Ubuntu 16.04 में), क्षेत्र के नाम थोड़े अलग हैं:

nmcli --fields ip4.dns,ip6.dns con show <connection_name>

यदि आपको कनेक्शन का नाम नहीं पता है, तो उपयोग करें:

nmcli -t --fields NAME con show --active

उदाहरण के लिए:

$ nmcli --fields ip4.dns,ip6.dns con show 'Wired connection 1'
IP4.DNS[1]:                             172.21.0.13
IP4.DNS[2]:                             172.21.0.4

मेरे परिणाम: order «con» «show» is not valid
शोपाजो डी एरियेरेज़

यह उबंटू 15.10 पर नेटवर्क-मैनेजर 1.0.4 के साथ मेरे लिए ठीक काम करता है। शायद आपके पास एक पुराना संस्करण है?
समीर

सारणीबद्ध प्रारूप बहुत बुरा है। मुझे Powershell के समान प्रारूप जैसा एक कॉलम मिलने की उम्मीद है।
CMCDragonkai

1
रिटर्नError: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
FriendFX

बस nmcliसब मुझे ubuntu 19.04 पर जरूरत थी
जॉन Mee

9

पहला DNS सर्वर पाने के लिए (केवल IP):

cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
  • cat DNS कॉन्फिगर करेगा आउटपुट
  • grep केवल नाम फ़िल्टर करता है
  • head केवल पहली पंक्ति / उदाहरण रखेगा
  • cut पंक्ति का आईपी हिस्सा लें (विभाजक के रूप में '' के साथ दूसरा कॉलम)

एक पर्यावरण चर में DNS आईपी डालने के लिए, आप निम्नानुसार उपयोग कर सकते हैं:

export THEDNSSERVER=$(cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2)

2
grep -m 1पहले मैच के बाद मिलान ताकि आप उपयोग करने के लिए की जरूरत नहीं है बंद हो जाता हैhead
sshow

पाइप लाइन और भी हल्का करने के लिए, पर्ल regexp साथ कैप्चर समूहों बहुत साफ है, और ग्रेप एक फ़ाइल तर्क लेता है: grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf। बस grep perl नियमित अभिव्यक्ति के साथ कैप्चर समूहों को
sshow

8

यदि आप नेटवर्क प्रबंधक का उपयोग कर रहे हैं, तो संभवत: आपको अपने dhcp सर्वर से सभी नेटवर्क पैरामीटर अपने विश्वविद्यालय में प्राप्त होंगे।

यदि आप अपने डीएनएस सेटिंग्स (जैसे हेस्से और एलेक्सिओस द्वारा वर्णित) की जांच करने के लिए अपने शेल का उपयोग नहीं करना चाहते हैं, तो आप उन्हें पैनल से "नेटवर्क जानकारी" देख सकते हैं।

आप नेटवर्क प्रबंधक आइकन पर राइट माउस बटन दबाकर और मेनू से "कनेक्शन सूचना" का चयन करके इस पैनल तक पहुंच सकते हैं।


5

का उपयोग करते हुए resolvectl

$ resolvectl status | grep -1 'DNS Server'
    DNSSEC supported: no
  Current DNS Server: 1.1.1.1
         DNS Servers: 1.1.1.1
                      1.0.0.1

अनुकूलता के लिए, उबंटू 18.10 के रूप में कई विकृतियों पर systemd-resolveएक प्रतीकात्मक लिंक है resolvectl:

$ type -a systemd-resolve
systemd-resolve is /usr/bin/systemd-resolve

$ ll /usr/bin/systemd-resolve
lrwxrwxrwx 1 root root 10 nov.  15 21:42 /usr/bin/systemd-resolve -> resolvectl

$ type -a resolvectl
resolvectl is /usr/bin/resolvectl

$ file /usr/bin/resolvectl
/usr/bin/resolvectl: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=09e488e849e3b988dd2ac93b024bbba18bb71814, stripped

उबंटू 18.10 पर सही काम करता है।
जॉर्ज स्टॉयनोव

3

आदेश

 nmcli dev list iface <interfacename> | grep IP4

"इंटरफेनेम" को अपने साथ बदलें।

examlpe

 nmcli dev list iface eth0 | grep IP4

यह सभी DNS सर्वरों की सूची देगा (यदि आप एक से अधिक का उपयोग करते हैं)।


nmcli dev list iface [devicename]सही आदेश है
sebix

मैंने ध्यान नहीं दिया है <इंटरफ़ेस> मैं उपयोग करने के बाद से छिपा हुआ है <>
Maythux

1
डेबियन पर मुझे एक त्रुटि मिलती है --- $ nmcli देव सूची iface eth0 त्रुटि: 'देव' कमांड 'सूची' मान्य नहीं है।
उज्ज्वल

nmcli एक आरएच विशिष्ट कमांड है।
रुई एफ रिबेरो

यह सही उत्तर है!
VAdaihiep

3

मेरे पास फेडोरा 25 है और सूडो कमांडों को कमांड लाइन पर भी इसी तरह की धीमी प्रतिक्रिया मिली।

nmcli dev show | grep DNS 

दिखाया कि मेरे 3 एडेप्टर में से केवल एक (दो सक्रिय) में डीएनएस प्रविष्टियाँ थीं। DNS एंट्रीज़ को एक सक्रिय कार्ड में जोड़कर जिसमें एंट्री नहीं है - presto! सब अच्छा है और प्रतिक्रिया समय तत्काल है।


शायद वैकल्पिक रूप से
अमोस फोलारिन


0

एक बार जब आपको लगता है कि आपने अपने डीएनएस को पाया, तो आप इसे सीधे खुदाई के साथ क्वेरी कर सकते हैं dig @<dns ip> <host to lookup>:। यदि यह काम करता है, तो आपको इसे SERVERस्थिति के साथ देखना चाहिए NOERROR

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