BIND乃現今使用最為廣泛的DNS伺服器軟體
BIND服務的名稱謂之“named”
BIND設定檔儲存在兩個主要位置
▲ BIND服務主設定檔:/etc/named.conf
▲ zone檔案: /var/named/
chroot是通過將相關檔案封裝在一個偽根目錄內,以達到安全防衛的目的,一旦該程式被攻破,
將只能訪問偽根目錄內的內容,而不是真實的根目錄
通過:
yum install -y bind bind-chroot bind-utils
進行BIND安裝
預設使用53號連接埠
如果安裝了bind-chroot,BIND會被封裝在一個偽根目錄內(/var/named/chroot/),設定檔的位置則變為:
▲ BIND服務主設定檔:/var/named/chroot/etc/named.conf
▲ zone檔案: /var/named/chroot/var/named/
原來在/etc 和/var的內的配置資訊會被完全移到偽根內
BIND在安裝後沒有預置的設定檔,但在BIND的文檔檔案夾內(/usr/share/doc/bind-*),BIND為我們提供了設定檔範本
我們可以直接拷貝過來:
cp -rv /usr/share/doc/bind-9.3.6/sample/etc/* /var/named/chroot/etc
cp -rv /usr/share/doc/bind-9.3.6/sample/var/* /var/named/chroot/var
最小化的BIND服務主設定檔內容如下:
[root@even etc]# cat named.confoptions{ directory "/var/named"; listien-on port 53 {127.0.0.1;};};
佈建網域主伺服器(Master)
① --在BIND的主設定檔中添加域example.com的定義
定義:
設定指向每個網域名稱和IP地址映射資訊的檔案
● 設定檔位置
/var/named/chroot/etc/named.conf
● 在主設定檔中添加一行域的zone定義:
zone "example.com"{
type master;
file "example.com.zone";
};
② --為定義的域添加zone設定檔
定義:
使用者配置的網域名稱解析檔案:也稱為區檔案,若當前DNS伺服器需要解析多個網域名稱,則需要設定多個網域名稱解析檔案。若需要反向解析,還要設定對應的反向解析檔案。
● zone檔案的位置
/var/named/chroot/var/named/example.com.zone
● zone檔案內容
zone檔案內容比較複雜,手工輸入極易出錯,所以,
一般使用預設的named.localhost設定檔作為模板
cp named.localhost或者localdomain.zone example.com.zone
然後,添加資源記錄(RR)
IN MX 10 mail.example.com.
www IN A 192.168.1.110
mail IN A 192.168.1.126
並且:
★ 確保這些設定檔都有讀許可權:ll
★ selinux是關著:getenforce
③ --啟動BIND服務或重新整理配置
service named start
service named reload
④ --用本機作測試:將原生DNS配置指向本機
/etc/resolv.conf
nameserver 127.0.0.1
⑤ --使用host或者dig命令驗證DNS配置
[root@even named]# dig -t mx example.com; <<>> DiG 9.3.6-P1-RedHat-9.3.6-20.P1.el5 <<>> -t mx example.com;; global options: printcmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 65191;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 3;; QUESTION SECTION:;example.com. IN MX;; ANSWER SECTION:example.com. 86400 IN MX 10 mail.example.com.;; AUTHORITY SECTION:example.com. 86400 IN NS example.com.;; ADDITIONAL SECTION:mail.example.com. 86400 IN A 192.168.1.126example.com. 86400 IN A 127.0.0.1example.com. 86400 IN AAAA ::1;; Query time: 2 msec;; SERVER: 127.0.0.1#53(127.0.0.1);; WHEN: Tue Nov 27 20:13:03 2012;; MSG SIZE rcvd: 124[root@even named]# host www.example.comwww.example.com has address 192.168.1.110
錯誤排查
DNS配置文法晦澀,容易出現配置錯誤
BIND為我們提供了兩個語法檢查工具:
▼ named-checkconf可以查看BIND主設定檔的錯誤:
named-checkconf /var/named/chroot/etc/named.conf
▼ named-checkzone可以查看zone檔案的錯誤:
named-checkzone example.com /var/named/chroot/var/named/example.com.zone
通常,BIND配置要麼文法上出錯、要麼許可權上有錯