/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的嘗試次數。