Как добавить DNS-сервер через resolv.conf?

Является ли /etc/resolv.conf бесполезным в Ubuntu 12.04 LTS (Precise Pangolin)?

Я вижу, что информация о DNS-сервере теперь хранится в NetworkManager. Инструмент командной строки nmcli может перечислить это для вас.

Если я хочу добавить еще один DNS сервер, поможет ли добавление его в /etc/resolv.conf с помощью пакета resolvconf?

Комментарии к вопросу (1)
Решение

Если /etc/resolv.conf содержит nameserver 127.0.0.1, то добавление записей в /etc/resolvconf/resolv.conf.d/tail не принесет никакой пользы.

Если вы используете NetworkManager, то вместо этого вам следует статически добавить адреса серверов имен через индикатор сети: Edit Connections... | Edit... | Настройки IPv4 | Дополнительные DNS-серверы.

Если вы действительно хотите добавить больше записей в /etc/resolv.conf, создайте /etc/resolvconf/resolv.conf.d/tail и добавьте их туда.

Как и в случае с каждым выпуском Ubuntu, рекомендуется прочитать Ubuntu Release Notes, доступные здесь:

Разделы "Рабочий стол" и "Общая инфраструктура" содержат ссылку на

Комментарии (5)

Я нашел другой подход здесь, что предполагает добавление строки, как показано ниже в файле /etc/dhcp-сервер/программа dhclient.конф:

prepend domain-name-servers x.x.x.x, y.y.y.y;

Кроме того, я нашел третий подход здесь, что предполагает добавление строк в файле /etc/сети/интерфейсов:

auto eth0
iface eth0 inet static
    . . .
    dns-nameservers 8.8.8.8 8.8.4.4

Обновление: вот официальные документы для третьего подхода.

Комментарии (9)

Похоже, что вы говорите о пакете resolvconf.

Установите пакет resolvconf.

Запустите

cd /etc/resolvconf/resolv.conf.d
sudo cp -p head head.orig  #backup copy, always do this
sudo nano head

В верхней части файла находится страшное предупреждение. Файл /etc/resolv.conf автогенерируется из содержимого этого файла; предупреждение здесь для того, чтобы оно попало в /etc/resolv.conf при генерации /etc/resolv.conf. В конце файла добавьте

nameserver 

Нажмите Ctrl x и ответьте "да" на сохранение файла. В завершение перегенерируйте /etc/resolv.conf, чтобы изменения были применены прямо сейчас:

sudo resolvconf -u

Затем проверьте содержимое /etc/resolv.conf и убедитесь, что добавленная вами строка теперь там. Более того, она все еще будет там при следующей загрузке машины или перезапуске сетевой службы, в зависимости от того, что произойдет раньше.

Комментарии (2)

Ниже я покажу вам лучший способ, который я нашел, так как я запускаю сервер Ubuntu Edition и использовать ifup, а не через NetworkManager.

На самом деле для меня они сделали это проще :) положить все это в файл интерфейсы в /etc/сети/. Те же конфигурации, которые вы написали бы к resolv.conf, который теперь может быть в одном файле конфигурации сетевой адаптер как показано в примере ниже:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        network 192.168.0.0
        broadcast 192.168.1.255
        gateway 192.168.1.1
        dns-nameservers 75.75.75.75 75.75.76.76
        dns-search local

Я надеюсь, что это помогает и облегчает, как и мне, теперь мы можем создавать статические IP-адреса и добавить в DNS-серверы и DNS-домена все в одном файле :)

Комментарии (2)

Шахта работает сервер Ubuntu 12.04. Я сделал следующие изменения и перезагрузил сервер (обычно это можно сделать, только снижая сетевой интерфейс, то есть ifdown eth0 В или ifup eth0 в).

В файл/etc/resolvconf/файл resolv.конф.Д/База-я добавил следующие записи:

nameserver 8.8.8.8
nameserver 8.8.4.4

Я надеюсь, что выше помогает!

Комментарии (0)

