CentOS 6ベースのプライマリ・スレーブDNSサーバ構築


1、rootユーザーに切り替える
2、2台のサーバーにbindを分散インストールする 
yum install bind

3、2台のサーバーbindバージョンを比較する
4、マスタープロファイル情報を修正し、マスタープロファイルをバックアップしてから修正することを提案する.
cp /etc/named.conf /etc/named.conf.bak
vi /etc/named.conf
options {
	listen-on port 53 { 127.0.0.1; };  //     53  
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
	allow-query     { localhost; }; //         
	recursion yes;

	dnssec-enable yes;
	dnssec-validation yes;
	dnssec-lookaside auto;

	/* Path to ISC DLV key */
	bindkeys-file "/etc/named.iscdlv.key";

	managed-keys-directory "/var/named/dynamic";
};

    デフォルトでは、ネイティブの53ポートのみがリスニングされます.サービスを提供するには、少なくとも1つの外部ネットワークアドレス53ポートのリスニングを追加し、すべてのユーザーが再帰的なクエリーを許可する必要があります.すべてのdnssecにコメントします.
vi /etc/named.conf
options {
	listen-on port 53 { 192.168.0.15;  127.0.0.1; };   //      ,            
	listen-on-v6 port 53 { ::1; };
	directory 	"/var/named";
	dump-file 	"/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
	allow-query     { any; };        //    
	recursion yes;

//	dnssec-enable yes;
//	dnssec-validation yes;
//	dnssec-lookaside auto;

	/* Path to ISC DLV key */
//	bindkeys-file "/etc/named.iscdlv.key";
//
//	managed-keys-directory "/var/named/dynamic";
};

5、本サーバー53ポートの傍受状況を確認する
[root@localhost ~]# ss -tunlp | grep :53
udp    UNCONN     0      0           192.168.0.15:53                    *:*      users:(("named",4387,513))
udp    UNCONN     0      0              127.0.0.1:53                    *:*      users:(("named",4387,512))
udp    UNCONN     0      0                    ::1:53                   :::*      users:(("named",4387,514))
tcp    LISTEN     0      3                    ::1:53                   :::*      users:(("named",4387,22))
tcp    LISTEN     0      3           192.168.0.15:53                    *:*      users:(("named",4387,21))
tcp    LISTEN     0      3              127.0.0.1:53                    *:*      users:(("named",4387,20))

以上の操作は、プライマリ・スレーブの2つのサーバに対して同じ構成です.
6、メインDNSサーバーの構成:
    領域の定義:
[root@localhost ~]# cat /etc/named.rfc1912.zones 

zone "armo.com" IN {
	type master;
	file "armo.com.zone";
};                                        //    

zone "0.168.192.in-addr.arpa" IN {
	type master;
	file "192.168.0.zone";
};                                        //    

    ゾーン解析ライブラリファイルを定義するには、次の手順に従います.
[root@localhost ~]# cat /var/named/armo.com.zone 
$TTL 1d
@	IN	SOA	ns1.armo.com.	admin.armo.com(
			2016020301
			1H
			5M
			7D
			1D)
	IN	NS	ns1.armo.com.
	IN	NS	ns2.armo.com.
	IN	MX	10	mx1.armo.com.
	IN	MX	20	mx2.armo.com.
ns1	IN	A	192.168.0.1
ns2	IN	A	192.168.0.17
mx1	IN	A	192.168.0.4
mx2	IN	A	192.168.0.1
www	IN	A	192.168.0.17                          //       

[root@localhost ~]# cat /var/named/192.168.0.zone 
$TTL 1d
$ORIGIN 0.168.192.in-addr.arpa.
@	IN	SOA	ns1.armo.com.	admin.armo.com.(
			2016020301
			1H
			5M
			7D
			1D)
	IN	NS	ns1.armo.com.
	IN	NS	ns2.armo.com.
1	IN	PTR	ns1.armo.com.
17	IN	PTR	www.armo.com.
4	IN	PTR	mx1.armo.com.
1	IN	PTR	mx2.armo.com.
17	IN	PTR	ns2.armo.com.	                    //       

    構文エラーがないかチェック
name-checkconf          //              
named-checkzone "armo.com" /var/named/armo.com.zone     //        

    ファイル権限およびグループの変更
[root@localhost named]# chmod 640 armo.com.zone 
[root@localhost named]# chown :named armo.com.zone    //  

[root@localhost named]# chmod 640  192.168.0.zone
[root@localhost named]# chown :named  192.168.0.zone    //  

    メインDNSサーバーの解析をテストします.
[root@localhost ~]# dig -t A www.armo.com @192.168.0.15

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.6 <<>> -t A www.armo.com @192.168.0.15
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52591
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.armo.com.			IN	A

