Ответы:
Вы должны быть в состоянии получить некоторую разумную информацию в:
$ cat /etc/resolv.conf
127.0.0.53
Вот как я это делаю:
nmcli dev show | grep DNS
Это сработало ранее, как описано выше:
nm-tool | grep DNS
/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 используйте:
systemd-resolve --status
С новой network-manager
командой nmcli
сделайте это:
nmcli --fields ipv4.dns,ipv6.dns con show <connection_name>
В более новых версиях Network-Manager (например, в 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
будет выводить конфиг DNSgrep
фильтрует только nameserverhead
сохранит только первый ряд / экземпляр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 (как описано в hesse и 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
После того, как вы думаете , что вы нашли свой DNS, вы можете запросить его непосредственно рыть: dig @<dns ip> <host to lookup>
. Если это работает, вы должны увидеть его SERVER
со статусом NOERROR
.
/etc/nsswitch.conf
определяет, какие службы имен используются (DNS, LDAP и т. Д.) И в каком порядке. Скажиfgrep hosts: /etc/nsswitch.conf
. Если он ссылается только на DNS,/etc/resolv.conf
это правильное место для поиска ваших серверов имен. Но есть вероятность, что вы также используете mDNS (он же ZeroConf, он же Avahi, он же Bonjour и т. Д.) И т. Д. В этом случае все зависит от того, что вы используете.