Авто генерировать /etc/resolv.conf

Я вручную отредактировал /etc/resolvconf/base добавить openDNS серверы имен, а затем запустить sudo resolvconf -u обновить /etc/resolv.confфайл.

Однако изменения сбрасываются при каждой перезагрузке.

Как мне сохранить эти изменения?

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="16.04.3 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.3 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

редактировать:

/home/pkaramol
$ cat /etc/resolvconf/resolv.conf.d/base
nameserver 208.67.222.222
nameserver 208.67.220.220
/home/pkaramol
$ sudo resolvconf -u
/home/pkaramol
$ 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.1.1

2 ответа

Решение

Вы помещаете нужные изменения в неправильный каталог. NETManager позволяет настраивать файл, редактируя основание, голову и хвост, размещая ваши настройки в этом каталоге:

/etc/resolvconf/resolv.conf.d/head
/etc/resolvconf/resolv.conf.d/base
/etc/resolvconf/resolv.conf.d/tail

Вы можете исправить это, переместив /etc/resolvconf/base в /etc/resolvconf/resolv.conf.d/base,

Содержимое, которое вы видите после перезагрузки, является содержимым /etc/resolvconf/resolv.conf.d/head файл. Он имеет приоритет над всеми и, как вы видите, сохраняется.

Приоритетные варианты должны быть размещены там.

Вы можете добавить серверы имен в resolv.conf и сделать его неизменным, а это значит - его нельзя изменить.

echo 'nameserver 8.8.8.8' > /etc/resolv.conf
sudo chmod 444 /etc/resolv.conf
sudo chattr +i /etc/resolv.conf

Это должно сделать трюк. Чтобы снова изменить файл, выполните: sudo chattr -i /etc/resolv.conf

Другие вопросы по тегам