Как я могу проверить, какой DNS-сервер я использую (в Linux)? Я использую сетевой менеджер и проводное соединение с локальной сетью моего университета. (Я пытаюсь выяснить, почему мой домен не разрешен)
networking
dns
Grzenio
источник
источник
/etc/nsswitch.conf
определяет, какие службы имен используются (DNS, LDAP и т. Д.) И в каком порядке. Скажиfgrep hosts: /etc/nsswitch.conf
. Если он ссылается только на DNS,/etc/resolv.conf
это правильное место для поиска ваших серверов имен. Но есть вероятность, что вы также используете mDNS (он же ZeroConf, он же Avahi, он же Bonjour и т. Д.) И т. Д. В этом случае все зависит от того, что вы используете.127.0.0.53
Вот как я это делаю:
Это сработало ранее, как описано выше:
источник
/etc/resolv.conf
на свой компьютер сdnsmasq
разрешением имен в соответствии с настройками NetworkManager .network-manager
пакет.Я думаю, что вы также можете запросить DNS, и он покажет вам, какой сервер вернул результат. Попробуй это:
И в ответе должно быть указано, какие серверы вернули результат. Интересующий вас вывод будет выглядеть примерно так:
Вы также можете указать
dig
запросить определенный DNS-сервер с помощьюdig @server_ip
источник
dnsutils
пакет.SERVER: 127.0.0.53#53(127.0.0.53)
Просто сделай
nslookup
. Часть его результатов включает сервер, который он использует.В приведенном ниже примере показано, что используется DNS-сервер по адресу 8.8.8.8.
источник
$ nslookup www.google.com
dnsutils
пакет.nslookup google.com
на хосте Windows, и я нашел сервер имен. Добавьте это/etc/resolv.conf
как:nameserver xx.xx.xx.xx
и перезапустите сервисnetwork
, и все в порядке. Хвала вам.В системах под управлением systemd используйте:
источник
С новой
network-manager
командойnmcli
сделайте это:В более новых версиях Network-Manager (например, в Ubuntu 16.04) имена полей немного отличаются:
Если вы не знаете имя подключения, используйте:
Например:
источник
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
будет выводить конфиг DNSgrep
фильтрует только nameserverhead
сохранит только первый ряд / экземплярcut
возьмите часть строки ip (второй столбец с разделителем '')Чтобы поместить DNS ip в переменную окружения, вы можете использовать следующее:
источник
grep -m 1
останавливает сопоставление после первого матча, поэтому вам не нужно использоватьhead
grep -Pom 1 '^nameserver \K\S+' /etc/resolv.conf
. Только что написал группы захвата с регулярным выражением grep perlЕсли вы используете сетевой менеджер, возможно, вы получите все сетевые параметры с вашего DHCP-сервера в вашем университете.
Если вы не хотите использовать свою оболочку для проверки настроек DNS (как описано в hesse и Alexios), вы можете увидеть их на панели «Информация о сети».
Вы можете получить доступ к этой панели, нажав правую кнопку мыши на значке диспетчера сети и выбрав «Информация о соединении» в меню.
источник
С помощью
resolvectl
Для совместимости
systemd-resolve
это символическая ссылкаresolvectl
на многие дистрибутивы, как для Ubuntu 18.10:источник
Команда
Замените «имя интерфейса» на ваше.
базы подписки
Это будет список всех DNS-серверов (если вы используете более одного).
источник
nmcli dev list iface [devicename]
это правильная командаУ меня Fedora 25, а также медленный ответ в командной строке, аналогичный командам sudo.
показал, что только один из 3 моих адаптеров (два активных) имеют записи DNS. Добавляя записи DNS к одной активной карте, у которой не было записи - presto! Все хорошо, и время отклика незамедлительно.
источник
В CentOS вы можете использовать:
источник
После того, как вы думаете , что вы нашли свой DNS, вы можете запросить его непосредственно рыть:
dig @<dns ip> <host to lookup>
. Если это работает, вы должны увидеть егоSERVER
со статусомNOERROR
.источник