2011年8月11日木曜日

BINDをインストール

CentOSでは、DNSを実装した代表的なソフトウェアのBINDが使えます。
BINDは用途が広く、マスターターバ・スレーブサーバのいずれでも動作します。またローカルなDNSサーバとしても機能することができます。


■パッケージのインストール
# yum -y install bind
# yum -y install bind-chroot
# yum -y install caching-nameserver

bindパッケージは、DNSサーバを構築するために必要です。
サービス名はnamed。インストールした時点では、自動起動されない設定になっています。

bind-chrootパッケージは、BINDが参照するファイルシステムのルートが、/var/named/chroot にあるように見せることで、悪意のある第三者に攻撃されても、システムのファイルに影響が及ばないようにします。

chaching-nameserverパッケージは、自ホスト内で発生する様々な名前参照の問い合わせ結果を、DNSサーバのシステム内にキャッシュするためのものです。


■bind-chroot
bind-chrootパッケージをインストールすることで、nameedが使用するファイル全てが、/var/named/chroot以下にコピーされます。これまで標準的に存在していたファイル(ex. /etc/named.conf)は、/var/named/chroot以下のファイルのシンボリックリンクとして残されます。
例)初期設定ファイル : /etc/named.conf ⇒ /var/named/chroot/etc/named.conf


■サービスの起動
# /etc/init.d/named start
もしくは
# service named start

デフォルトでは自動起動される設定になっていません。
# chkconfig --list named
named 0:off 1:off 2:off 3:off 4:off 5:off 6:off

自動起動の設定
# chkconfig --level 345 named on


■初期設定ファイル
bind-chrootをインストールしたものとして話を進めます。
BINDは、/etc/named/chroot/etc/named.confを初期設定ファイルとして使用します。BINDにおいて、ステートメントとして定義されているのは12個あります。logging, options, zone, acl, key, trusted-keys, server, controls, include, masters, lwres, viewです。そのうち、重要となるのは、optionsとzoneです。

named.conf
# cat 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.
//

# namedの動作に関する基本的な設定を行うoptionsステートメント
options {
 # namedがどのアドレスとポートでリクエストを受け付けるかの指定
        listen-on port 53 { 127.0.0.1; };
        # namedがどのアドレスとポートでリクエストを受け付けるかの指定(IPv6用)
        listen-on-v6 port 53 { ::1; };
        # マスターファイルの置き場所の指定
        directory         “/var/named”;
        # rndcコマンドのdumpdb命令で、namedがキャッシュしているデータをダンプする場合に出力されるファイル名
        dump-file         “/var/named/data/cache_dump.db”;
        # rndcコマンドのstats命令で、統計情報を出力する場合に出力されるファイル名
        statistics-file “/var/named/data/named_stats.txt”;
        # namedが終了時にメモリの使用統計を出力されるファイル名
        memstatistics-file “/var/named/data/named_mem_stats.txt”;
        # DNSサーバに問い合わせできるクライアントを限定する指定
        allow-query { localhost; };
        # 再帰的なクエリの許可
        recursion yes;

        # DNSSECの有効の許可
        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file “/etc/named.iscdlv.key”;
};

# BINDのログ出力方法の設定を行うloggingステートメント
logging {
channel default_debug {
file “data/named.run”;
severity dynamic;
};
};

# ルートドメインに相当するゾーンの設定を行うzoneステートメント
zone “.” IN {
        type hint;
        file “named.ca”;
};

# includeで指定されたファイルの情報を設定として読み込む
include “/etc/named.rfc1912.zones”;


■named.rfc1912.zone
RFC1912で定められたDNSサーバとして必要最小限のDNSレコードを設定するための設定ファイルです。

named.rfc1912.zone
# cat named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//

# localhost.localdomain というホスト名を参照するための設定
zone “localhost.localdomain” IN {
        type master;
        file “named.localhost”;
        allow-update { none; };
};

# localhost というホスト名を参照するための設定
zone “localhost” IN {
        type master;
        file “named.localhost”;
        allow-update { none; };
};

# ローカルループバックゾーンのIPv6用の逆引き
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 {
        type master;
        file “named.loopback”;
        allow-update { none; };
};

# ローカルループバックゾーンの逆引き
zone “1.0.0.127.in-addr.arpa” IN {
        type master;
        file “named.loopback”;
        allow-update { none; };
};

# 0.0.0.0 に対する逆引き処理のための設定
zone “0.in-addr.arpa” IN {
        type master;
        file “named.empty”;
        allow-update { none; };
};


■設定の反映
# service named reload


参考)
・『CentOS5 で作るネットワークサーバ構築ガイド』
・自宅内DNSサーバーの構築 http://www.obenri.com/_dnsserver/named_conf.html

0 件のコメント:

コメントを投稿