修改Ubuntu DNS时, 查看/etc/resolv.conf 会看到他使用的dns是 nameserver 127.0.1.1,
是因为Ubuntu 会启动dnsmasq服务, 解析域名时不需要到网络运营商获取..
在解析速度上会慢于网络运营商(有cache).
自己是使用电信的网络, ping 电信的dns速度在 (1 ms , 2 ms)左右, 速度是非常快的..
但使用网络运营商的DNS会有一些不爽的地方, 比如无法解析的域名跳转到114xxxxxxxxxxxxxx….
有些解析还没到GFW就被屏蔽(GFW会再过滤解析).
使用dnsmasq是好处远远大于使用网络运营商的DNS的..
使用Ubuntu一直以来很少动到/etc/resolv.conf这个文件, 原因是本身的dnsmasq加上路由器可以劫持域名
不过最近有需要修改下DNS, 并记录下过程.
操作系统: Ubuntu 14.04
相关软件: dnsmasq NetworkManager
操作过程:
正常的修改Linux的DNS是编辑/etc/resolv.conf文件.
格式是: nameserver ,
如修改DNS为218.85.152.99(福建电信DNS)
|
echo 'nameserver 218.85.152.99' > /etc/resolv.conf
|
或直接编辑/etc/resolv.conf.
一般这样就直接好了..
系统装有NetworkManager的话, 这样的修改只是临时的, 如重启计算机, 或者插拔网线/etc/resolv.conf被重置为:”nameserver 127.0.0.1”
Ubuntu默认是有装NetworkManager的..
如果需要永久生效的话, 需要执行以下操作:
编辑
|
sudo gedit /etc/NetworkManager/NetworkManager.conf
|
将dns=dnsmasq注释掉. 禁止使用dnsmasq插件.
|
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
[ifupdown]
managed=false
|
然后重启NetworkManager
注意: 这里终端不能使用su 切换到root, 只能在当前用户使用sudo 去执行.
|
sudo restart network-manager
|
这个时候我们编辑/etc/resolv.conf 或者在Ubuntu网络连接里面指定DNS就不会清空/etc/resolv.conf了.
相关链接:
Ubuntu: http://www.ubuntu.com/
dnsmasq: http://www.thekelleys.org.uk/dnsmasq/doc.html
(责任编辑:IT) |