1.簡介
resolv.conf是各種操作系統(tǒng)域名系統(tǒng)解析器(DNS Resolver)的配置文件。每當(dāng)一個(gè)程序需要通過域名來訪問Internet上面的其它主機(jī)時(shí),需要利用Resolver庫函數(shù)將域名轉(zhuǎn)換成對應(yīng)的IP,然后才可進(jìn)行訪問。
注意,域名系統(tǒng)解析器(DNS Resolver)并非一個(gè)可執(zhí)行程序,而是C語言的一系列庫函數(shù),用于解析resolv.conf獲取域名對應(yīng)的IP。關(guān)于Resolver的解釋,可以使用man 3 resolver
查看幫助手冊。
2.配置詳情
resolv.conf的配置主要包含如下幾項(xiàng):
(1)nameserver x.x.x.x。用于配置DNS服務(wù)器,可以使用多個(gè)nameserver指定多個(gè)DNS服務(wù)器。
(2)search domain1 domain2 baidu.com。該選項(xiàng)可以用來指定多個(gè)域名,中間用空格或tab鍵隔開。其作用是當(dāng)訪問的域名不能被DNS解析時(shí),resolver會(huì)將該域名加上search指定的參數(shù),重新請求DNS,直到被正確解析或試完search指定的域名列表為止。比如:
#ping news
PING news.baidu.com (74.125.128.101) 56(84) bytes of data.
64 bytes from hg-in-f101.1e100.net (74.125.128.101): icmp_req=1 ttl=47 time=78.9 ms
64 bytes from hg-in-f101.1e100.net (74.125.128.101): icmp_req=2 ttl=47 time=63.6 ms
(3)domain mydomain.com。用于定義本地域名。在沒有設(shè)置search的情況下,search默認(rèn)為domain的值。
(4)sortlist IP/netmask IP。允許將得到的域名結(jié)果進(jìn)行特定的排序。它的參數(shù)為IP或掩碼-IP對,掩碼是可選的,使用斜杠分隔。比如:
sortlist 130.155.160.0/255.255.240.0 130.155.0.0
(5)options。用于配置resolver的內(nèi)置變量,不是resolv.conf的常見配置。語法格式如下:
option部分取值如下:
ndots:[n]:設(shè)置調(diào)用res_query()解析域名時(shí)域名至少包含的點(diǎn)的數(shù)量
timeout:[n]:設(shè)置等待dns服務(wù)器返回的超時(shí)時(shí)間,單位秒。默認(rèn)值RES_TIMEOUT=5,參見<resolv.h>
attempts:[n]:設(shè)置resolver向DNS服務(wù)器發(fā)起域名解析的請求次數(shù)。默認(rèn)值RES_DFLRETRY=2,參見<resolv.h>
rotate:在_res.options中設(shè)置RES_ROTATE,采用輪詢方式訪問nameserver,實(shí)現(xiàn)負(fù)載均衡
no-check-names:在_res.options中設(shè)置RES_NOCHECKNAME,禁止對傳入的主機(jī)名和郵件地址進(jìn)行無效字符檢查,比如下劃線(_),非ASCII字符或控制字符
3.注意事項(xiàng)
(1)search和domain不能共存,如果同時(shí)存在,以最后出現(xiàn)的為準(zhǔn)。
(2)分號(;)或井號(#)開頭的行為注釋行;
(3)每一個(gè)配置項(xiàng)必須單獨(dú)成行,且以關(guān)鍵詞開頭,空格分隔配置值。
4.示例
下面是一個(gè)resolv.conf的內(nèi)容。
nameserver 202.102.192.68
nameserver 202.102.192.69
search qq.com baidu.com
options no-check-names
options attempts:1
options timeout:1
以上就是淺析Linux resolv.conf的詳細(xì)內(nèi)容,更多關(guān)于Linux resolv.conf的資料請關(guān)注腳本之家其它相關(guān)文章!