正常的修改Linux的DNS是编辑/etc/resolv.conf文件.
格式是: nameserver ,
如修改DNS为218.85.152.99(福建电信DNS)
nameserver 218.85.152.99
一般这样就直接好了..
但系统装有NetworkManager的话, 这样的修改只是临时的, 如重启计算机, 或者插拔网线/etc/resolv.conf被重置为:”nameserver 127.0.0.1”(在base中有定义,重新加载了base中的内容)
Ubuntu默认是有装NetworkManager的..
如果需要永久生效的话, 需要将/etc/NetworkManager/NetworkManager.conf中的dns=dnsmasq注释掉. 禁止使用dnsmasq插件.
[main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq
[ifupdown]
managed=false
然后重启NetworkManager
注意: 这里终端不能使用su 切换到root, 只能在当前用户使用sudo 去执行.
service network-manager restart
这个时候我们编辑/etc/resolv.conf 或者在Ubuntu网络连接里面指定DNS就不会清空/etc/resolv.conf了.
1 /etc/resolv.conf 其实是一个Link,它其实指向的是 /run/resolvconf/resolv.conf
2 Ubuntu 有一个 resolvconf 服务,如果重启它,那么 /etc/resolv.conf 的内容会被修改成默认的样子
所以 不能直接修改 /etc/resolv.conf
修改 resolvconf服务的配置文件: /etc/resolvconf/resolv.conf.d/head(或者base、tail这三个文件均可),加入所需的域名服务器:nameserver xxx.xxx.xxx.xxx
search mydomain.com
nameserver 61.139.39.73
nameserver 61.139.2.69
修改完成需要执行2个命令如下:
$resolvconf -u (关于 resolvconf 服务更多信息,可以用man查看:man resolvconf )
$/etc/init.d/networking restart