Вы можете использовать NetworkManager как заявил в откровенном'ы ответ, но если вы предпочитаете ручное редактирование файла /etc/файл resolv.конф, вы можете сделать это путем удаления его (он's фактически символическая ссылка), а затем создает новый текстовый файл с содержимым. В resolvconf программа только записывает в файл/работа/resolvconf/файл resolv.конф`.

Комментарии (0)

Примечание: Этот ответ был дан для довольно другой, предварительной версии вопроса, с фокусом только на предварительную установку желаемого сервера имен.

Это работает до версии 12.04:

Отредактируйте /etc/dhcp3/dhclient.conf и добавьте : prepend domain-name-servers 127.0.0.1;.

(На самом деле, эта строка уже присутствует; все, что вам нужно сделать, это убрать комментарий).

Комментарии (6)

resolvconf бесполезно. Я'м на Linux-сервер и мой IP-адрес является статическим и мой ДНС сервера являются статическими. Мне не нужны resolvconf или настройка.

Все просто-это моя политика при работе на сервере. Чем меньше сложность, тем легче он'll быть, чтобы управлять/исправлять, когда вещи ломаются.

Так я же способностей продувки resolvconf и вручную убедился, что в/etc/файл resolv.confи это'т [ссылки][5] и просто создали статический файл. Только в случае, если программа пытается изменить файл, я сделалchattr +я(неизменяемые) в файле/etc/файл resolv.conf` и в качестве меры предосторожности.

Комментарии (2)

Большинство из вышеперечисленных предполагает наличие девственной системы, но реальность часто такова, что вы занимались установкой различных клиентов DHCP, отключил сетевой менеджер в некоторые предыдущие версии Ubuntu, и т. д. Может быть, стоит знать следующее. Я've был с помощью dnsmasq, но демонтировать его. В настоящее время моя система имело следующее содержание файла /etc/файл resolv.конф (который является символической ссылкой на /работа/resolvconf/файл resolv.conf и на моей системе):

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

Это не'т имеет значения, как часто я бегу судо resolvconf -U или `судо команды dpkg-перенастроить resolvconf, она не'т обновить сервер имен на те, что я поставил в помощью. Информация resolvconf не использовать NetworkManager не присутствовал:

cat /run/resolvconf/interface/NetworkManager  
nameserver 8.8.4.4
nameserver 8.8.8.8

Однако, получается так, что если есть несколько файлов в эту папку, этот файл не может использоваться вообще. Виновником был файл не удаляется при деинсталляции раздача:

cat /run/resolvconf/interface/lo.dnsmasq                        
nameserver 127.0.0.1

Просто удалением этого файла (и работает судо resolvconf -У потом) решил мой 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 8.8.4.4
nameserver 8.8.8.8 

Я надеюсь, что это помогает другим с помощью отладки (сложных взаимодействий между всеми этими различными сетевыми инструментами), а также. Если вы используете resolvconf убедитесь, что для запуска команды ls /работа/resolvconf/интерфейсы, чтобы увидеть, что'ы есть.

Комментарии (1)

Я просто удалил ссылку в /etc/файл resolv.conf и создал регулярную файл с серверов' адреса. Это работает, и я не'т вижу никаких причин, чтобы использовать эту довольно странную конструкцию, что разработчики Ubuntu создали.

Комментарии (2)

Вы можете изменить подключение на "авто для eth0" или что имя, которое вы используете для подключения в НМ. Вы можете сделать это, щелкнув правой кнопкой мыши на Нм и выбрав "и изменить соединения...и". На вкладке IPv4 вы можете выбрать и"автоматически (DHCP, только адрес) и" как и"способ" и нм позволит вам установить на сервер адрес(адреса) вручную даже адреса передаются через протокол DHCP.

Комментарии (0)

Добавив свою лепту в и без того длинный список, здесь'ы еще один способ (проверено на 12.04):

Редактировать/выполнить/resolvconf/интерфейс/программа NetworkManager`, чтобы соответствовать вашим потребностям. Здесь'ы пример:

search foobar.com example.com
nameserver 192.168.1.1

Затем, как указано на большинстве других примеров, сделать судо resolvconf -у. Теперь вы найдете ваш файл resolv.conf` и в таком виде:

nameserver 192.168.1.1
nameserver 127.0.0.1
search foobar.com example.com

Я до сих пор не'т нравится, как он'ы, реализуемые в настоящее время (кажется, в Ubuntu нужен сервис для каждого фу это делает), и предпочел бы обычный файл resolv.conf и точно. Но этот подход представляется наилучшим компромиссом для меня до сих пор. Добавил, что "локальный-НС quot и; должно'т слишком больно.

Комментарии (0)

Как насчет:

судо команды dpkg-перенастроить resolvconf

До этого использовать сетевой менеджер изменить DNS адрес и способ изменения

автоматическая (находящихся) адреса только

Затем выполните команды выше и перезагрузка. Это не решение для меня.

Комментарии (0)

