浅析Linux resolv.conf
1.简介
resolv.conf是各种操作系统域名系统解析器(DNSResolver)的配置文件。每当一个程序需要通过域名来访问Internet上面的其它主机时,需要利用Resolver库函数将域名转换成对应的IP,然后才可进行访问。
注意,域名系统解析器(DNSResolver)并非一个可执行程序,而是C语言的一系列库函数,用于解析resolv.conf获取域名对应的IP。关于Resolver的解释,可以使用man3resolver查看帮助手册。
2.配置详情
resolv.conf的配置主要包含如下几项:
(1)nameserverx.x.x.x。用于配置DNS服务器,可以使用多个nameserver指定多个DNS服务器。
(2)searchdomain1domain2baidu.com。该选项可以用来指定多个域名,中间用空格或tab键隔开。其作用是当访问的域名不能被DNS解析时,resolver会将该域名加上search指定的参数,重新请求DNS,直到被正确解析或试完search指定的域名列表为止。比如:
#pingnews PINGnews.baidu.com(74.125.128.101)56(84)bytesofdata. 64bytesfromhg-in-f101.1e100.net(74.125.128.101):icmp_req=1ttl=47time=78.9ms 64bytesfromhg-in-f101.1e100.net(74.125.128.101):icmp_req=2ttl=47time=63.6ms
(3)domainmydomain.com。用于定义本地域名。在没有设置search的情况下,search默认为domain的值。
(4)sortlistIP/netmaskIP。允许将得到的域名结果进行特定的排序。它的参数为IP或掩码-IP对,掩码是可选的,使用斜杠分隔。比如:
sortlist130.155.160.0/255.255.240.0130.155.0.0
(5)options。用于配置resolver的内置变量,不是resolv.conf的常见配置。语法格式如下:
options[option]...
option部分取值如下:
ndots:[n]:设置调用res_query()解析域名时域名至少包含的点的数量
timeout:[n]:设置等待dns服务器返回的超时时间,单位秒。默认值RES_TIMEOUT=5,参见
attempts:[n]:设置resolver向DNS服务器发起域名解析的请求次数。默认值RES_DFLRETRY=2,参见
rotate:在_res.options中设置RES_ROTATE,采用轮询方式访问nameserver,实现负载均衡
no-check-names:在_res.options中设置RES_NOCHECKNAME,禁止对传入的主机名和邮件地址进行无效字符检查,比如下划线(_),非ASCII字符或控制字符
3.注意事项
(1)search和domain不能共存,如果同时存在,以最后出现的为准。
(2)分号(;)或井号(#)开头的行为注释行;
(3)每一个配置项必须单独成行,且以关键词开头,空格分隔配置值。
4.示例
下面是一个resolv.conf的内容。
nameserver202.102.192.68 nameserver202.102.192.69 searchqq.combaidu.com optionsno-check-names optionsattempts:1 optionstimeout:1
以上就是浅析Linuxresolv.conf的详细内容,更多关于Linuxresolv.conf的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。