dns是互聯網中最核心的帶層級的分佈式系統,負責把域名解析成ip,把IP解析出域名,以及宣告郵件路由信息等等,使得使用域名訪問網站,收發郵件成了可能。
bind(berkeley Internet Name Domain) 是流行與linux上的域名解析服務。linux
首先解析下什麼是遞歸解析和迭代解析,本人也常常搞混,可是還得記下來,在瞭解遞歸和迭代以前,先聊下下DNS的組成部分。vim
共兩部分緩存
根據類別不一樣,分紅以下幾類:服務器
2.1. 權威域名解析器(Autoritatvie Name Server )
負責受權域下的域名解析服務,由上級權威域名服務器使用NS記錄進行受權。
有如下3級權威域名服務器tcp
主機名 | ip | 管理方 |
---|---|---|
a.root-servres.net | 198.41.0.4 | VeriSign.Inc |
b.root-servers.net | 192.228.79 | California(ISI)| |
c.boot-servers.net | 192.33.4.12 | Cogent Communications |
注意
這裏是13組根域服務器,不是13臺。其中大多數採用了anycast技術,由於分佈到不一樣的地區。分佈式
以上三類權威域名解析器的受權結構圖以下所示
網站
2.2. 緩存域名服務器(caching Name Server)
這類的域名服務器負責接受解析器發過來的DNS請求,經過依次查詢根域名服務器->頂級域名服務器-> 二級域名服務器來獲取DNS解析結果,而後把結果發送給解析器,同時根據DNS條目的TTL(time to live)值進行緩存,它有兩個做用:.net
2.3. 轉發域名服務器
這類域名服務器負責把解析器發過來的DNS請求,轉發給指定的上級域名服務器得到DNS解析的條目,而後把結果發給解析器。和緩存域名服務器不一樣的是,這類服務器不進行任何緩存,只是轉發而已。code
經過遞歸查詢和迭代查詢的分析能夠知道,對於權威域名服務器,打開了遞歸查詢功能,至關於把它配置成了開放的DNS服務器,會形成大量數據流,影響正常的服務提供,所以,在權威服務器上,能夠結合本身公司的狀況來肯定是否須要禁用遞歸查詢。
經過yum安裝的bind,配置文件在/etc/named.conf,配置禁用遞歸查詢的參數默認在18行,以下:server
[root@localhost ~]# vim /etc/named.conf 18 recursion yes; # 第18行 ,把yes改成no就好了