;; ANSWER SECTION:
www.armo.com.		86400	IN	A	192.168.0.17

;; AUTHORITY SECTION:
armo.com.		86400	IN	NS	ns2.armo.com.
armo.com.		86400	IN	NS	ns1.armo.com.

;; ADDITIONAL SECTION:
ns1.armo.com.		86400	IN	A	192.168.0.1
ns2.armo.com.		86400	IN	A	192.168.0.17

;; Query time: 2 msec
;; SERVER: 192.168.0.15#53(192.168.0.15)
;; WHEN: Wed Feb  3 06:01:38 2016
;; MSG SIZE  rcvd: 114                        //  

[root@localhost ~]# dig -x 192.168.0.4 @192.168.216.231

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.6 <<>> -x 192.168.0.4 @192.168.216.231
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63940
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;4.0.168.192.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
4.0.168.192.in-addr.arpa. 86400	IN	PTR	localhost.

;; Query time: 29 msec
;; SERVER: 192.168.216.231#53(192.168.216.231)
;; WHEN: Wed Feb  3 06:03:42 2016
;; MSG SIZE  rcvd: 65                        //  

7.DNSサーバからの構成
    プライマリDNSサーバとのゾーン転送のテスト
[root@localhost ~]# dig -t axfr armo.com @192.168.0.15

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.6 <<>> -t axfr armo.com @192.168.0.15
;; global options: +cmd
armo.com.		86400	IN	SOA	ns1.armo.com. admin.armo.com.armo.com. 2016020301 3600 300 604800 86400
armo.com.		86400	IN	NS	ns1.armo.com.
armo.com.		86400	IN	NS	ns2.armo.com.
armo.com.		86400	IN	MX	10 mx1.armo.com.
armo.com.		86400	IN	MX	20 mx2.armo.com.
mx1.armo.com.		86400	IN	A	192.168.0.4
mx2.armo.com.		86400	IN	A	192.168.0.1
ns1.armo.com.		86400	IN	A	192.168.0.1
ns2.armo.com.		86400	IN	A	192.168.0.17
www.armo.com.		86400	IN	A	192.168.0.17
armo.com.		86400	IN	SOA	ns1.armo.com. admin.armo.com.armo.com. 2016020301 3600 300 604800 86400
;; Query time: 21 msec
;; SERVER: 192.168.0.15#53(192.168.0.15)
;; WHEN: Wed Feb  3 06:04:40 2016
;; XFR size: 11 records (messages 1, bytes 273)

    領域の定義
[root@localhost ~]# cat /etc/named.rfc1912.zones 
zone "armo.com" IN {
        type slave;
        masters {192.168.0.15;};
        file "slave/armo.com.zone";
}

    サービスの開始
service named start

    同期情報の表示
[root@localhost ~]# tail /var/log/messages 
Feb  3 06:20:42 localhost named[15085]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
Feb  3 06:20:42 localhost named[15085]: zone localhost.localdomain/IN: loaded serial 0
Feb  3 06:20:42 localhost named[15085]: zone localhost/IN: loaded serial 0
Feb  3 06:20:42 localhost named[15085]: managed-keys-zone ./IN: loaded serial 2
Feb  3 06:20:42 localhost named[15085]: running
Feb  3 06:20:42 localhost named[15085]: zone armo.com/IN: Transfer started.
Feb  3 06:20:42 localhost named[15085]: transfer of 'armo.com/IN' from 192.168.0.15#53: connected using 192.168.0.17#43758
Feb  3 06:20:42 localhost named[15085]: zone armo.com/IN: transferred serial 2016020301
Feb  3 06:20:42 localhost named[15085]: transfer of 'armo.com/IN' from 192.168.0.15#53: Transfer completed: 1 messages, 11 records, 273 bytes, 0.001 secs (273000 bytes/sec)
Feb  3 06:20:42 localhost named[15085]: zone armo.com/IN: sending notifies (serial 2016020301)


[root@localhost ~]# cat /var/named/slaves/armo.com.zone 
$ORIGIN .
$TTL 86400	; 1 day
armo.com		IN SOA	ns1.armo.com. admin.armo.com.armo.com. (
				2016020301 ; serial
				3600       ; refresh (1 hour)
				300        ; retry (5 minutes)
				604800     ; expire (1 week)
				86400      ; minimum (1 day)
				)
			NS	ns1.armo.com.
			NS	ns2.armo.com.
			MX	10 mx1.armo.com.
			MX	20 mx2.armo.com.
$ORIGIN armo.com.
mx1			A	192.168.0.4
mx2			A	192.168.0.1
ns1			A	192.168.0.1
ns2			A	192.168.0.17
www			A	192.168.0.17
[root@localhost ~]#

これでDNSマスターサーバの構築が完了しました.