CentOS6.3 bindの設定

CentOS 6.3 bind 9.8.2 の設定

  • 設定する時の注意事項

  • 設定ファイルは、/etc/named.conf, /var/named など、chrootを意識せずにファイル配置します。標準的な位置に配置されたファルは、bindを起動した際、/var/named/chroot 配下にマウントされた上でbindから参照されます。

  • システムの時刻が正しく設定されていないと、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 ~]#