CentOS6.3 bindの設定

CentOS 6.3 bind 9.8.2 の設定

  1. 設定する時の注意事項
  1. 設定ファイルは、/etc/named.conf, /var/named など、chrootを意識せずにファイル配置します。標準的な位置に配置されたファルは、bindを起動した際、/var/named/chroot 配下にマウントされた上でbindから参照されます。
  2. システムの時刻が正しく設定されていないと、DLVでエラーが発生し、名前解決が出来ません。

最新のnamed.caの入手

最新のOSであれば、更新する必要は無いと思いますが、やり方は覚えておきましょう。

[root@centos6 ~]# dig @a.root-servers.net . ns > /var/named/named.ca

[root@centos6 ~]# cat /var/named/named.ca

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.10.rc1.el6_3.2 <<>> @a.root-servers.net . ns

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20827

;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 14

;; WARNING: recursion requested but not available

;; QUESTION SECTION:

;.                                IN        NS

;; ANSWER SECTION:

.                        518400        IN        NS        h.root-servers.net.

.                        518400        IN        NS        j.root-servers.net.

.                        518400        IN        NS        c.root-servers.net.

.                        518400        IN        NS        d.root-servers.net.

.                        518400        IN        NS        a.root-servers.net.

.                        518400        IN        NS        k.root-servers.net.

.                        518400        IN        NS        g.root-servers.net.

.                        518400        IN        NS        m.root-servers.net.

.                        518400        IN        NS        l.root-servers.net.

.                        518400        IN        NS        i.root-servers.net.

.                        518400        IN        NS        e.root-servers.net.

.                        518400        IN        NS        b.root-servers.net.

.                        518400        IN        NS        f.root-servers.net.

;; ADDITIONAL SECTION:

h.root-servers.net.        3600000        IN        A        128.63.2.53

h.root-servers.net.        3600000        IN        AAAA        2001:500:1::803f:235

j.root-servers.net.        3600000        IN        A        192.58.128.30

j.root-servers.net.        3600000        IN        AAAA        2001:503:c27::2:30

c.root-servers.net.        3600000        IN        A        192.33.4.12

d.root-servers.net.        3600000        IN        A        128.8.10.90

d.root-servers.net.        3600000        IN        AAAA        2001:500:2d::d

a.root-servers.net.        3600000        IN        A        198.41.0.4

a.root-servers.net.        3600000        IN        AAAA        2001:503:ba3e::2:30

k.root-servers.net.        3600000        IN        A        193.0.14.129

k.root-servers.net.        3600000        IN        AAAA        2001:7fd::1

g.root-servers.net.        3600000        IN        A        192.112.36.4

m.root-servers.net.        3600000        IN        A        202.12.27.33

l.root-servers.net.        3600000        IN        A        199.7.83.42

;; Query time: 69 msec

;; SERVER: 198.41.0.4#53(198.41.0.4)

;; WHEN: Wed Aug 22 13:33:30 2012

;; MSG SIZE  rcvd: 512

[root@centos6 ~]#

bindの設定

/etc/named.conf を使って設定します

[root@centos6 ~]# cat /etc/named.conf

//

// named.conf

//

// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS

// server as a caching only nameserver (as a localhost DNS resolver only).

//

// See /usr/share/doc/bind*/sample/ for example named configuration files.

//

acl internal {

       127.0.0.1;

       192.168.1.0/24;

};

options {

        ;;listen-on port 53 { 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     { localhost; };

        ;;recursion yes;

        allow-query             { internal; };

        allow-recursion         { internal; };

        version "";   // version.bind の応答を隠ぺい

        hostname "";  // hostname.bind の応答を隠ぺい

                    // ただ、両方とも viewで拒否するので設定は必須ではない

        dnssec-enable yes;

        dnssec-validation yes;

        dnssec-lookaside auto;

        // empty-zones-enable no;  // yes or noに設定しないと、警告がでる。

        // とりあえず、外部DNSの場合:yes、イントラの場合:noって使い方でいいかも。

        // 未指定の場合、中途半端に有効になってるっぽい

        /* Path to ISC DLV key */

        bindkeys-file "/etc/named.iscdlv.key";

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

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

       category lame-servers { null; };

       //category update { null; };

       //category update-security { null; };

       //category security { null; };

};

// for hide version

view "version" chaos {

       match-clients { any; };

       allow-query { none; };

       zone "." chaos {

               type hint;

               file "chaos.hint";

       };

       zone "version.bind" chaos {

               allow-query { none; };

               type master;

               file "version.bind";

       };

};

view "nameserver" {

               match-clients      { any; };

zone "." IN {

        type hint;

        file "named.ca";

};

include "/etc/named.rfc1912.zones";

// add youre dns data below ---------------------------------------------------

       zone "example.jp" IN {

               type master;

               allow-query { any; };

               //allow-transfer { xxx.xxx.xxx.xxx; };

               file "example.jp_zone";

               notify yes;

       };

       zone "1.168.192.in-addr.arpa" IN {

               type master;

               allow-query { any; };

               //allow-transfer { xxx.xxx.xxx.xxx; };

               file "192.168.1_rev";

       };

};

// add youre dns data above ---------------------------------------------------

include “/etc/named.root/key”;

include "/etc/rndc.key";

//以下の設定は無くても、rndc.keyが読み込まれると、設定したのと同様の動作をします。

//設定変更の際の参考情報として記載しています。

controls {

        inet 127.0.0.1 port 953

        allow { 127.0.0.1; } keys { "rndc-key"; };

};

[root@centos6 ~]#

rndc.key の作成

自動生成されます。作成不要です。

ただし、初回起動時にすごく時間がかかります。(5分程度)

以下の操作を行うと、初回起動時の時間短縮が計れます。以下の操作は一秒も掛かりません。

[root@centos6 ~]# rndc-confgen -a -b 256 -r /dev/urandom -c /etc/rndc.key

[root@centos6 ~]# chmod 640 /etc/rndc.key

[root@centos6 ~]# chgrp named /etc/rndc.key

rndc.key が読み込まれると、自動的にlocalhost に bindした状態でrndcが起動 します。

ログをrsyslogで管理する場合の設定

このメモの設定例の通り、ファイルに出力する場合、この設定は不要です。

rsyslogを用いて、ログの一元管理を行いたい場合、rsyslogに以下の設定を追加する必要があります。

※この設定を行わなくても、サービス起動時のメッセージは、/var/log/messagesに書き出されます。

[root@centos6 ~]# vi /etc/rsyslog.conf

# Include all config files in /etc/rsyslog.d/

$IncludeConfig /etc/rsyslog.d/*.conf

$AddUnixListenSocket /var/named/chroot/dev/log

[root@centos6 ~]# service rsyslog restart

Shutting down system logger:                               [  OK  ]

Starting system logger:                                    [  OK  ]

[root@centos6 ~]# ls -l /var/named/chroot/dev/log

srw-rw-rw- 1 root root 0  8月 22 14:40 2012 /var/named/chroot/dev/log

[root@centos6 ~]#

Comments