Есть ли команда для отображения DNS-серверов, используемых моей системой?
Я пытался
$ cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1
$ cat /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Но это не перечисляет никаких серверов, если я иду к «Инструменту GUI Network Manager», в разделе Wireless это перечисляет «DNS 192.168.1.1 8.8.8.8 8.8.4.4»
Могу ли я получить ту же информацию из командной строки?
Я использую Ubuntu 12.04 LTS
command-line
dns
Анураг Униял
источник
источник
Ответы:
resolv.conf больше не используется, если только вы не внедрили его самостоятельно. Сетевой менеджер делает это сейчас. Я создал псевдоним для отображения DNS-серверов в моей системе, так как я иногда переключаюсь с OpenDNS на открытый DNS Google.
Ubuntu> = 15
Ubuntu <= 14
В моем случае
<interfacename>
естьeth0
, что встречается часто, но не всегда так.Смотрите, если это то, что вы хотите.
РЕДАКТИРОВАТЬ:
Я думаю, что resolv.conf на самом деле используется косвенно, потому что сетевой менеджер создает сервер, который прослушивает 127.0.0.1, но мне сказали, что это деталь реализации, на которую не следует рассчитывать. Я думаю, что если вы введете DNS-адреса до этой записи, они могут привыкнуть, но я не совсем уверен, как это работает. Я думаю, что лучше всего использовать сетевой менеджер в большинстве случаев, когда это возможно.
источник
Это действительно для Ubuntu 13.10 и более ранних версий. Для Ubuntu 14.04 и выше см . Ответ Коала Йенга на: Как узнать, какой DNS я использую в Ubuntu с 14.04 года
использование
Вы получите вывод, похожий на
Или просто посмотреть, что делает DNS
источник
nm-applet
меню информации о подключении тоже будет работать :)nm-tool
в 16.х тоже.nmcli
(в ответе Марти Фрида) это путьДва наиболее популярных ответа,
nmcli dev list iface <interfacename> | grep IP4
иnm-tool
оба предполагают, что сетевой менеджер находится под контролем. Который это - на настольных машинах большую часть времени по крайней мере. Но более полный ответ заключается в том, что иногда сетевой менеджер не контролирует ситуацию. Например,vpnc
портится/etc/resolv.conf
напрямую.Итак: Сначала проверьте, используется ли 127.0.0.1/localhost. Это можно сделать с помощью
dig
:Теперь вы знаете , что мы являемся используя локальные. Продолжайте с одним из популярных ответов. Мне нравится:
Но если 127.0.0.1/localhost не используется, вывод
nm-tool
's andnmcli
' будет вводить в заблуждение:Здесь,
dig
это правильно иnm-tool
информация вводит в заблуждение. На самом деле адреса, локальные для среды, в которую я подключился по VPN, разрешены правильно. Все, о чем DNS Google8.8.8.8
не знает.Это связано с тем, что после подключения к VPN
vpnc
он добавляет строку,/etc/resolv.conf
которая выглядит следующим образом:источник
dig
утилита может быть легко установлена сapt install dnsutils
.cat /etc/resolv.conf
должен показать ваши DNS-серверы.Вы не можете изменять
resolv.conf
напрямую с помощью Ubuntu 12.04. Если вам нужно изменить их, вы можете добавить новые DNS-серверы в свой/etc/network/interfaces
файл, добавив следующее:где
x
DNS-серверы вы хотите использоватьНа твоем месте я бы удалил
network-manager
. По моему это куча дерьма.Вы можете выполнить все, что вам нужно сделать вручную, не беспокоясь об изменении настроек, особенно если у вас есть несколько сетевых адаптеров на компьютере.
источник
В Ubuntu 18.04 вы можете использовать
systemd-resolve --status
источник
nmcli версия 0.9.10
Вы можете использовать любую из этих команд:
источник
В Ubuntu 15.10 вы можете получить DNS
источник
Кажется, управляется сетевым менеджером. Посмотрите здесь http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html
для большого объяснения.
Или короткую версию это посмотреть в
или же
источник
/etc/NetworkManager/NetworkManager.conf
нет DNS-серверов, перечисленных в нем