මම භාවිතා කරන්නේ කුමන DNS සේවාදායකයන්ද?


277

(ලිනක්ස් වලින්) මා භාවිතා කරන්නේ කුමන ඩීඑන්එස් සේවාදායකයදැයි පරීක්ෂා කරන්නේ කෙසේද? මම ජාල කළමනාකරු සහ මගේ විශ්ව විද්‍යාලයේ LAN වෙත වයර් සම්බන්ධතාවයක් භාවිතා කරමි. (මගේ වසම නිරාකරණය නොවන්නේ මන්දැයි සොයා ගැනීමට මම උත්සාහ කරමි)

Answers:


234

ඔබට සාධාරණ තොරතුරු ලබා ගැනීමට හැකි විය යුතුය:

$ cat /etc/resolv.conf 

29
කෙසේ වෙතත්, (නූතන ලිනක්සෙන් මත) අන්තර්ගතයන් /etc/nsswitch.confභාවිතා කරන්නේ කුමන නාම සේවාවන් (DNS, LDAP, ආදිය) සහ කුමන අනුපිළිවෙලටද යන්න නියම කරන බව කරුණාවෙන් සලකන්න . කියන්න fgrep hosts: /etc/nsswitch.conf. එය යොමු කරන්නේ DNS නම්, /etc/resolv.confඔබගේ නාම සේවාදායකයන් සෙවීමට සුදුසුම ස්ථානය එයයි. නමුත් ඔබ mDNS (aka ZeroConf, aka Avahi, aka Bonjour, ආදිය) භාවිතා කිරීමට ඇති ඉඩ ප්‍රස්ථා යනාදියයි. එවැනි අවස්ථාවකදී, ඔබ භාවිතා කරන දේ මත දේවල් රඳා පවතී.
ඇලෙක්සියෝස්

44
මෙම ගොනුව සාමාන්‍යයෙන් උබුන්ටු හි 127.0.1.1 ලෙස දක්වයි - එය දේශීය ඩීඑන්එස් හැඹිලි සේවාදායකය මිස සැබෑ උඩු මහල නොවේ.
බැරී කෙලී

2
ArBarryKelly ඔබේ රවුටරය භාවිතා කරන්නේ කුමක් දැයි පරීක්ෂා කරන්න, එවිට
ජෙරමියා

3
ඔබ සතුව උඩුමහලේ සේවාදායක කිහිපයක් වින්‍යාස කර තිබේ නම්? දැනට භාවිතා කරන්නේ කුමක්දැයි දැන ගන්නේ කෙසේද?
සිල්වෙන් ලෙරෝක්ස්

4
විවිධ තත්වයන් යටතේ වඩාත් ශක්තිමත් ප්‍රවේශයක් සඳහා @ G32RW හෝ onn ලොනීබිස්ගේ පිළිතුරු බලන්න, උදා: ඔබට පිළිතුරක් ලැබුණු විට127.0.0.53
nealmcb

231

මෙන්න මම එය කරන ආකාරය:

( nmcli dev list || nmcli dev show ) 2>/dev/null | grep DNS

මෙය ඉහත ක්‍රමයට පෙර ක්‍රියාත්මක විය:

nm-tool | grep DNS

ඩේබියන් හි, ඔබට ජාල කළමනාකරු පැකේජය ස්ථාපනය කර තිබිය යුතුය.


16
ඔබ VPN සහ NetworkManager භාවිතා කරන්නේ නම් මෙය ප්‍රයෝජනවත් වේ. ඔබගේ /etc/resolv.confසමග, ඔබේ පරිගණකය වෙත යොමු වනු dnsmasqමානකරනු ලෙස නම් විසඳීම NetworkManager .
ග්‍රෙස්ගෝර්ස්

7
ඩේබියන් සඳහා මේ සඳහා network-managerපැකේජය අවශ්‍ය වේ .
ස්නායු සම්ප්‍රේෂකය

2
නව ලිනක්ස් වල nm- මෙවලම නොමැත. උදාහරණයක් ලෙස එය ඩෙබියන් 8 හි 'ජාල-කළමනාකරු' පැකේජයේ නොමැත.
දීප්තිමත්

