/etc/resolv.conf它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf的关键字主要有四个,分别是:
nameserver #定义DNS服务器的IP地址
domain #定义本地域名,这个是对域名没有加.的加上域名,即在进行不完全域名解析时,默认的附加域名后缀。
search #定义域名的搜索列表,同上,一般不能跟domain并存
sortlist #对返回的域名进行排序
最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。
以下是一个resolv.conf的样例:
nameserver 127.0.0.1
nameserver 192.168.168.168
search localdomain
还有一个重要的参数:options timeout:n attempts:n
timeout是指连接某个dnsserver有问题造成堵塞的超时值,单位是秒;attempts是指解析域名尝试的次数。
根据内核源码/usr/include/resolv.h重的定义:
# define MAXNS 3 /* max # name servers we’ll track */
# define MAXDNSRCH 6 /* max # domains in search path */
# define RES_TIMEOUT 5 /* min. seconds between retries */
# define RES_DFLRETRY 2 /* Default #/tries. */
可以知道:
1、resolv.conf里的nameserver只能有3个,多了不管用;
2、timeout默认是5秒;
3、attempts默认是2次,也就是解析域名尝试的次数
a)、此值必须大于等于1
b)、这里的“次数”如果是1,指从nameserver1到nameserver3都做了尝试(碰巧都失败)。并非指某个nameserver的尝试次数。