Відповіді:
Ви повинні мати можливість отримати розумну інформацію в:
$ cat /etc/resolv.conf
127.0.0.53
/etc/resolv.conf
буде вказувати на вашу машину, з dnsmasq
дозволу імен в конфігурації NetworkManager .
network-manager
пакет.
Я думаю, ви також можете запитувати 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
dnsutils
пакет.
SERVER: 127.0.0.53#53(127.0.0.53)
Вобще, 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
$ nslookup www.google.com
dnsutils
пакет.
nslookup google.com
у хості Windows і знайшов сервер імен. Додайте його /etc/resolv.conf
як: nameserver xx.xx.xx.xx
і перезапустіть сервіс network
, і все добре. Хвалимо вас.
У системах, на яких працює системне використання:
systemd-resolve --status
З новою 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
.
Error: invalid field 'ip4.dns'; allowed fields: NAME,UUID,TYPE,TIMESTAMP,TIMESTAMP-REAL,AUTOCONNECT,AUTOCONNECT-PRIORITY,READONLY,DBUS-PATH,ACTIVE,DEVICE,STATE,ACTIVE-PATH.
nmcli
було все, що мені було потрібно в ubuntu 19.04
щоб отримати перший 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)
grep -m 1
припиняє відповідати після першого матчу, тому вам не доведеться користуватисяhead
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
. Щойно записав групи зйомки з регулярним виразом grep perl
Якщо ви використовуєте мережевий менеджер, ймовірно, ви отримуєте всі параметри мережі з вашого dhcp-сервера у вашому університеті.
Якщо ви не хочете використовувати свою оболонку для перевірки налаштувань dns (як описано у колесі і Alexios), ви можете побачити їх на панелі "Інформація про мережу".
Ви можете дійти до цієї панелі, натиснувши праву кнопку миші на піктограмі мережевого менеджера та вибравши в меню "Інформація про з'єднання".
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
Для сумісності systemd-resolve
символічне посилання resolvectl
на багато дистрибутивів, як для Ubuntu 18.10:
$ 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
Команда
nmcli dev list iface <interfacename> | grep IP4
Замініть "ім'я інтерфейсу" на ваше.
іспит
nmcli dev list iface eth0 | grep IP4
Тут буде вказано список усіх DNS-серверів (якщо ви використовуєте більше одного).
nmcli dev list iface [devicename]
правильна команда
У мене є Fedora 25, а також було подібне повільне реагування в командному рядку на команди sudo.
nmcli dev show | grep DNS
показав, що лише один з 3 моїх адаптерів (два активних) мав записи DNS. Додавши записи DNS до однієї активної картки, на якій не було записано - presto! Все добре, і час реакції негайний.
У CentOS ви можете використовувати:
/usr/sbin/named -v
/etc/nsswitch.conf
диктує, які служби імен використовуються (DNS, LDAP тощо) та в якому порядку. Скажиfgrep hosts: /etc/nsswitch.conf
. Якщо він посилається лише на DNS,/etc/resolv.conf
це правильне місце для пошуку ваших серверів імен. Але ймовірно, що ви також використовуєте mDNS (він же ZeroConf, він же Avahi, aka Bonjour тощо) тощо. У цьому випадку все залежить від того, що ви використовуєте.