2
2016 දී මා වෙනුවෙන් වැඩ කරන්නේ කුමක්ද යන්න පිළිබිඹු කිරීම සඳහා මම පිළිතුර යාවත්කාලීන කර ඇත.
Lonniebiz

3
මෙය හොඳම පිළිතුරයි, resolutionve.conf සෑම විටම සත්‍යය
බ්ලේඩ්

80

මම හිතන්නේ ඔබට DNS ද විමසිය හැකි අතර එමඟින් ප්‍රති server ලය ලබා දුන් සේවාදායකය කුමක්දැයි පෙන්වයි. මේක උත්සාහ කරන්න:

dig yourserver.somedomain.xyz

ප්‍රති the ලය මඟින් ලබා දුන් සේවාදායකය (සේවාදායකයින්) කුමන ප්‍රතිචාරයෙන් ඔබට පැවසිය යුතුය. ඔබ උනන්දුවක් දක්වන ප්‍රතිදානය මේ වගේ දෙයක් වනු ඇත:

;; 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


9
ඩේබියන් සඳහා මේ සඳහා dnsutilsපැකේජය අවශ්‍ය වේ .
ෆහීම් මිත

7
ඔබේ දේශීය යන්ත්‍රය තුළ ක්‍රියාත්මක වන DNS ආවරණ / හැඹිලි සේවාවක් ඔබ භාවිතා කරන්නේ නම්, එය සැබෑ DNS සේවාදායකයන් සඟවනු ඇත.
karatedog

5
උබුන්ටු 18.04 මඟින් දේශීය dns හැඹිලිය පෙන්වයි:SERVER: 127.0.0.53#53(127.0.0.53)
wisbucky

74

Systemd භාවිතය ක්‍රියාත්මක වන පද්ධති මත:

systemd-resolve --status

6
systemd-resolutionve: හඳුනා නොගත් විකල්පය '--status'
Acumenus

ABABB පද්ධතිය? systemd අනුවාදය?
G32RW

1
පවසයිFailed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.
xji

13
උබුන්ටු 18.04 බයෝනික් බීවර් හි එය කිරීමට නව පෙරනිමි ක්‍රමය මෙයයි - පුරුදු වන්න, හැමෝම!
AveryFreeman

6
මා වෙනුවෙන් වැඩ කළ එකම විසඳුම මෙයයි, අනෙක් අය ආපසු 127.0.0.53
ග්‍රීස්

59

කරන්න , nslookup. එහි ප්‍රති results ල වලින් කොටසක් එය භාවිතා කරන සේවාදායකය ඇතුළත් වේ.

පහත උදාහරණයේ, එය භාවිතා කරන්නේ 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
විමසුමට ඇතුළත් කළ යුතු දේ පිළිබඳ උදාහරණයක් ඔබට දිය හැකිද?
chovy

උදාහරණය: $ nslookup www.google.com
රෙන්

8
ඩේබියන් සඳහා මේ සඳහා dnsutilsපැකේජය අවශ්‍ය වේ .
ගයාන් වීරකුට්ටි

7
මෑත උබුන්ටු හි, මෙය නැවත වරක් දේශීය හැඹිලි සේවාදායකය වෙත යොමු කරයි 127.0.0.1 මෙම
විවරණයේ

CentOS 7 හි එය දෝෂ සහිතව ඉවත් වේ, නමුත් එය vm එකක් බැවින් මම nslookup google.comවින්ඩෝස් ධාරකයේ කළ අතර මට නාම සේවාදායකය හමු විය. එය ඒ ආකාරයෙන්ම එක් කරන්න /etc/resolv.conf: nameserver xx.xx.xx.xxසහ සේවාව නැවත ආරම්භ කරන්න network, එවිට සියල්ල හොඳයි. ඔබට ප්‍රශංසා කරන්න.
වෙස්ටර්න්ගුන්

14

නව network-managerවිධානය සමඟ nmcli, මෙය කරන්න:

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

