阻止resolv.conf自动重置
在Ubuntu10.04下默认使用NetworkManager,每次更换网络环境:如更换无线接入热点,更换所在局域网设置,更换拨号等等。NetworkManager都会有独立的一套设置保存着。
这也就意味着每次重新连接网络resolv.conf文件就将被重写:无论之前的resolv.conf中是什么内容,都将被先清空然后在加上“# Generated by NetworkManager”字样和相应环境的nameserver设置。这本来没有多大问题,但是当我启用了dnsmasq来加速DNS解析,或者是我一直想用一个固定的DNS服务器,又或者是我的网络在NetworkManager中没有设置DNS服务器的时候就会遇到一些麻烦。
要禁止NetworkManager重置resolv.conf文件可以这样:
修改好相应的resolv.conf之后用
sudo chattr +i /etc/resolv.conf
命令将resolv.conf文件变成只读,这样NetworkManager就不能修改resolv.conf文件了。
(另外可以将sudo chattr +i /etc/resolv.conf加到/etc/rc.local里面的exit 0之前的任何位置)
对于想使用dnsmasq来加速DNS解析的情况,还有另外一种相对柔和一点的方法把127.0.0.1加入到DNS服务器列表中.设置优先的DNS服务器
sudo cp /etc/resolv.conf /etc/resolv.conf.auto
sudo gedit /etc/dhcp3/dhclient.conf
在最前面加上prepend domain-name-servers 127.0.0.1,8.8.8.8。