我需要设置开放DNS,但我无法编辑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
search gateway.2wire.net
答案 0 :(得分:31)
您的系统使用resolvconf,因此resolv.conf文件将替换为/etc/resolvconf/run/resolv.conf
的符号链接,并且resolvconf会动态生成该文件。这就是DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
要正确更新文件中的信息,您可以将dns- *参数放在/etc/network/interfaces
中,例如
auto eth0
iface eth0 inet static
address 33.33.13.10
netmask 255.255.255.0
gateway 33.33.13.1
dns-nameservers 33.33.13.1 12.34.56.78
dns-search example.com
然后,您可以通过
更新dns- * info$ resolvconf -d eth0
$ resolvconf -a eth0
或者你可以做ifdown& ifup和resolvconf -d,-a将在幕后发生。
注意:有时我发现resolvconf -u不起作用。我不知道为什么
您应该阅读man resolvconf
。有关这一切的更多信息。
提示:如果要手动更新/etc/resolv.conf,可以删除符号链接并手动创建/etc/resolv.conf。这样,文件将不会从resolvconf更新。
$ rm /etc/resolv.conf ;# to remove the symlink
$ vi /etc/resolv.conf ;# to create a regular file
答案 1 :(得分:9)
这通常需要编辑/etc/resolvconf/resolv.conf.d/base
(取决于您的发行版此展示位置可能略有不同)或此目录中的其他文件。它们由resolvconf进程本身添加。这些文件的格式与标准的resolv.conf相同。
完成这些编辑后,您可以使用命令resolvconf -u
强制resolvconf更新。