DNS的作用:
正向解析:根據主機名稱(域名)查找對應的 IP 地址
反向解析:根據 IP 地址查找對應的主機域名
DNS的類型:
(1)緩存域名服務器
也稱爲 唯高速緩存服務器
通過向其他域名服務器查詢獲得域名 -> IP 地址記錄
將域名查詢結果緩存到本地,提高重複查詢時的速度
(2)主域名服務器
特定 DNS 區域的官方服務器,具有唯一性
負責維護該區域內所有域名 -> IP 地址的映射記錄
(3)從域名服務器
也稱爲 輔助域名服務器
其維護的 域名 -> IP 地址記錄 來源於主域名服務器
相關軟件包
(1)bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm提供了域名服務的主要程序及相關文件
(2)bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm提供了對DNS服務器的測試工具程序
(3)bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm提供了bind、bind-utils需要使用的庫函數
(4)bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm爲BIND服務提供一個僞裝的根目錄(將/var/named/chroot/文件夾作爲BIND的根目錄),以提高安全性
實驗步驟:
搭建緩存域名服務器
- 插入安裝光盤並掛載,然後安裝bind軟件包及相關的軟件包。
- 編輯主配置文件。
主配置文件named.conf通常位於/etc/目錄下,如果安裝了bind-chroot軟件包,則主配置文件默認位於/var/named/chroot/etc/目錄下,需要用戶手工建立。在named.conf文件中,主要包括全局配置、區域配置兩個部分,每一條配置記錄的行尾以分號“;”表示結束,以“#”號或“//”開始的部分表示註釋文件(大段註釋可以使用“/……/”的格式)
上述配置內容中,除了directory項通常會保留以外,其他的配置項都可以省略。若不指定listen-on配置項時,named默認在所有接口的UDP 53端口監聽服務;不指定allow-query配置項時,默認會響應所有客戶機的查詢請求。dump-file、statistics-file、memstatistics-file等配置項用於指定緩存數據庫文件、狀態統計文件的位置。添加了“zone “.” in { };”部分的根區域設置,儘管緩存服務器並沒有自主控制的區域數據,但可以向根服務器進行迭代查詢,並將最終獲得的解析結果反饋給客戶。
有時候爲了提高解析效率,也可以不向根分區查詢,而是將來自客戶端的查詢請求轉發給國內電信運營商的DNS服務器(如北京的202.106.0.20、202.106.148.1),緩存服務器收到返回的查詢結果後再傳遞給客戶端。只要去掉“zone “.” in {……};”的設置,並在全局配置中正確設置forwarders參數即可實現該功能。如下所示:
[root@localhost ~]# vim /var/named/chroot/etc/named.conf
options {
…… //省略部分內容
Forwarders { 202.106.0.20;202.106.148.1 };
};
3.確認根域的區域數據庫文件named.ca
根區域的區域數據庫文件默認位於文件/var/named/chroot/var/named/named.ca中,該文件記錄了Internet中13臺根域服務器的域名和IP地址等相關信息。 - 啓動named服務
執行“service named start”命令,啓動named服務,並通過netstat命令確認named服務的端口監聽狀態。若服務啓動失敗或發現沒有正常監聽UDP 53端口,可以根據錯誤提示信息(或者/var/log/messages文件中的日誌記錄)排除錯誤,然後再重啓服務即可。
緩存服務器搭建成功!
搭建主、從域名服務器
搭建主域名服務器
1.設置本機的IP地址、主機名稱,通過修改網絡配置文件的方式進行。另外,爲了提高域名解析效率,建議將兩個DNS服務器的地址映射直接寫入到/etc/hosts文件中,並在/etc/resolv.conf文件中指定兩個DNS服務器的地址。
2.建立主配置文件named.conf
新創建的named.conf主配置文件,由於只需要提供benet.com域的正向解析和173.16.16.0/24網段的反向解析,因此相應的添加這兩個區域即可。根區域、迴環域等其他配置內容可以省略。
當不需要建立從域名服務器時,上述配置內容中的“allow-transfer……”部分可以不添加;當不需要提供反向解析,“zone “16.16.173.in-addr.arpa”……”部分也可以去掉。
3.建立正、反向區域數據文件
根據named.conf中的zone區域設置,分別建立正向區域數據文件benet.com.zone、反向區域數據文件173.16.16.arpa。配置內容可以參考迴環域的區域數據文件/var/named/chroot/var/named/localdomain.zone,並根據實際情況進行修改。
區域數據配置文件通常位於/var/named/目錄下。如果安裝了bind-chroot軟件包,則默認位於/var/named/chroot/var/named/目錄下,需要手工建立。每個區域數據文件對應一個DNS解析區域,文件名及內容由該域的管理員自行設置。
在區域數據文件中,主要包括TTL配置項、SOA(Start Of Authority,授權信息開始)記錄、地址解析記錄。文件中的註釋信息以分號“;”開始。
- 建立主配置文件named.conf
在從域名服務器中,named.conf文件的內容與主服務器的內容大部分相同,只是不需要再設置“allow-transfer ……”;更關鍵的一點是,zone部分的區域類型應設置爲“slave”,並添加“masters { };”語句來指定主域名服務器的地址。
由於從服務器的區域數據文件是從主服務器中下載而來,因此該文件保存的名稱可以自行定義,不用非得與主服務器中的一致。但需要注意的是,named”服務默認以名爲“named”的用戶身份運行,因此要確認named用戶對存放目錄有寫入權限。 - 啓動named服務,查看區域數據文件是否下載成功
在從域名服務器中執行“service named start”命令以啓動named服務。
若配置無誤,則named將會從主域名服務器中自動下載指定的區域數據文件,並保存到“slaves/”目錄下。另外,通過系統日誌文件/var/log/messages也可以觀察到下載區域數據文件的過程。 - 驗證從域名服務器
驗證從域名服務器時,只需要將客戶端的首選DNS服務器地址設爲173.16.16.6(從域名服務器的IP地址),使用nslookup命令進行正常測試即可。
從域名服務器已搭建好!
Linux清除緩存命令:rndc flush