003.DNS主從正反解析部署

一 實驗環境

1.1 實驗需求

  • 配置正向解析bind
  • 配置反向解析bind
  • 配置輔助dns的bind
  • 實現主輔dns之間的區域傳送

1.2 環境規劃

主dns:CentOS6.8-01 172.24.8.10 linuxmaster.aliyun.comlinux

輔dns:CentOS6.8-02 172.24.8.11 linuxslave.aliyun.comwindows

yum+www服務器:CentOS7-03 172.24.8.30 mirrors.aliyun.com服務器

client:CentOS6.8-03 172.24.8.20 網絡

Domain Name:aliyun.com測試

二 配置正向解析

  1. 第一步:使用YUM安裝DNS所使用的軟件包(BIND)
  2. 第二步:建立或修改主配置文件(/etc/named.conf)
  3. 第三步:建立區域數據文件(/var/named/***.zone)
  4. 第四步:使用相關命令(named-checkconf、named-checkzone)測試配置文件及區域文件是否存在語法錯誤
  5. 第五步:確保主配置文件和各區域解析庫文件的權限爲640,屬主爲root,屬組爲named;
  6. 第六步:重啓服務或從新加載配置文件
  7. 第七步:更改iptables和selinux的設置(若是不瞭解此兩項能夠暫時關閉它們)
  8. 第八步:分別使用(dig/nslookup)在Linux/Windows主機進行查詢DNS相關資源記錄

2.1 安裝bind

1 [root@linuxmaster ~]# yum -y install bind

2.2 配置主配置文件

  1 [root@linuxmaster ~]# cat /etc/named.conf
  2 ……
  3 options {
  4         listen-on port 53 { 127.0.0.1; };
  5         listen-on-v6 port 53 { ::1; };
  6         directory       "/var/named";	                #存放區域文件根目錄,下面給出的相對路徑都是相對此目錄
  7         dump-file       "/var/named/data/cache_dump.db";
  8         statistics-file "/var/named/data/named_stats.txt";
  9         memstatistics-file "/var/named/data/named_mem_stats.txt";
 10         allow-query     { localhost; };			#容許哪些主機查詢
 11         recursion yes;					#是否容許遞歸查詢
 12 
 13         dnssec-enable yes;
 14         dnssec-validation yes;
 15 
 16         /* Path to ISC DLV key */
 17         bindkeys-file "/etc/named.iscdlv.key";
 18 
 19         managed-keys-directory "/var/named/dynamic";
 20 };
 21 
 22 logging {						        #定義日誌
 23         channel default_debug {
 24                 file "data/named.run";
 25                 severity dynamic;
 26         };
 27 };
 28 
 29 zone "." IN {						#定義根區域文件名稱
 30         type hint;
 31         file "named.ca";				        #相對路徑,便可/var/named/named.ca
 32 };
 33 
 34 include "/etc/named.rfc1912.zones";	                        #定義區域配置文件,若要新增也能夠在此使用include
 35 include "/etc/named.root.key";		                #根區域的key文件,與事務簽名相關
 36 註釋如下三行——
 37 //listen-on port 53 { 127.0.0.1; };
 38 //listen-on-v6 port 53 { ::1; };
 39 //allow-query     { localhost; };
 40 [root@linuxmaster ~]# service named start		        #啓動named服務
 41 [root@linuxmaster ~]# ss -taunl | grep "53"
 42 [root@linuxmaster ~]# netstat -tlun			        #驗證服務正常啓動

001

2.3 區域配置文件中新增zone

  1 [root@linuxmaster ~]# vi /etc/named.conf 			#在zone文件中增長區域
  2 ……
  3 zone "aliyun.com" IN {
  4 type master;
  5 file "aliyun.com.zone";
  6 };
  7 ……

2.4 新建區域zone文件

  1 [root@linuxmaster ~]# cd /var/named/
  2 [root@linuxmaster named]# cp /var/named/named.localhost /var/named/aliyun.com.zone
  3 [root@linuxmaster named]# vi /var/named/aliyun.com.zone
  4 $TTL 300;
  5 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
  6                     2017051720
  7                     1H
  8                     5M
  9                     7D
 10                     3D )
 11     IN  NS  linuxmaster
 12     IN  MX 20 MX
 13 linuxmaster IN  A   172.24.8.10
 14 www         IN  A   172.24.8.30
 15 mirrors     IN  A   172.24.8.30
 16 ftp         IN  CNAME   www
 17 [root@linuxmaster ~]# named-checkconf			#檢查配置文件
 18 [root@linuxmaster named]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone
 19 zone aliyun.com.zone/IN: loaded serial 2017051720
 20 OK

2.5 修改權限

  1 [root@linuxmaster ~]# chmod 640 /var/named/aliyun.com.zone
  2 [root@linuxmaster ~]# chown root:named /var/named/aliyun.com.zone
  3 注意:確保主配置文件和各區域文件權限爲640,屬主爲root,屬組爲named。
  4 [root@linuxmaster ~]# service named restart

2.6 關閉防火牆和SELinux

  1 [root@linuxmaster ~]# service iptables stop
  2 [root@linuxmaster ~]# setenforce 0
  3 [root@linuxmaster ~]# service named restart

2.7 測試解析

將dns修改成主dns服務器地址,以後ping linuxmaster.aliyun.com測試。spa

002

三 反向解析bind配置

正向解析與反向解析各自採用不一樣的解析庫,一臺DNS服務器能夠只有正向解析庫或只有反向解析庫,也能夠同時提供正向/反向解析。debug

反向區域的區域名稱格式:rest

ReverseIP.in-addr.arpa.日誌

例如:假設網絡地址爲172.16.100.1 那麼規則命名爲100.16.172.in-addr.arpacode

3.1 區域配置文件中新增反向zone

  1 [root@linuxmaster ~]# vi /etc/named.conf
  2 ……
  3 zone "8.24.172.in-addr.arpa" IN {
  4     type master;
  5     file "8.24.172.zone";
  6 };
  7 ……

3.2 新建反向區域zone文件

  1 [root@linuxmaster ~]# /var/named/8.24.172.zone
  2 $TTL 300;
  3 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
  4                     2017051720
  5                     1H
  6                     5M
  7                     7D
  8                     3D )
  9     IN  NS  linuxmaster.aliyun.com.
 10 8.10        IN  PTR linuxmaster.aliyun.com.
 11 8.30        IN  PTR www.aliyun.com.
 12 8.30        IN  PTR mirrors.aliyun.com.
 13 8.10        IN  PTR mx.aliyun.com.

注意:

反向解析不須要CNAME記錄,且MX記錄決不容許出如今反向解析庫裏;

8.10 ip地址沒寫全會自動從主配置文件中定義的區域名「24.172.in-addr.arpa」,沒寫全最後面不須要加.

  1 [root@linuxmaster ~]# named-checkconf				#檢查配置文件
  2 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone
  3 zone aliyun.com.zone/IN: loaded serial 2017051720
  4 OK
  5 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/8.24.172.zone
  6 zone aliyun.com.zone/IN: loaded serial 2017051720
  7 OK

3.3 修改權限

  1 [root@linuxmaster ~]# chmod 640 /var/named/24.172.zone
  2 [root@linuxmaster ~]# chown root:named /var/named/24.172.zone

注意:確保主配置文件和各區域文件權限爲640,屬主爲root,屬組爲named。

  1 [root@linuxmaster ~]# service named restart

3.4 關閉防火牆和SELinux

  1 [root@linuxmaster ~]# service iptables stop
  2 [root@linuxmaster ~]# setenforce 0
  3 [root@linuxmaster ~]# service named restart

3.5 測試解析

將dns修改成主dns服務器地址,以後在Windows客戶端使用nslookup測試。

003

四 輔助DNS配置

輔助DNS是針對區域來講的,若是有多臺DNS服務器,必須爲每一個DNS服務器創建NS記錄,不然主DNS將不向其發送通知。

4.1 定義區域

  1 zone 「區域名稱」 IN {
  2    type slave; 				#區域類型爲輔助
  3    file "slaves/ZONE_NAME.zone";	        #區域文件必須保存在slaves目錄下,放在其餘目錄沒有權限
  4    masters { 				#指出主服務器是誰,注意:花括號先後要有一個空格
  5      MASTER_DNS_IP;
  6      MASTER_DNS2_IP;
  7    };
  8 };

4.2 輔DNS上安裝bind

1 [root@linuxslave ~]# yum -y install bind

