自动生成 /etc/resolv.conf

自动生成 /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

答案1

您正在将所需的更改放入错误的目录中。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。它优先于所有内容,并且如您所见,它被保留了下来。

优先选择应该放在那里。

答案2

您可以在其中添加名称服务器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

相关内容