Во-первых, /etc/resolvconf/resolv.conf.d/head
можно редактировать вручную. Комментарий в файле, который говорит, DO NOT EDIT THIS FILE BY HAND
относится не к /etc/resolvconf/resolv.conf.d/head
самому себе, а к тому /etc/resolv.conf
, к которому добавлен первый.
Сказав это, однако, при нормальных обстоятельствах вам не нужно редактировать /etc/resolvconf/resolv.conf.d/head
.
Файлы /etc/resolvconf/resolv.conf.d/head
и /etc/resolvconf/resolv.conf.d/tail
предоставляются как способ resolv.conf
навязать сгенерированную голову и хвост, если это необходимо в исключительных обстоятельствах, но если вы используете resolvconf правильно и при нормальных обстоятельствах, вам не нужно этого делать.
Вы говорите, что содержимое файла
nameserver 127.0.0.1
nameserver 10.255.0.101
nameserver 10.255.0.11
Наличие строки nameserver 127.0.0.1
говорит о том, что вы используете локальный сервер пересылки имен, такой как dnsmasq. Файл выше - это не то, что resolvconf обычно генерирует при этих обстоятельствах. Обычно он генерирует файл, подобный следующему.
# 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
search foo.com
Я предполагаю, что в вашей системе /etc/resolv.conf
это не символическая ссылка на ../run/resolvconf/resolv.conf
файл, а обычный файл, который может генерироваться или не генерироваться чем-то другим, чем resolvconf. Если файл полностью статичен, просто отредактируйте его так, чтобы он выглядел так, как вы хотите. Если файл сгенерирован каким-либо инструментом, отличным от resolvconf, выясните, какой инструмент генерирует файл, и настройте этот инструмент.
Или восстановите символическую ссылку /etc/resolv.conf -> ../run/resolvconf/resolv.conf
и правильно настройте resolvconf.
Как удалить локальный сервер имен из resolv.conf?
Следующие инструкции относятся только к случаю, когда вы используете для управления resolvconf /etc/resolv.conf
, то /etc/resolv.conf
есть символическую ссылку на ../run/resolvconf/resolv.conf
.
Если строка nameserver 127.0.0.1
находится в одном из файлов, /etc/resolvconf/resolv.conf.d/
удалите ее оттуда.
В противном случае эта строка исходит от локально работающего сервера имен. Либо удалите этот сервер имен, либо настройте этот сервер имен, чтобы он не регистрировал адрес 127.0.0.1 в resolvconf. В частности, если вы используете BIND 9 с локальным именем, либо удалите его, либо установите RESOLVCONF=no
в /etc/default/bind9
.
Ссылка: https://bugs.launchpad.net/debian/+source/bind9/+bug/933723