Contents
Overview
CentOS 6 における BIND を使用した内部用 DNS サーバーの構築手順です。この DNS サーバーの特徴は以下の通りです。
- chroot を使用したセキュリティ
- view を使用した設定の柔軟性と拡張性
- 内部ネットワークからのみ利用可能な DNS リゾルバ
- 内部ネットワークからのみ利用可能な DNS 権威サーバー
この手順は「CentOS 5 BIND 内部用 DNS サーバー構築」と同一です。
インストール
bind
, bind-chroot
, caching-nameserver
をインストールします。
[root@centos-6 ~]# yum -y install bind bind-chroot caching-nameserver
bind-chroot
は、BIND のセキュリティ向上のために chroot 環境(独立したルートディレクトリ)で動作させます。BIND のセキュリティを強化し、システムの安定性を向上させます。caching-nameserver
は、DNS のリゾルバ機能を提供するキャッシュサーバーです。クライアントからの DNS クエリをキャッシュし、同じクエリが再度行われた場合に高速に応答することができます。クライアントマシンからの DNS クエリを効率的に処理し、応答時間を短縮するために使用されます
/var/named/chroot/etc/named.conf
/var/named/chroot/etc/named.caching-nameserver.conf
を /var/named/chroot/etc/named.conf
としてコピーし、エディタで開きます。
[root@centos-6 ~]# cp -a /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf
[root@centos-6 ~]# vim /var/named/chroot/etc/named.conf
/var/named/chroot/etc/named.conf
を編集します。
options {
listen-on port 53 { 127.0.0.1; 10.0.0.53; };
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 { 127.0.0.1; 10.0.0.0/24; };
forwarders { 10.0.0.1; };
version "";
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
view localhost_resolver {
match-clients { 127.0.0.1; };
match-destinations { 127.0.0.1; };
recursion yes;
include "/etc/named.rfc1912.zones";
include "/etc/named.si1230.com.zones";
};
view internal {
match-clients { 10.0.0.0/24; };
match-destinations { 10.0.0.53; };
recursion yes;
include "/etc/named.rfc1912.zones";
include "/etc/named.si1230.com.zones";
};
listen-on
: BIND がリッスンする IP アドレスとポートを指定しています。allow-query
: DNS クエリを許可するクライアントの IP アドレス範囲を指定しています。forwarders
: DNS クエリを転送するフォワーダーの IP アドレスを指定しています。version
: BIND のバージョン情報を非表示にします。view
:match-clients
: 特定の送信元からの接続のみを対象としています。match-destinations
: 特定の宛先への接続のみを対象としています。recursion yes
: DNS クエリの再起検索を許可します。include
: 特定のゾーンファイルをインクルードします。
/var/named/chroot/etc/named.si1230.com.zones
/var/named/chroot/etc/named.si1230.com.zones
をエディタで開きます。
[root@centos-6 ~]# vim /var/named/chroot/etc/named.si1230.com.zones
/var/named/chroot/etc/named.si1230.com.zones
を編集します。この設定は、正引きゾーン si1230.com
と、逆引きゾーン 0.0.10.in-addr.arpa
を定義しています。
zone "si1230.com" IN {
type master;
file "si1230.com.zone";
allow-update { none; };
allow-transfer { none; };
notify no;
};
zone "0.0.10.in-addr.arpa" IN {
type master;
file "0.0.10.in-addr.arpa";
allow-update { none; };
allow-transfer { none; };
notify no;
};
type master
: マスター DNS サーバーであることを指定します。file
: ゾーンファイルを指定します。allow-update { none; }
: 動的な DNS レコードの更新を許可するクライアントを指定します。この例ではすべてのクライアントからの更新を拒否しています。allow-transfer { none; }
: ゾーン情報の転送を許可するクライアントを指定します。この例ではすべてのクライアントからの転送を拒否しています。notify no
: 他の DNS サーバーにゾーン情報の変更を通知しないように指定しています。
/var/named/chroot/etc/named.si1230.com.zones
のグループを named
に変更します。
[root@centos-6 ~]# chgrp named /var/named/chroot/etc/named.si1230.com.zones
/var/named/chroot/var/named/si1230.com.zone
/var/named/chroot/var/named/si1230.com.zone
をエディタで開きます。
[root@centos-6 ~]# vim /var/named/chroot/var/named/si1230.com.zone
/var/named/chroot/var/named/si1230.com.zone
を編集します。
$TTL 172800
@ IN SOA dns.si1230.com. myadmin.si1230.com. (
2012021501
3600
300
360000
86400
)
@ IN NS dns.si1230.com.
@ IN MX 10 mail.si1230.com.
mail IN A 10.0.0.25
dns IN A 10.0.0.53
www IN A 10.0.0.80
$TTL
: このゾーンのデフォルトの TTL (Time To Live) を秒単位で指定してします。172800 秒は 2 日です。TTL はクライアントがキャッシュする時間です。@ IN SOA dns.si1230.com. myadmin.si1230.com. ( … )
:@
:@
は、このゾーンのルートを示します。IN SOA
: レコードタイプが SOA (Start of Authority) であることを示します。dns.si1230.com.
: SOA レコードのメインの DNS サーバーを指定します。myadmin.si1230.com.
: 管理者のメールアドレス (myadmin@si1230.com) を指定します。BIND の設定では@
を使用せず、.
に置き換えて記述します。2012021501
: ゾーンのシリアル番号 (Serial) です。この番号はゾーンの変更ごとにインクリメントされる必要がありますが、ゾーン転送をしない場合は必須ではありません。3600
: ゾーンの再試行時間 (Refresh) を秒で指定します。セカンダリ DNS サーバーへのゾーンデータの更新が失敗した場合の再試行までの時間です。300
: ゾーンのリフレッシュ時間 (Retry) を秒で指定します。セカンダリ DNS サーバーがゾーンデータを更新する頻度を指定します。360000
: ゾーンデータの無効化時間 (Expire) を秒で指定します。セカンダリ DNS サーバーがゾーンデータを保持する最大期間です。86400
: ゾーンの有効期限 (Minimum) を秒で指定します。この時間が経過すると、セカンダリ DNS サーバーのゾーンデータはキャッシュから削除されます。
@ IN NS dns.si1230.com.
: ゾーンのルートに対する NS レコードの設定です。@ IN MX 10 mail.si1230.com.
: ゾーンのルートに対する MX レコードの設定です。10 は優先度を示し、この値が小さいほど優先されます。mail, dns, www
: A レコードの設定です。ドメイン名は省略できますが、FQDN で記述することも可能です。
/var/named/chroot/var/named/si1230.com.zone
のグループを named
に変更します。
[root@centos-6 ~]# chgrp named /var/named/chroot/var/named/si1230.com.zone
/var/named/chroot/var/named/0.0.10.in-addr.arpa
/var/named/chroot/var/named/0.0.10.in-addr.arpa
をエディタで開きます。
[root@centos-6 ~]# vim /var/named/chroot/var/named/0.0.10.in-addr.arpa
/var/named/chroot/var/named/0.0.10.in-addr.arpa
を編集します。
$TTL 172800
@ IN SOA dns.si1230.com. myadmin.si1230.com. (
2012021501
3600
300
360000
86400
)
@ IN NS dns.si1230.com.
25 IN PTR mail.si1230.com.
53 IN PTR dns.si1230.com.
80 IN PTR www.si1230.com.
- si1230.com.zone の説明と基本的に同じです。
- 逆引きゾーンでは MX レコードを設定しません。
- 逆引きは PTR レコードを使用します。PTR レコードは、例えば、
25.0.0.10.in-addr.arpa
をmail.si1230.com.
マッピングする設定の場合、0.0.10.in-addr.arpa
を省略して25
と記述します。
/var/named/chroot/var/named/0.0.10.in-addr.arpa
のグループを named
に変更します。
[root@centos-6 ~]# chgrp named /var/named/chroot/var/named/0.0.10.in-addr.arpa
サービス起動設定
named
サービスを起動し、システムの起動時に有効になるように設定します。
[root@centos-6 ~]# service named start && chkconfig named on
[root@centos-6 ~]# chkconfig named --list