您的位置:首页 > 其它

Ubuntu12.04下resolv.conf重启机器后失效的问题解决

2015-07-20 16:36 148 查看
自从升级了Ubuntu到12.04后,发现在/etc/resolv.conf下指定的DNS服务器,一旦重启了就又消失不起作用了,还要重新写,很麻烦。

在google上搜了一下,发现同样的问题已经有人给出了原因和解决方案:

1 /etc/resolv.conf 其实是一个Link

它其实指向的是 /run/resolvconf/resolv.conf

2 Ubuntu 有一个 resolvconf 服务,如果重启它,那么 /etc/resolv.conf的内容会被修改成默认的样子

所以 不能直接修改 /etc/resolv.conf

3 如果想自己定义 nameserver,那么有以下2个办法:

A 在网卡的配置文件里面加:

(此方法没有测试)

iface eth0 inet static

address 192.168.3.3

netmask 255.255.255.0

gateway 192.168.3.1

dns-nameservers 192.168.3.45 192.168.8.10

dns-search foo.org bar.com

B 修改 resolvconf服务的配置文件:/etc/resolvconf/resolv.conf.d/base

(这个方法我试了OK)

添加:

nameserver
192.168.1.254

这样,在机器重启或 resolvconf 服务重启 都可以保证配置会写到/etc/resolv.conf 里面

其实 /etc/resolv.conf 里面一直都有提示,只是自己没注意看:

"DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN"(确实有这样的提示)

关于 resolvconf 服务更多信息,可以用man查看:man resolvconf

暂时我还没有找到能直接 刷新 /etc/resolv.conf 内容的命令,只能是重启 resolvconf 服务
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: