Я наконец-то перешел на 12.04 с 7.10. У меня есть одна последняя часть для завершения, но я в тупике. Я использую Puppet на каждом сервере, и в прошлом я включал адрес сервера имен и имя поискового домена для puppetmaster в resolv.conf.
search puppetmaster.com
nameserver 192.168.1.XXX
В 12.04 resolv.conf перезаписывается при перезагрузке. Я не могу использовать статический IP-адрес для них, поэтому использование / etc / network / interfaces для помощи мне не имеет смысла.
# 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 для обработки этого в голове, хвосте или основании? Если есть, есть ли примеры, которые я могу использовать для настройки на моем сервере.
Буду признателен за любую оказанную помощь.
resolv.conf
Сэм
источник
источник
Ответы:
Вероятно, лучше, чтобы ваш DNS-сервер мог разрешить «марионетку» по правильному адресу, а также чтобы ваш DHCP-сервер выдавал адрес DNS-сервера и список поиска, либо (если у вас есть статические IP-адреса) иметь что-то вроде следующее в / etc / network / interfaces.
Но если вы хотите сделать это через конфигурационные файлы resolvconf, вам нужно будет отредактировать
/etc/resolvconf/resolv.conf.d/base
. В этом файле введите ваши данные, как вresolv.conf
.Затем скажите resolvconf для регенерации
resolv.conf
.источник
Я думаю, что ответом является проверка вашего
/etc/dhcp/dhclient.conf
, т.е. не запрашиватьdns-nameservers
у вашего клиента DHCP .Затем обновите свой
/etc/network/interfaces
Тогда ваш
resolv.conf
будет автоматически настроен так, как вы этого хотите.Добавьте к
dns-search
и затем запустите/etc/init.d/networking restart
(хотя этот скрипт устарел, он все еще работает).источник
/etc/init.d/networking restart
не работал на моей машине, ноsudo ifdown -a
и тогдаsudo ifup -a
сделал. (Кроме того, мне потребовалось немного времени, чтобы понять, что я должен был заменитьdnsserverip
что-то вроде8.8.8.8
; я чувствую себя немного глупо.)systemctl restart networking.service
Вероятно, это вызвано настройкой DHCP при первой установке Ubuntu. Попробуйте этот трехэтапный процесс для решения этой проблемы автоматической конфигурации.
Первый
Отредактируйте конфигурацию вашего интерфейса, которая находится в:
/etc/network/interfaces
Добавьте эту строку ниже
iface lo inet loopback
:В качестве примера для Google DNS вы можете использовать это:
второй
Отредактируйте файл конфигурации DHCP, расположенный по адресу:
Пометьте синтаксис как комментарий, используя
#
каждую строку или просто удалите каждый запрос name-server. В 16.04 от вас может не потребоваться вносить какие-либо изменения здесь.Третий
Перезагрузите сеть с помощью этой команды:
В 16.04:
источник
/etc/init.d/networking restart
не работал на моей машине, ноsudo ifdown -a
и тогдаsudo ifup -a
сделал.Пожалуйста, посмотрите на
resolvconf
справочную страницу. Вы можете принудительно включить определенные настройки DNS, создав, например/etc/resolvconf/resolv.conf.d/base
:Есть и другие специальные файлы (голова и хвост), они могут помочь вам достичь того, что вы хотите.
источник
Как и во многих других ответах, это связано с
resolvconf
установкой в вашей системе.Таким образом, лучший способ сохранить что-то,
resolv.conf
что не потеряется при перезагрузке, это включить его в файлы конфигурации resolvconf, которые находятся в:Там пойти на
head
файл. Все, что вы положите туда, будет написано наверху/etc/resolv.conf
Так что все пойдет примерно так:
источник
Для меня приведенные выше ответы были неадекватными по следующим причинам:
resolvconf
, просто ясно/etc/resolv.conf
.chattr +i
для блокировкиresolv.conf
кажется слишком хакерским. Мне нужно, чтобы Puppet мог свободно вносить изменения, когда это необходимо./etc/network/interfaces
не предотвращаетresolv.conf
перезапись; он просто указывает серверы имен, которые должны быть записаны. Для меня указание серверов имен не имеет смысла. Я пытаюсь установитьoptions timeout:1
иoptions attempts:1
в моемresolv.conf
файле.Лучшее решение я нашел переопределяет поведение по умолчанию ,
dhclient
используя его документированные крючки.Создайте новый файл
/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
со следующим содержимым:Затем сделайте файл исполняемым:
Теперь, когда dhclient запускается - либо при перезагрузке, либо когда вы запускаете вручную
sudo ifdown -a ; sudo ifup -a
- он загружает этот скриптnodnsupdate
. Этот скрипт переопределяет внутреннюю функциюmake_resolv_conf()
, которая обычно перезаписывается,resolv.conf
и ничего не делает.Это работало для меня на Ubuntu 12.04.
источник
Это может быть какой-то странной причудой в моей машине, но у кого-то еще может быть такой же угловой случай.
Я пробовал многочисленные способы включения моих имен серверов ISP в /etc/resolv.conf, но безуспешно:
Я включил их
/etc/network/interfaces
и перезапустил сеть. Они не появились в/etc/resolv.conf
.Я вставил их
/etc/resolv.conf
явно, но, конечно, они были перезаписаны. Они появились/run/resolvconf/interface/eth0.inet
, но так и не смогли/etc/resolv.conf
.Я попытался настроить resolvconf для динамических обновлений. Без изменений.
Наконец я где-то читал, что если локальная машина (127.0.0.1) обнаруживается в
/etc/resolv.conf
каких-либо других серверах имен, они не включаются.В отчаянии я редактировал
/run/resolvconf/interface/lo.named
, удалил только строки в нем (nameserver 127.0.0.1
) и перезапущен:ifdown eth0 && ifup eth0
.Затем /etc/resolv.conf впервые включил мои ISP-серверы имен! Я побежал,
service network-manager restart
чтобы увидеть, была ли она стабильной и/etc/resolv.conf
все еще включает в себя мои ISP-серверы имен. Rebooted просто чтобы убедиться , и он все еще там , но/run/resolvconf/interface/lo.named
получил сбрасываются:nameserver 127.0.0.1
.Любопытно, что перезапуск сети все еще работает:
/etc/resolv.conf
все еще содержит мои ISP-серверы имен. Я не могу объяснить это (может кто-то?), Но это может помочь кому-то застрять в одном месте.источник
dnsmasq
. Вы можете просто удалить его с помощьюapt-get remove dnsmasq
или обновить конфигурацию в/etc/dnsmasq.conf
.добавьте свой сервер имен в файл /etc/resolvconf/resolv.conf.d/head. Файл содержит сообщение, которое вы получили:
этот файл должен выглядеть следующим образом после добавления 8.8.8.8
источник
добавьте в последнюю строку, например:
Откройте терминал и введите
+ я позаботился о том, чтобы файл не перезагружался при загрузке.
Отменить вышеуказанное
Для большего
источник
Другие решения не работали для меня в моей системе Fedora 20. Моя конкретная проблема заключалась в том, что строка «search» в /etc/resolv.conf была перезаписана. Вот что это исправило. (Это предполагает, что NetworkManager производит строку,
search rn.yourcompany.com
и вы хотите, чтобы она былаsearch rn.yourcompany.com yourcompany.com intnet.yourcompany.com
:1. Используйте команду ifconfig, чтобы узнать, какой интерфейс представляет интерес:
2. Войдите в систему и перейдите в каталог сетевых устройств конфигурации системы:
Domain
строку с дополнительными доменами для поиска:DOMAIN="yourcompany.com intnet.yourcompany.com"
Сохраните, выйдите из системы и снова войдите в систему. Теперь в NetworkManager должна быть строка
\etc\resolve.conf
:источник
Добавить записи в
/etc/resolvconf/resolv.conf.d/head
и выполните следующую команду
источник
Для Ubuntu Server 18 Netplan - новая утилита для настройки сети.
Затем отредактируйте запись адресов серверов имен в файле yaml (используйте правильный отступ). Например, если вы используете DNS-серверы Google:
Перезапустить сервис
Смотрите https://netplan.io/
https://www.techrepublic.com/article/how-to-set-dns-nameservers-in-ubuntu-server-18-04/
источник
Если вы используете DHCP, отредактируйте,
/etc/dhcp/dhclient.conf
чтобы добавить дополнительные DNS-серверы:Клиент DHCP перезаписывает
dns-nameservers
в систему,etc/network/interfaces
и я думаю , что в/etc/resolvconf/resolv.conf.d/base
тоже.Это работало для меня на сервере Ubuntu 14.04.3.
Смотрите подробности в вики Debian NetworkConfiguration .
источник
Просто сделайте резервную копию вашего resol.conf, удалите пакет resolvconf и отредактируйте файл /etc/resolv.conf так, как вам нужно.
Мы должны иметь право не использовать плохое программное обеспечение, такое как resolvconf.
Кстати, поле поиска в /etc/resolv.conf бесполезно.
источник
Использование
resolvconf
и отключениеsystemd-resolved.service
(это работает для меня Ubuntu 19.04):устанавливать
resolvconf
Добавление серверов имен
Откройте
/etc/resolvconf/resolv.conf.d/base
с помощью вашего текстового редактора, я используюvim
.затем добавьте серверы имен в открытый файл, например:
обновление
resolv.conf
Отключить
systemd-resolved.service
и перезагрузить.nameserver 127.0.0.53
не написано/etc/resolv.conf
.Готово!
Источник
источник
Я нашел это самое простое исправление. Если у вас есть
resolv.conf
иresolvconf
файлы, они будут наступать друг на друга. Вам нужно удалитьresolv.conf
файл, который получает и перезаписывает каждый раз, когда вы делаете перезагрузку.Поместите
nameserver 1.1.1.1 1.0.0.1
внизу файла resolvconf и затем запуститеЧтобы избавиться от файла. Затем сделайте перезагрузку и все заработает.
источник
Ми решение на 12.04:
Я заметил, что если вы добавляете dns-nameserver в интерфейсах, которые не принимают серверы разрешения имен
справочная страница resolvconf
Чтобы не допустить изменения resolv.conf при редактировании вручную, сделайте это в терминале:
после:
затем вручную отредактируйте,
/run/resolvconf/resolv.conf
добавив максимум два DNS-сервера.Затем перезапустите сервис:
источник
Просто положить
Команда в вашей
/etc/network/interfaces
конфигурации. затем перезагрузите вашу сеть.он должен работать.
источник
Эта конфигурация объявлена в
/etc/default/bind9
нет = не применять условие в
init.d
bind9
да , или другое значение = переопределить
resolv.conf
Эта проблема возникает при установке
bind9
и не заботится о проверке всех конфессий.источник