手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 5 BIND 内部用 DNS サーバー構築

Overview

CentOS 5 における BIND を使用した内部用 DNS サーバーの構築手順です。この DNS サーバーの特徴は以下の通りです。

  • chroot を使用したセキュリティ
  • view を使用した設定の柔軟性と拡張性
  • 内部ネットワークからのみ利用可能な DNS リゾルバ
  • 内部ネットワークからのみ利用可能な DNS 権威サーバー

インストール

bind, bind-chroot, caching-nameserver をインストールします。

[root@centos-5 ~]# 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-5 ~]# cp -a /var/named/chroot/etc/named.caching-nameserver.conf /var/named/chroot/etc/named.conf
[root@centos-5 ~]# 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-5 ~]# 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-5 ~]# 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-5 ~]# 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-5 ~]# 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-5 ~]# 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.arpamail.si1230.com. マッピングする設定の場合、0.0.10.in-addr.arpa を省略して 25 と記述します。

/var/named/chroot/var/named/0.0.10.in-addr.arpa のグループを named に変更します。

[root@centos-5 ~]# chgrp named /var/named/chroot/var/named/0.0.10.in-addr.arpa

サービス起動設定

named サービスを起動し、システムの起動時に有効になるように設定します。

[root@centos-5 ~]# service named start && chkconfig named on
[root@centos-5 ~]# chkconfig named --list
CentOS 5 BIND 内部用 DNS サーバー構築

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る