Адрес DNS-сервера больше не сохраняется в resolv.conf; где это сейчас?

Я иногда переключаю DNS-серверы, используя индикатор NetworkManager на панели задач; это работало нормально с предыдущими версиями, и на самом деле хорошо работает и с 12.04, за исключением одного: я использую Conky для отображения некоторой системной информации, включая адрес DNS, и заметил, что теперь она всегда отображает 127.0.0.1. ]

Я посмотрел в resolv.conf, где он получает этот адрес, и, конечно же, это то, что он всегда говорит. У меня есть одна строка с предупреждением не редактировать файл вручную:

nameserver 127.0.0.1

Единственный способ узнать адрес DNS-сервера, который я знаю сейчас, - это открыть графический интерфейс администратора сети для проверки информационной страницы. , Итак, где эта информация хранится сейчас?

14
задан 29 October 2012 в 19:02

3 ответа

Информацией управляет внутренне Администратор сети. Можно получить эту информацию о командной строке с помощью включенного nmcli инструмент.

Можно получить информацию Администратора сети для конкретного сетевого интерфейса со следующей командой:

nmcli dev list iface eth0

(замена eth0 с интерфейсом Вы соединяетесь с). Вывод будет включать информацию об интерфейсе и в настоящее время активном соединении в том интерфейсе:

GENERAL.DEVICE:                         eth0
GENERAL.TYPE:                           802-3-ethernet
...
IP4.DNS[1]:                             192.168.0.1
...

Не должно быть слишком трудно извлечь информацию, которая Вы после от этого вывода.

Если Вам нужен программный метод доступа к этим данным, которые не полагаются на вывод nmcli, эта информация должна также быть доступной от D-шинного-интерфейса Администратора сети.

17
ответ дан 29 October 2012 в 19:02

Имейте в виду, что использование nmcli не всегда может дать вам полный ответ. например если вы используете openconnect (или, предположительно, vpnc) для запуска VPN, и если у вас установлен пакет resolvconf (чтобы позаботиться об автоматическом управлении /etc/resolv.conf), вы обнаружите, что он по-прежнему может автоматически вставлять VPN Настройки DNS в /etc/resolv.conf опережают 127.0.0.1. В этом случае простая проверка (например, «nmcli -f IP4 dev list») не даст вам истинный текущий список DNS. Не уверен, что этот сценарий повлияет на вас, но решил, что стоит упомянуть.

0
ответ дан 29 October 2012 в 19:02

Разработчики Ubuntu должны документировать эти изменения в /etc/resolv.conf, но не сделали этого.

Вот список быстрых команд, чтобы начать работу.

  1. Показать текущие DNS-серверы

    nm-tool | grep DNS
    
  2. Определить статический DNS-сервер в /etc/dhcp/dhclient.conf. Добавьте следующую строку и перезапустите локальный преобразователь:

    supersede domain-search "sub.mydomain.com", "domain.com";
    prepend domain-name-servers 192.168.0.1;
    

    Из командной строки:

    invoke-rc.d network-manager restart
    
0
ответ дан 29 October 2012 в 19:02

Другие вопросы по тегам:

Похожие вопросы: