BINDを使用してローカルDNSサーバを構成する方法を簡単に説明します(centos 6.8)

13984 ワード

DNS概要:DNS、Domain Name System、ドメイン名システムは、インターネット上のドメイン名とIPアドレスの相互マッピングに使用され、ユーザーはホストのIPアドレスを記憶する必要がなく、それに対応するドメイン名だけでホストにアクセスすることができる.
BINDソフトウェアについて:https://www.isc.org/downloads/bind/
以下はローカルdnsサーバ構築プロセス、環境-centos 6.8、ローカルIP-192.168.3.60です.
1.yumは、dnsクエリーツールdigを含むbindとbind-utilsをインストールします.
$ yum install bind bind-utils -y

2.プロファイルnamed.confの変更
$ vim /etc/named.conf

修正内容は次のとおりです.
options {
    //    IP-192.168.3.60
    listen-on port 53 { 127.0.0.1;192.168.3.60; };
};

//       (   )
zone "test.com" IN {
        type master;
        file "test.com.zone";
};

//       (   )
zone "3.168.192.in-addr.arpa" IN {
        type master;
        file "3.168.192.zone";
};

構成構文が正しいかどうかを確認します.
$ named-checkconf

3.ゾーンファイルの作成
順方向解析:named.localhostファイルのコピーを使用して、属グループをnamedに変更します.
$ cp named.localhost test.com.zone
$ chgrp named test.com.zone
$ vim test.com.zone

test.com.zoneの内容は以下の通りです.
$TTL 1D
    @       IN SOA  @ admin.test.com. (
                                        2017020601       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
            NS      ns.test.com.
            MX 5    mail.test.com.
    ns      A       192.168.3.60
    mail    A       192.168.3.61
    www     A       192.168.3.62
    bbs     A       192.168.3.63

構文が正しいかどうかを確認します.
$ named-checkzone "test.com" /var/named/test.com.zone 

逆解析:named.localhostファイルのコピーを使用して、属グループをnamedに変更します.
$ cp named.localhost 3.168.192.zone
$ chgrp named 3.168.192.zone
$ vim 3.168.192.zone 

3.168.192.zoneの内容は以下の通りです.
$TTL 1D
@       IN SOA  @ admin.dt.com. (
                                        2017020701      ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        IN NS   ns.dt.com.
60      IN PTR  ns.dt.com.
61      IN PTR  mail.dt.com.
62      IN PTR  www.dt.com.
63      IN PTR  bbs.dt.com.

構文が正しいかどうかを確認します.
$ named-checkzone "3.168.192.in-addr.arpa" /var/named/3.168.192.zone 

4.namedを起動し、dns解析をテストする
$ /etc/init.d/named start
$ dig @192.168.3.60 bbs.test.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.4 <<>> @192.168.3.60 bbs.test.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<: QUERY, status: NOERROR, id: 16609
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;bbs.test.com.                    IN      A

;; ANSWER SECTION:
bbs.test.com.             86400   IN      A       192.168.3.62

;; AUTHORITY SECTION:
test.com.                 86400   IN      NS      ns.test.com.

;; ADDITIONAL SECTION:
ns.test.com.              86400   IN      A       192.168.3.60

;; Query time: 0 msec
;; SERVER: 192.168.3.60#53(192.168.3.60)
;; WHEN: Wed Feb  8 13:28:57 2017
;; MSG SIZE  rcvd: 77

発生した問題と解決方法1.ゾーンファイルを修正し、namedを再起動し、エラー:
$ /etc/init.d/named restart
Stopping named:                                            [  OK  ]
Starting named: 
Error in named configuration:
dns_rdata_fromtext: test.com.zone:10: near 'mail.test.com.': not a valid number
zone test.com/IN: loading from master file test.com.zone failed: not a valid number
zone test.com/IN: not loaded due to errors.
_default/test.com/IN: not a valid number
zone 3.168.192.in-addr.arpa/IN: loaded serial 2017020701
zone localhost.localdomain/IN: loaded serial 0
zone localhost/IN: loaded serial 0
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
zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0
                                                           [FAILED]

なぜなら、順方向解析領域ファイルでは、MXレコードに優先度が欠けており、「MX mail.test.com」から「MX 5 mail.test.com」に変更され、エラーが発生しないためです.2.named-checkzoneを使用してゾーンファイルをチェックします.エラー:
dns_rdata_fromtext: /var/named/test.com.zone:3: near '1D': not a valid number
zone test.com/IN: loading from master file /var/named/test.com.zone failed: not a valid number
zone test.com/IN: not loaded due to errors.

解決方法:2行目の“IN SOA”の後、”(“前、”@”あるいは“test.com.”を追加して、正しい文は以下の通りです:
@       IN SOA    @    admin.test.com. (
......
@       IN SOA    test.com.    admin.test.com. (
......

参考記事:http://www.cnblogs.com/fengyutech/p/4917991.html http://www.cnblogs.com/Kelly123/p/4225290.html http://blog.csdn.net/hongweigg/article/details/7189175