在Ubuntu 14.04 64bit中永久添加DNS的方法;虚拟机与windows互相都可以ping通,但是ubuntu 就是ping不通www.baidu.com;找了N久,最后找到有效的办法

转载自: http://blog.csdn.net/tao_627/article/details/47909699


准备安装Mysql数据库时sudo apt-get install libncurses5-dev报错,Could not resolve 'mirrors.aliyun.com'。虚拟机与windows互相都可以ping通,但是ubuntu 就是ping不通www.baidu.com;找了N久,最后找到有效的办法。


DNS信息是由/etc/resolv.conf提供的,它是每次开机时,由/sbin/resolvconf生成的

/etc/resolv.conf是/run/resolvconf/resolv.conf的符号链接

错误的修改方法
直接修改/etc/resolv.conf文件添加DNS的方法并不可行,因为重启系统后,该配置文件会被重新覆盖。
这一点也可以该文件顶部的注释行证明

在Ubuntu 14.04 64bit中永久添加DNS的方法;虚拟机与windows互相都可以ping通,但是ubuntu 就是ping不通www.baidu.com;找了N久,最后找到有效的办法_第1张图片

原因解释:
在Ubuntu中有一个 resolvconf的服务,这个服务用来控制/etc/resolv.conf的内容。
所以一旦我们重启了系统或者该服务,那么/etc/resolv.conf文件中的内容将被还原为原来的内容。
所以直接修改/etc/resolv.conf并不能解决这个问题。


正确的修改方法
修改如下文件,默认是空的
sudo vim /etc/resolvconf/resolv.conf.d/base
在里面加入你想添加的DNS服务器,一行一个
在Ubuntu 14.04 64bit中永久添加DNS的方法;虚拟机与windows互相都可以ping通,但是ubuntu 就是ping不通www.baidu.com;找了N久,最后找到有效的办法_第2张图片
修改好后保存,然后执行
sudo /sbin/resolvconf -u
或者
sudo etc/init.d/resolvconf restart 


或者重启系统

再查看/etc/resolv.conf文件,已经将我们添加的内容加上了

cat /etc/resolv.conf

另一种方法
sudo vim /etc/network/interfaces
dns-nameservers 8.8.8.8 114.114.114.114

遇到的问题
无法实现上面的功能,不知道是什么原因?
http://jingyan.baidu.com/article/e5c39bf5bbe0e739d7603396.html 似乎有价值

最后的折衷解决方案,在网卡配置GUI中手动加入dns配置,然后使用下面的命令检查
nmcli dev list iface wlan0 | grep DNS
把wlan0换成你网路连接的硬体,看DNS是哪一个,就知道现在使用的DNS是谁


参考文献
[1].http://blog.csdn.net/yangcs2009/article/details/26674311
[2].http://www.linuxidc.com/Linux/2009-08/21425.htm  解决方法在文章最后
[3].http://www.tuicool.com/articles/iiUjAj  这个是最终解决办法
[4].http://askubuntu.com/questions/130452/how-do-i-add-a-dns-server-via-resolv-conf

[5].http://www.tuicool.com/articles/RVZn2y  针对Ubuntu 14.04的

你可能感兴趣的:(LINUX使用,ubuntu)