使用wget下载文件时出现unable to resolve host name http://xxxx,根据网上的方法修改了/etc/resolv.conf后问题解决,可是每次重启电脑或者重启network-manager后该文件的修改总是丢失了
到底是谁改写了这个文件?
每次 做 service network-manager restart时该配置文件又复原了,看来是这个东西搞的鬼?
那么到底该怎么配置 DNS 呢
再次打开/etc/resolv.conf时注意到了这一句话:“DO NOT EDIT THIS BY HAND--YOUR CHANGES WILL BE OVERWRITTEN”
说得很明白,修改会被改写。
有些人说要修改/etc/sysconfig/network-scripts/ifcfg-eth0 才有用,可是Ubuntu和redhat系的linux在一些系统配置文件的构造上不是一样的,在ubuntu中是没有/etc/sysconfig这个目录的,对于ubuntu,网络的配置文件在/etc/network/interfaces,网上找到一种方法:
链接指向的是 /etc/run/resolvconf/resolv.conf ,那么咱们就来修改这个文件看能不能解决问题,悲剧的是该文件根本无法写入。
回到起点,寻找改写文件的源头,百思不得解。
最后终于找到两种可行的方法,先学着用吧
方法一
1.需要创建一个文件/etc/resolvconf/resolv.conf.d/tail
sudo vi /etc/resolvconf/resolv.conf.d/tail
2.在该文件中写入自己需要的dns服务器,格式与/etc/resolv.conf相同
nameserver 8.8.8.8
3.重启下resolvconf程序
sudo /etc/init.d/resolvconf restart
再去看看/etc/resolv.conf文件,可以看到自己添加的dns服务器已经加到该文件中
方法二
在/etc/network/interfaces中
- ###interfaces中#######
- auto eth0
- iface eth0 inet static
- address 192.168.3.250
- netmask 255.255.255.0 #子网掩码
- gateway 192.168.3.1 #网关
- dns-nameservers 8.8.8.8 8.8.4.4 #设置dns服务器
重启下resolvconf程序的方法:sudo /etc/init.d/resolvconf restart