Я исправил это, изменив порядок источников. Я переехала источник ДНС до уведомления в /и т. д./файл nsswitch.конф:

hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4

Вы можете сохранить ваши настройки и по-прежнему использовать локальный сервер кэширования таким образом.

Комментарии (1)

vi /etc/network/interfaces

This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The primary network interface
allow-hotplug eth0

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
#auto eth0         
Комментарии (0)

Это очень популярный вопрос, с набором стандартных ответов, которые, ИМО, довольно суховато. Я, например, всегда были проблемы после установки Ubuntu уважать ДНС я настроил в менеджере сетей, в частности настройки статический DNS-серверов с "автоматически (DHCP, только адрес), что" -- и сегодня я, наконец, разобралась, что на самом деле не так.

Проблема заключается во взаимодействии с resolvconf и NetworkManager. resolvconf этот файл называется файл/etc/resolvconf/интерфейс-заказ. По крайней мере с моей системы, через NetworkManager разве'т в этот файл вообще (за исключением того, что это'ы, охватываемых * Дикие карты в конце). Вот что происходит, программа dhclient'последний отчет s в resolvconf важнее всего, что она скажет.

Таким образом, по крайней мере в моем случае ответ был добавить

NetworkManager

на или вблизи верхней части интерфейса-того, файл/etc/resolvconf/`.

(Да, я знаю, что многие люди просто говорит: "удалить resolvconf", который выглядит как плохая идея сама по себе мне. Но более того, не менее коварный и xenial рассмотреть resolvconf важной частью системы [например, Убунту-минимальный зависит от него], так что это будет трудно, чтобы держать вашу систему в соответствии с обновленными государство без resolvconf.)

<удар>по запросу могу предоставить более подробно о том, как я это понял.</удара> (редактировать: видимо, я не'т сделать это, когда это было предложено, к сожалению. На данный момент я не'т помню гораздо более подробно, чем то, что я говорю далее:) В общем, я заменил resolvconf исполняемый с оболочкой оболочку вокруг него, который сбросил свои аргументы, ввода, вывода и вывода ошибок в файлах; и добавлен комплект -х для resolvconf's обновление скриптов.

(Редактировать я могу сказать, что то, что я имею в виду в первой части заключается в том, что я использовал команду sudo перенести фактическую resolvconf исполняемый файл, который может быть найден с помощью какой команды или командный тип. Затем создать сценарий оболочки, который в конечном итоге просто выполняет переехал resolvconf, но и выводит аргументы в какой-нибудь файл, и использует перенаправление консоли для отправки устройства stdin, stdout и stderr различные другие файлы. Я не'т вспомнить, куда "resolvconf's обновление скриптов и" и может'т в настоящее время легко проверить. Я думаю, что многие выродки Linux может выяснить, что я имею в виду; возможно, какой-то добрый самаритянин обеспечит еще более подробно в комментарии.)

Комментарии (1)

Другой способ заключается в том, чтобы определить настройки DNS-серверов на:

/etc/docker/daemon.json

Если вы Don'Т есть такой файл, просто создайте его:

{
    "dns": ["1.1.1.1", "1.0.0.1"]
}

Источник, см. Также этот.

Комментарии (0)

Чтобы изменить DNS, следуйте инструкциям: https://developers.google.com/speed/public-dns/docs/using

  1. Перейти к сети

  2. Выберите подключение, для которого вы хотите настроить DNS.

  3. Чтобы изменить настройки беспроводного подключения, перейдите на вкладку беспроводное, а затем выберите нужную беспроводную сеть.

  4. Нажмите стрелку (справа), и в появившемся окне, выберите Параметры IPv4 или вкладке Настройки IPv6.

  5. Если выбранный метод автоматически (DHCP), откройте выпадающее меню и выберите Автоматически (DHCP, только адрес) вместо. Если метод находится на что-то другое, не меняйте его.

  6. В поле DNS-серверов, введите DNS IP-адресов, разделенных запятой

Комментарии (0)
  1. Добавить временные DNS-сервера. Редактировать файл/etc/файл resolv.конф`.

сервер 1.1.1.1 имен 1.0.0.1

  1. Установить или обновить resolvconf.

суда apt-получить установку -г resolvconf

  1. Добавьте свой сервер в файл/etc/resolvconf/файл resolv.конф.д/хвост`

сервер 1.1.1.1 имен 1.0.0.1

  1. Перезагрузить компьютер: перезагрузка
Комментарии (1)