情况概述:
inode验证通过,上不了网,ping 127.0.0.1,本地主机协议栈没有问题。
1 查看 /etc/host.conf(该配置文件告诉DNS如何查找主机名) 。显示:
order hosts,bind // 表示首先通过查找本地的/etc/hosts文件来解析名字
multi on //确定是否在/etc/hosts 文件中有指定了多个IP地址
没有问题。
2 查看 /etc/resolv.conf(该配置文件)
发现只有一个 nameserver:!!!
nameserver 127.0.0.1 // 这是怎么回事。。。DNS的IP是本地主机地址。。。。
所以加入了我们校园网的DNS: sysu.edu.cn,就阔以了!!!
但是:开关机,插拔网线都会导致resolve.conf被重新覆盖。。。
这是为虾米惹????
原来是NetworkManager惹的祸。。。
这是NetworkManager.conf文件中的内容
[main]
plugins=ifupdown,keyfile
dns=dnsmasq //这一行要注释掉(“#”),禁止使用dnsmasq插件
[ifupdown]
managed=false
这样就ok了。。。。
但是!!!还没有完,比如dnsmasq是什么东东!!!
百科链接:
贴吧解释:
dnsmasq是一个轻量级的dns服务
在本机上配置好该dns服务,然后把自己系统的dns服务器地址设置为本地的127.0.0.1,那么因为dns的信息全部保存在了本地,而不用通过网络进行访问,所以速度会非常快
而即便你把dnsmasq需要访问的dns服务器设置为一个相对比较慢,但是却很可靠的地址上,那么,除了第一次访问某个新网页比较慢之外(与远程dns服务器的传送速度慢),以后打开该网页都会非常快----起码说来,拿来防御那个该死的域名劫持是非常有用的(不小心敲错地址就给你弹出电信广告或者115查询,而且对此非常恶心的非常适合用这个..)。
这样看来,dnsmasq还有防御域名劫持的功能!不行,我不能关掉它!不然好没有安全感。。。
于是把NetworkManage.conf修改回来,然后再restart网络服务。这个时候,resolve.conf里面什么都没有了。。。。
根据贴吧同学的经验,直接就在resolve.conf里只有一个本地IP作为nameserver(又回到原点了呢!!!!!)
然后,再用inode上网。。。ok了。
到这里,我又查看了一下此时的resolv.conf:
nameserver 127.0.0.1
search sysu.edu.cn
变成了这样。。。也就是说指定域名搜索列表里,多了sysu.edu.cn。
关于resolv.conf的选项:
原文链接:http://www.51osos.com/a/Linux_CentOS_RedHat/Linuxjichu/2010/1001/107.html
以下为摘录部分:
它是DNS客户机配置文件,用于设置DNS服务器的IP地址及DNS域名,还包含了主机的域名搜索顺序。该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件。它的格式很简单,每行以一个关键字开头,后接一个或多个由空格隔开的参数。
resolv.conf的关键字主要有四个,分别是:
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
nameserver表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的,且只有当第一个nameserver没有反应时才查询下面的nameserver。
domain 声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( .)前面的内容。
search 它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。
domain和search不能共存;如果同时存在,后面出现的将会被使用。
sortlist 允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。