ජාල කළමණාකරුගේ නවතම අනුවාද වල (උබුන්ටු 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 සමඟ එය මට හොඳින් ක්‍රියාත්මක වේ. සමහර විට ඔබට පැරණි අනුවාදයක් තිබේද?
සමීර්

වගු ආකෘතිය තරමක් නරක ය. පවර්ෂෙල් හා සමාන ආකෘතියක් වැනි තීරුවක් ලබා ගැනීමට මම බලාපොරොත්තු වෙමි.
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මම උබුන්ටු 19,04 මත අවශ්ය සියලුම විය
ජෝන් මී

9

පළමු DNS සේවාදායකය ලබා ගැනීමට (IP පමණි):

cat /etc/resolv.conf |grep -i '^nameserver'|head -n1|cut -d ' ' -f2
  • cat DNS වින්‍යාසය ප්‍රතිදානය කරයි
  • grep පෙරහන් නාම සේවාදායකය පමණි
  • head පළමු පේළිය / අවස්ථාව පමණක් තබා ගනී
  • cut පේළියේ ip කොටස ගන්න (දෙවන තීරුව '' සමඟ බෙදුම්කරු ලෙස)

පරිසර විචල්‍යයකට DNS ip දැමීමට, ඔබට පහත පරිදි භාවිතා කළ හැකිය:

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

2
grep -m 1පළමු තරඟයෙන් පසුව ගැලපීම නවත්වන බැවින් ඔබට භාවිතා කිරීමට අවශ්‍ය නැතhead
ෂෝව

නල මාර්ගය ඊටත් වඩා සැහැල්ලු කිරීම සඳහා, පර්ල් රීජෙක්ස්ප් සමඟ කණ්ඩායම් අල්ලා ගැනීම ඉතා පිළිවෙලට ඇති අතර grep ගොනු තර්කයක් ගනී : grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf.
ග්‍රෙප්

IPv4 සහ IPv6 DNS සේවාදායක දෙකම ඇත. එසේම, ද්විතීයික සේවාදායකයන් පවතින්නේ හේතුවක් සඳහා ය. මෙම විධානය නැවත ලබා දෙන්නේ කුමන එකද? පළමුවැන්න රැගෙන අනෙක් අය නොසලකා හැරීමට උපදෙස් දී තිබේද?
ඇන්ඩ්‍රේ වර්ලාන්ග්

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]නිවැරදි විධානය වේ
සෙබික්ස්

මම භාවිතා කරන බැවින් <interface> සැඟවී ඇති බව මා දැක නැත <>
Maythux

1
ඩෙබියන් හි මට දෝෂයක් ඇත --- $ nmcli dev list iface eth0 දෝෂය: 'dev' command 'list' වලංගු නොවේ.
දීප්තිමත්

nmcli යනු RH විශේෂිත විධානයකි.
රූයි එෆ් රිබීරෝ

මෙය නිවැරදි පිළිතුරයි!
VAdaihiep

3

මට ෆෙඩෝරා 25 ඇති අතර සුඩෝ විධාන වලට විධාන රේඛාවේද මන්දගාමී ප්‍රතිචාරයක් ඇත.

nmcli dev show | grep DNS 

මගේ ඇඩැප්ටර 3 න් එකක් (සක්‍රීය දෙකක්) පමණක් ඩීඑන්එස් ඇතුළත් කිරීම් ඇති බව පෙන්නුම් කළේය. ප්‍රවේශයක් නොමැති එක් ක්‍රියාකාරී කාඩ්පතකට DNS ඇතුළත් කිරීම් එකතු කිරීමෙන් - presto! සියල්ල හොඳයි, ප්‍රතිචාර කාලය ක්ෂණිකයි.


සමහර විට විකල්පයක් ලෙස
ආමොස් ෆෝලරින්


0

ඔබ ඔබේ ඩීඑන්එස් සොයා ගත්තා යැයි සිතූ පසු, ඔබට එය කෙලින්ම කැණීම් වලින් විමසිය හැකිය : dig @<dns ip> <host to lookup>. එය වැඩ කරයි නම්, ඔබ පසුව එය දැකීමට යුතු SERVERක තත්ත්වය සමග NOERROR.


0

මගේ අණ:

( \nmcli dev list || \nmcli dev show ) 2>/dev/null | grep DNS || egrep -v '^(#|$)' /etc/resolv.conf
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.