4.3 區域配置文件中新增輔助zone

  1 [root@linuxslave ~]# vi /etc/named.rfc1912.zones	        #建議添加在named.rfc1912.zones裏
  2 ……
  3 zone "aliyun.com" IN {
  4     type slave;
  5     file "slaves/aliyun.com.zone";
  6     masters { 172.24.8.10; };				#主DNS的地址
  7 };
  8 zone "8.24.172-addr.arpa" IN {
  9     type slave;
 10     file "slaves/24.8.172.zone";
 11     masters { 172.24.8.10; };
 12 };
 13 [root@linuxslave ~]# named-checkconf			#檢查配置

4.4 輔助dns關閉防火牆和SELinux

  1 [root@linuxslave ~]# service iptables stop
  2 [root@linuxslave ~]# setenforce 0
  3 [root@linuxslave ~]# service named restart

4.5 主DNS正向解析添加輔助DNS記錄

  1 [root@linuxmaster ~]# vi /var/named/aliyun.com.zone
  2 $TTL 300;
  3 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
  4                     2017051720
  5                     1H
  6                     5M
  7                     7D
  8                     3D )
  9     IN  NS  linuxmaster
 10     IN  NS  linuxslave
 11     IN  MX 20 MX
 12 linuxmaster	IN  A   172.24.8.10
 13 linuxslave	IN  A   172.24.8.11
 14 www		IN  A   172.24.8.30
 15 mirrors		IN  A   172.24.8.30
 16 mx			IN  A   172.24.8.10
 17 ftp			IN  CNAME   www

4.6 主DNS反向解析添加輔助DNS記錄

  1 [root@linuxmaster ~]# vi /var/named/8.24.172.zone
  2 $TTL 300;
  3 @   IN SOA  linuxmaster.aliyun.com. admin.aliyun.com. (
  4                     2017051720
  5                     1H
  6                     5M
  7                     7D
  8                     3D )
  9     IN  NS  linuxmaster.aliyun.com.
 10     IN  NS  linuxslave.aliyun.com.
 11 8.10        IN  PTR linuxmaster.aliyun.com.
 12 8.11        IN  PTR linuxslave.aliyun.com.
 13 8.30        IN  PTR www.aliyun.com.
 14 8.30        IN  PTR mirrors.aliyun.com.
 15 8.10        IN  PTR mx.aliyun.com.

4.7 檢查配置

  1 [root@linuxmaster ~]# named-checkconf				#檢查配置文件
  2 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone
  3 zone aliyun.com.zone/IN: loaded serial 2017051720
  4 OK
  5 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/8.24.172.zone
  6 zone aliyun.com.zone/IN: loaded serial 2017051720
  7 OK
  8 [root@linuxmaster ~]# service named restart

查看主DNS往輔助DNS的數據同步狀況

004

4.8 查看輔助dns

  1 [root@linuxslave ~]# yum -y install bind-utils			#安裝客戶端
  2 [root@linuxslave ~]# dig -t axfr aliyun.com @172.24.8.10            #查看輔助dns同步狀況

005

1 [root@linuxslave ~]# cat /var/named/slaves/aliyun.com.zone

006

注意:輔助DNS資源記錄是從主DNS同步過來的,不能手動更改。

007

Windows客戶端檢測。

總結:

  • 一、每一個DNS服務器必需要有一個對應的NS資源記錄;
  • 二、建立slave的時候,其配置文件類型必須是type slave; 必須指定主服務器的 IP地址 ;
  • 三、可使用dig -t axfr test.com @server_IP 從主DNS服務器拉取全部解析庫資源記錄;
  • 四、主輔同步完成後,將自動在slave服務器上的slaves/目錄下生成zone文件,這些區域文件是從主DNS同步過來的,通常爲只讀,不建議更改slave的zone文件;
  • 五、在主DNS上修改區域文件時,必須將SOA記錄的serial加1 由於slave是經過serial值來進行判斷更新的(windows系統上是自動完成的);
  • 六、DNS的日誌默認所有保存在/var/log/messege 文件中;
  • 七、DNS的解析依賴於解析庫,因此就算是所配置的內容是徹底不存在的也能夠解析(且正向解析和反向解析的解析庫是各自獨立的)。須要注意,正向解析裏沒有PTR記錄,而反向解析庫裏不須要A記錄、MX記錄和CNAME記錄
相關文章
相關標籤/搜索