曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 3147|回复: 1
打印 上一主题 下一主题

resolv.conf 文件

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34387
跳转到指定楼层
楼主
发表于 2013-1-23 00:29:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
/etc/resolv.conf 是 DNS 解析器(resolver) 的配置文件。

解析器的主要功能是将一个未合格域名(unqualified domain name)转换成一个 FQDN (完全合格域名),然后将此 FQDN 传到 DNS,最后获得该 FQDN 所对应的 IP 地址。

在日常的应用中,比如只要在浏览器里输入 www.groad.net 时就能浏览网页,但是对于 DNS 来说,它并不是一个完全合格的域名(FQDN);www.groad.net 所对应的完全合格域名是 www.groad.net. ,即在后面添加一个 '.' ,该点符号表示的是根域。像在 Linux 里,目录的组织形式是树形结构,绝对目录路径以根(/)符号开始的,读取目录的顺序是从左到右。类似的,域名的组织形式也是树形结构,不同的是域名的正确阅读顺序是从右到左,如 www.groad.net. ,它从最右边的根(. , root domain)开始,然后到 net 这个顶层域(Top-level domain),然后是第二层域(groad) ,接着是 www 这个子域或者说是主机名。


来看一个简单的 resolv.conf :
# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.1.1
由注释知道,文件的内容由 NetworkManager 这个程序自动产生,其中 nameserver 指定了 DNS 服务器 IP。比如我们在通过家用路由器上网时,内网计算机使用 DHCP 自动获取内网 IP 时,内网计算机使用网关 IP 作为 DNS 服务器 IP 。也就是说,你在浏览器里输入 www.google.com 时,你的计算机将此域名的解析请求发到路由网关上,而网关一般会将域名发到运营商的 DNS 服务器上请求解析,在获得相应的 IP 后,网关会将此 IP 返回给发出请求的内网计算机。

一般情况下,可以用 nameserver 指令指出 2 条 DNS 服务器 IP(最高可以指定 3 条) ,第 1 条相当于主 DNS 服务器,第 2 条相当于备用 DNS 服务器,其查询顺序依照主次而来,比如:
nameserver 8.8.8.8
nameserver 114.114.114.114

还有一个重要的指令是 search ,它后面往往跟着域名搜索列表。比如你将 search groad.net 添加到 resolv.conf 中时,你如果 ping 一下 www ,那么系统会返回 ping 到 www.groad.net 的信息:
[root@beyes   beyes]# ping www
PING www.groad.net (184.22.140.27) 56(84) bytes of data.
... ...
这是因为,search 指示优先匹配 groad.net 这个二级域,如果匹配好的域名(完全合格域名)正确,那么就返回该域名的 IP 。

现在将 search groad.net 改为 search groad.net sohu.com ,然后再执行下面的 ping :
# ping auto
PING fgz.a.sohu.com (121.14.0.97) 56(84) bytes of data.
64 bytes from 121.14.0.97: icmp_req=1 ttl=57 time=28.3 ms
64 bytes from 121.14.0.97: icmp_req=2 ttl=57 time=29.5 ms
64 bytes from 121.14.0.97: icmp_req=3 ttl=57 time=303 ms
... ...
由上面可以看到,匹配的是 sohu.com 的域名。这是因为 groad.net 并没有配置 auto 这个主机,因此 DNS 没法查询到,故而继续对指定的 sohu.com 进行查询。至于 ping 中得到的是 fgz.a.sohu.com 而不是 auto.sohu.com ,这是因为 auto.sohu.com 使用了 CNAME 的缘故,这个可以使用 dig  命令可以看得出来。


再如指定 search sports.sohu.com 时,你只要 ping cbachina 时,可以看到:
# ping cbachina
PING fgz.a.sohu.com (121.14.0.97) 56(84) bytes of data.
64 bytes from 121.14.0.97: icmp_req=1 ttl=57 time=28.6 ms
64 bytes from 121.14.0.97: icmp_req=2 ttl=57 time=29.9 ms
64 bytes from 121.14.0.97: icmp_req=3 ttl=57 time=29.0 ms
... ...
同样,chbchina.sports.sohu.com 是 fgz.a.sohu.com 的别名。

0

主题

1

帖子

0

积分

初学弟子

积分
0
沙发
发表于 2013-2-26 23:25:36 | 只看该作者
上次面试就给人家问到这个。。。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-6-18 03:45 , Processed in 0.062949 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表