測試環境為CentOS 6.9,本機IP為47.94.215.189
安裝相關程序包,僅僅是測試目的,暫不安裝bind-chroot
~]# yum install -y bind bind-utils bind-libs
bind:
服務腳本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf,/etc/named.rfc1912.zones,/etc/rndc.key
解析庫文件:/var/named/ZONE_NAME.ZONE
(1) 一台物理服務器可以同時為多個區域提供解析
(2) 必須要有根區域文件,named.ca
(3) 應該有兩個(如果包括IPv6,應該更多)事項localhost和本地會換的解析
rndc:remote name domain controller,默認與bind安裝在同一主機,且只能通過127.0.0.1來連接named進程,提供輔助性的管理功能,953/tcp
主配置文件:
全局配置:options { }
日志系統配置:logging { }
區域定義:本機能夠為哪些zone進行解析,簡要定義哪些zone
zone "ZONE_NAME" IN {}
緩存名稱服務器的配置:
監聽外部地址即可
dnssec:
建議測試時關閉dnssec
dnssec-enable yes; --> dnssec-enable no
dnssec-validation yes; --> dnssec-validation no
主DNS名稱服務器:
(1) 在主配置文件中定義區域
zone "ZONE_NAME" IN {
type {master|slave|hint|forward};
file "ZONE_NAME.zone";
}
(2) 定義區域解析庫文件
出現的內容:
宏定義
資源記錄
假設已經從域名注冊機構拿到域名www.lushenle.com,IP地址為47.94.215.189
(1) 編輯/etc/named.rfc1912.zones文件,在文件尾部加入如下內容即可
zone "lushenle.com" IN {
type master;
file "lushenle.com.zone";
};
(2)在/var/named/目錄下創建名為lushenle.com.zone的文件
~]# vim /var/named/lushenle.com.zone
1 $TTL 1D 2 $ORIGIN lushenle.com. 3 @ IN SOA ns.lushenle.com. admin.lushenle.com. ( 4 20171107001 5 1H 6 5M 7 7D 8 1D ) 9 IN NS ns 10 IN MX 10 mx 11 ns1 IN A 47.94.215.189 12 mx1 IN A 47.94.215.189 13 www IN A 47.94.215.189 14 ftp IN CNAME www
雖然為測試,但在實際生產環境中,處於安全考慮,將文件權限改為640,屬組改為named組
~]# chmod 640 /var/named/lushenle.com.zone
~]# chown :named /var/named/lushenle.com.zone
修改/etc/named.conf文件,在修改之前最好先備份一下
~]# cp -v /etc/named.conf{,.bak}
~]# vim /etc/named.conf
1 options { 2 listen-on port 53 { 47.94.215.189; 127.0.0.1; }; 3 directory "/var/named"; 4 dump-file "/var/named/data/cache_dump.db"; 5 statistics-file "/var/named/data/named_stats.txt"; 6 memstatistics-file "/var/named/data/named_mem_stats.txt"; 7 allow-query { any; }; 8 recursion yes; 9 10 dnssec-enable no; 11 dnssec-validation no; 12 13 }; 14 15 logging { 16 channel default_debug { 17 file "data/named.run"; 18 severity dynamic; 19 }; 20 }; 21 22 zone "." IN { 23 type hint; 24 file "named.ca"; 25 }; 26 27 include "/etc/named.rfc1912.zones"; 28 include "/etc/named.root.key";
此時可檢查一下主配置文件與區域配置文件是否存在錯誤
~]# named-checkconf
~]# named-checkzone "lushenle.com" /var/named/lushenle.com.zone
如果不存在錯誤即可啟動服務,並進行測試
~]# service named start
~]# service named restart #不建議隨意重啟服務
~]# service named reload #重載服務,不重啟
~]# rndc reload #重載服務,不重啟
測試:
~]# dig -t A www.lushenle.com @47.94.215.189 +trace
~]# dig -t NS www.lushenle.com @47.94.215.189 +rrace +recurse
~]# host -t A www.lushenle.com 47.94.215.189