Я иногда переключаю DNS-серверы, используя индикатор NetworkManager на панели задач; это отлично работало с предыдущими версиями и на самом деле отлично работает с 12.04, кроме одного: я использую Conky для отображения некоторой системной информации, включая DNS-адрес, и я заметил, что теперь он всегда показывает 127.0.0.1.
Я посмотрел в resolv.conf, где он получает этот адрес, и, конечно же, это то, что он всегда говорит. У меня есть одна строка с предупреждением не редактировать файл вручную:
nameserver 127.0.0.1
Единственный способ узнать адрес DNS-сервера сейчас - открыть графический интерфейс сетевого менеджера, чтобы проверить информацию стр. Итак, где эта информация хранится сейчас?
Разработчики Ubuntu должны документировать эти изменения в /etc/resolv.conf, но не имеют этого.
Ниже приведен список быстрых команд для вас.
Показывать текущие DNS-серверы [ f1] Определите статический 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
Имейте в виду, что использование nmcli может не всегда дать вам полный ответ. например если вы используете openconnect (или vpnc, предположительно) для запуска VPN, и если у вас установлен пакет resolvconf (чтобы позаботиться о автоматическом управлении /etc/resolv.conf), вы обнаружите, что он все равно может автоматически вставлять VPN Настройки DNS в /etc/resolv.conf перед 127.0.0.1. В этом случае просто проверка (например, «nmcli -f IP4 dev list» не даст вам настоящий текущий список DNS. Не уверен, влияет ли этот сценарий на вас, но полагал, что стоит упомянуть.