Обновление: Похож это avahi-dnsconfd
это добавляет 8.8.8.8
и 8.8.4.4
к моему /etc/resolv.conf
файл. Я нашел это в/var/log/syslog:
Jan 4 17:00:21 freewill nm-dispatcher: req:1 'up' [ens33]: start running ordered scripts...
Jan 4 17:00:21 freewill avahi-dnsconfd[3579]: New DNS Server 8.8.4.4 (interface: 2.IPv4)
Jan 4 17:00:21 freewill avahi-dnsconfd[3579]: New DNS Server 8.8.8.8 (interface: 2.IPv4)
Как я могу заставить Ubuntu выбрать серверы DNS от DHCP только и не использовать Avahi (mDNS) для выбирающих серверов DNS?
Я проверяю Помощника Ubuntu 16.04.1 LTS и испытываю затруднения, потому что что-то продолжает добавлять серверы DNS Google к /etc/resolv.conf
:
josh@freewill:~$ 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 10.100.1.1
nameserver 8.8.4.4
nameserver 8.8.8.8
search my.domain.name
Я не хочу 8.8.4.4
ни 8.8.8.8
в /etc/resolv.conf
потому что это повреждает мою локальную сеть: Мой локальный сервер DNS (10.100.1.1) подачи DNS для локальных сервисов NATed, которые не имеют общедоступных записей DNS.
Если я вручную редактирую /etc/resolv.conf
и удалите серверы имен Google DNS, они получают добавленную спину снова перезагрузкой или resolvconf -u
NetworkManager не имеет 8.8.8.8, ни 8.8.4.4 перечисленных под Дополнительными DNS-серверами, таким образом, это не причина.
Система имеет три интерфейса Ethernet, только один соединен. Именно в сети с сервером DCHP обеспечивает информацию DNS. Содержание /etc/network/interfaces
:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Я работал grep -R '8\.8\.8\.8' /etc
и нет никакой другой ссылки на 8.8.8.8
в любом файле конфигурации. Ничто под /etc/resolvconf
относится к серверам Google DNS, также!
Почему Помощник Ubuntu добавляет серверы Google DNS к /etc/resolv.conf
и как я могу заставить его остановиться? На данный момент я сделал sudo rm /etc/resolv.conf; sudo cp /run/resolvconf/resolv.conf /etc/resolv.conf; sudo chattr +i /etc/resolv.conf
но я знаю, что в будущем это укусит меня...
После большого расследования (со справкой от @Terrance) я обнаружил, что Помощник Ubuntu использует avahi-dnsconfd
, и некоторое другое устройство в моей сети (возможно Raspberry Pi) широковещательно передавало серверы DNS Google по mDNS / Bonjor / Avahi.
avahi-dnsconfd
брал это и когда avahi-dnsconfd.action
работал, это звонило resolvconf
, чтобы добавить, что серверы DNS обнаружены по mDNS к /etc/resolf.conf
, я отключил avahi-dnsconfd
использование:
sudo systemctl stop avahi-dnsconfd.service
sudo systemctl disable avahi-dnsconfd.service
в придачу я также отредактировал /etc/default/avahi-daemon
и установил AVAHI_DAEMON_DETECT_LOCAL=0
(потому что я знаю, что моя сеть не имеет одноадресной передачи серверами DS, которые служат .local
TLD)
Вы не редактируете /etc/resolve.conf
файл непосредственно, он сделан, когда Вы звоните resolvconf - u
.
необходимо отредактировать файл:
/etc/resolvconf/resolv.conf.d/head
вместо этого.
Удостоверяются, что Вы создаете резервное копирование сначала в случае, если что-либо идет не так, как надо:
sudo cp /etc/resolvconf/resolv.conf.d/head /etc/resolvconf/resolv.conf.d/head.backup
Затем редактирование это для добавления Ваш серверы имен DNS. Это - мое, с помощью openDNS (рекомендуемый):
bitofagoob@me:~$ cat /etc/resolvconf/resolv.conf.d/head
# 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 208.67.222.222
nameserver 208.67.220.220
Затем работает resolvconf - u
, и информация о сервере имен будет скопирована с /etc/resolvconf/resolv.conf.d/head
файл к /etc/resolv.conf
файл.
система должна установить его этот путь к нему, чтобы быть допустимой.