Есть ли команда для списка 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 сетевого менеджера", в разделе Беспроводные сети будет список "DNS 192.168.1.1 8.8.8.8 8.8.8.8.4.4"
Могу ли я получить ту же информацию из командной строки?
Я использую Ubuntu 12.04 LTS
resolv.conf больше не используется, если только вы не реализуете его самостоятельно. Теперь это делает сетевой менеджер. Я создал псевдоним для списка DNS-серверов в моей системе, так как я иногда переключаюсь с OpenDNS на Google'open DNS.
Ubuntu >= 15.
nmcli device show <interfacename> | grep IP4.DNS
Ubuntu <= 14
nmcli dev list iface <interfacename> | grep IP4
В моем случае <interfacename>
- eth0
, что встречается часто, но не всегда.
Проверьте, так ли это, как вам нужно.
EDIT:
Я думаю, что resolv.conf на самом деле используется косвенно, потому что сетевой менеджер создает сервер, который слушает 127.0.0.1, но мне сказали, что это деталь реализации, на которую не стоит рассчитывать. Я думаю, что если вы введете адреса DNS до этой записи, они могут быть использованы, но я не уверен, как именно это работает. Я думаю, что в большинстве случаев, когда это возможно, лучше использовать сетевой менеджер.
Это справедливо для Ubuntu 13.10 и более ранних версий. Для Ubuntu 14.04 и выше смотрите Koala Yeung's answer to: Как узнать, какой DNS я использую в Ubuntu начиная с версии 14.04 и выше.
Используйте
nm-tool
Вы получите результат, подобный
NetworkManager Tool
State: connected (global)
- Device: eth0 [Wired connection 1] -------------------------------------------
Type: Wired
Driver: e1000e
State: connected
Default: yes
HW Address: 00:11:22:33:44:55
Capabilities:
Carrier Detect: yes
Speed: 1000 Mb/s
Wired Properties
Carrier: on
IPv4 Settings:
Address: 10.21.6.13
Prefix: 24 (255.255.255.0)
Gateway: 10.21.6.1
DNS: 10.22.5.133
DNS: 10.22.5.3
Или для просмотра только DNS сделайте следующее
nm-tool | grep DNS
Два топ-скоринга ответы недвижимость список nmcli Дев <имя_интерфейса> | грэп ip4
и Нм-инструмент
в обоих случаях предполагается, что сеть-менеджер находится под контролем. Что это - на настольных компьютерах, большую часть времени, по крайней мере. Но чем полнее ответ заключается в том, что иногда сеть-менеджер не контролирует. Е. Г. заморочки vpnc
С `/и т. д./файл resolv.конф напрямую.
Итак: сначала проверьте, если использовать 127.0.0.1/localhost-это. Это может быть сделано с копать
:
> dig something.unknown | grep SERVER:
;; SERVER: 127.0.0.1#53(127.0.0.1)
Теперь вы знаете, что мы ** с помощью localhost. Идти вперед с одним из популярных ответов. Мне нравится:
> nm-tool | grep DNS:
DNS: 8.8.8.8
Но если 127.0.0.1/localhost-это не используется, Нм-инструмент
's и nmcli
'выход S будет вводить в заблуждение:
> dig something.unknown | grep SERVER:
;; SERVER: 172.22.216.251#53(172.22.216.251)
> nm-tool | grep DNS:
DNS: 8.8.8.8
Здесь "покопать" является правильным и Нм-инструмент
's информация вводит в заблуждение. В действительности адресов локальной среде, я'вэ ВПН-едь в правильно решен. Все, что Google'ы в DNS 8.8.8.8
не'Т О знать.
Это потому, что после подключения к VPN с vpnc, он добавляет строку в файл/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 1.2.3.4
nameserver 127.0.0.1
search MyDomain
кошка /и т. д./файл resolv.conf` должен показать свои DNS-серверы.
Вы не можете изменять файл resolv.conf
и прямо с Ubuntu 12.04. Если вам нужно их изменить, вы можете добавить новый DNS-серверов
файл/etc/сети/интерфейсов, добавив следующее:
dns-nameservers x.x.x.x x.x.x.x
где X
- это DNS-серверы, которые вы хотите использовать.
Если бы я был тобой, я бы удалить сетевой менеджер
. На мой взгляд это's в куче дерьма.
Вы можете выполнить все, что вам нужно сделать вручную, не беспокоясь об изменении настроек, особенно если у вас несколько сетевых карт на компьютере.
nmcli версии 0.9.10
Вы можете использовать любой из этих команд:
nmcli -t -f IP4.DNS device show eth0
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8
nmcli -t -f IP4.DNS connection show conn-name
IP4.DNS[1]:192.168.1.1
IP4.DNS[2]:8.8.8.8
В Ubuntu 15.10 вы можете получить ДНС
nmcli device show <interface name>
Похоже, что управление осуществляется сетевым менеджером. Посмотрите здесь http://manpages.ubuntu.com/manpages/precise/man5/NetworkManager.conf.5.html.
для большого объяснения.
Или короткая версия - посмотреть в
/etc/NetworkManager/NetworkManager.conf
или
<SYSCONFDIR>/NetworkManager/NetworkManager.conf