之前设置成静态IP的时候,同时也设置了DNS服务器IP,也就是在/etc/resolv.conf中设置了dns服务器的IP,但是在重启后仍然无法上网,发现问题是重启后,/etc/resolv.conf中的内容被覆盖为空了,于是上网查阅资料,找到了以下方法(ps:本人只实验过最后一种方法,其他的应该也是没问题的,大家可以试一试),供作自己笔记和大家分享。
ubuntu设置DNS。重启也有效的方法
方法一
通过/etc/network/interfaces,在它的最后增加一句:
dns-nameservers 8.8.8.8
8.8.8.8是Google提供的DNS服务,这里只是举一个例子,你也可以改成电信运营商的DNS。重启后DNS就生效了,这时候再看/etc/resolv.conf,最下面就多了一行:
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
方法二
通过修改:
sudo vi /etc/resolvconf/resolv.conf.d/base(这个文件默认是空的)
在里面插入:
nameserver 8.8.8.8
nameserver 8.8.4.4
如果有多个DNS就一行一个
修改好保存,然后执行
sudo resolvconf -u
再看/etc/resolv.conf,最下面就多了2行:
cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
可以看到我们的设置已经加上了,然后再ping一个域名,当时就可以解析了,无需重启。
附:CentOS下修改DNS则容易的多了,直接修改/etc/resolv.conf,内容是:
nameserver 8.8.8.8
nameserver 8.8.4.4
保存就生效了,重启也没问题。
方法三
首先我们需要创建一个文件/etc/resolvconf/resolv.conf.d/tail:
#vim /etc/resolvconf/resolv.conf.d/tail
然后我们在这个文件里写入自己要添加的DNS服务器,格式与以前的/etc/resolv.conf文件一致:
nameserver 8.8.8.8
nameserver 8.8.4.4
然后输入wq保存退出。接下来我们重启下resolvconf程序,让配置生效:
#/etc/init.d/resolvconf restart
再去看看/etc/resolv.conf文件,自己添加的DNS服务器果然乖乖的写进去了!至此问题完美解决!