BIND DNSサーバーの設定

提供: 雑廉堂Wiki

はじめに

もし、Samba Active Directory(AD)ドメインコントローラ(DC)をBIND9_DLZを使用して構成することを計画しているのなら、まず最 初にBIND DNSサーバをインストールし設定しておく必要があります。

以下では、Samba AD DCバックエンドとして利用できる基本的なBINDのインストール方法を説明しています。



BINDのインストール

サポートされるBINDバージョンのリストについては、「BIND9 DLZモジュールの設定」を参照してください。

パッケージのインストール

ディストリビューションで提供されているパッケージを使用してBINDをインストールすることをお勧めします。インストールが簡単で、利用可能 な場合に自動的にアップデートを受信するために、このインストールモードを選択してください。パッケージのインストール方法の詳細について は、ディストリビューションのパッケージマネージャのドキュメントを参照してください。

パッケージプロバイダが以下のオプションを使ってBINDをコンパイルしていることを確認してください。

  • Kerberosを使用した安全な動的DNS更新のための--with-gssapi=yesまたは--with-gssapi=/usr(または同様のもの)
  • --with-dlopen 動的にロード可能なゾーン(DLZ)


ビルドオプションを一覧表示するには:

# named -V
BIND 9.x.y built with ... '--with-dlopen=yes' '--with-gssapi=yes' ...

BINDのコンパイルとインストール

上級ユーザーで、ソフトウェアのコンパイル方法を知っている場合は、このインストールモードを使用してください。


ソースのダウンロード

サポートされているBINDのバージョンはhttps://www.isc.org/software/bindからダウンロードしてください。


BINDのコンパイル

  • 少なくとも次のパラメータをconfigureコマンドに渡します。
# ./configure --with-gssapi=/usr/include/gssapi --with-dlopen=yes
必要に応じて、さらにパラメータを追加します。
  • ビルドしてインストールするには、以下を実行します。
# make
# make install


BINDのユーザーとグループの追加

セキュリティ上の理由から、rootユーザーとしてBINDを実行しないでください。

GID 25を使用してnamedグループを作成するには:

# groupadd -g 25 named

プライマリグループがnamedで、ホームディレクトリが/var/named/、かつ有効なシェルを持たないUID 25namedアカウントを作成するには:

# useradd -u 25 -g named -d /var/named -M -s /sbin/nologin named

詳細は、useradd (8)およびgroupadd (8)のマニュアルページを参照してください。

BINDの設定

named.confファイルの設定

ディレクトリを見つけるために、BINDはnamed.confファイルを読み込むために使用します:

# named -V
BIND 9.x.y built with ... '--sysconfdir=/etc' ...

前の例では、BINDは/etc/named.confファイルから構成を読み取ります。

以下は基本的な設定ファイルです:

# Global Configuration Options
options {

    auth-nxdomain yes;
    directory "/var/named";
    notify no;
    empty-zones-enable no;

    # IP addresses and network ranges allowed to query the DNS server:
    allow-query {
        127.0.0.1;
        10.99.1.0/24;
    };

    # IP addresses and network ranges allowed to run recursive queries:
    # (Zones not served by this DNS server)
    allow-recursion {
        127.0.0.1;
        10.1.1.0/24;
    };

    # Forward queries that can not be answered from own zones
    # to these DNS servers:
    forwarders {
        8.8.8.8;
        8.8.4.4;
    };

    # Disable zone transfers
    allow-transfer {
        none;
    };
 };

# Root Servers
# (Required for recursive DNS queries)
zone "." {
   type hint;
   file "named.root";
};

# localhost zone
zone "localhost" {
    type master;
    file "master/localhost.zone";
};

# 127.0.0. zone.
zone "0.0.127.in-addr.arpa" {
    type master;
    file "master/0.0.127.zone";
};

使用されるパラメータとオプションの詳細については、named.conf (5)のマニュアルページを参照してください。

前の例には、Samba AD DNSサーバーを設定するために必要なBIND9_DLZ構成は含まれていません。モジュールの設定方法の詳細については、「BIND9 DLZ DNSバックエンド」を参照してください。


DNSルートサーバーリストのダウンロード

  • /var/named/named.rootファイルに最新のDNSルートサーバーの一覧をダウンロードします。
# wget -q -O /var/named/named.root http://www.internic.net/zones/named.root
  • BINDユーザーがルートサーバーのリストを読み取るようにします。
# chown root:named /var/named/named.root
# chmod 640 /var/named/named.root

localhostゾーンファイルの作成

  • /var/named/master/localhost.zoneファイルにlocalhost転送ゾーンを作成します。
$TTL 3D

$ORIGIN localhost.

@       1D      IN     SOA     @       root (
                       2013050101      ; serial
                       8H              ; refresh
                       2H              ; retry
                       4W              ; expiry
                       1D              ; minimum
                       )

@       IN      NS      @
        IN      A       127.0.0.1
  • BINDユーザーがゾーン・ファイルを読み取るようにします。
# chown named:named /var/named/master/localhost.zone
# chmod 640 /var/named/master/localhost.zone

0.0.127.in-addr.arpaゾーンファイルの作成

  • /var/named/master/0.0.127.zoneファイルに0.0.127.in-addr.arpaリバースゾーンを作成します。
$TTL 3D

@       IN      SOA     localhost. root.localhost. (
                        2013050101      ; Serial
                        8H              ; Refresh
                        2H              ; Retry
                        4W              ; Expire
                        1D              ; Minimum TTL
                        )

       IN      NS      localhost.

1      IN      PTR     localhost.
  • BINDユーザーがゾーン・ファイルを読み取るようにします。
# chown named:named /var/named/master/0.0.127.zone
# chmod 640 /var/named/master/0.0.127.zone

デーモンの起動

namedユーザーでBINDデーモンをスタートするには:

# named -u named

または、systemctlserviceなどのオペレーティング・システム・ツールを使用して、デーモンを開始することもできます。 詳細については、ディストリビューションののドキュメントを参照してください。


ゾーンのテスト

次の例では、ローカルマシン(127.0.0.1)のDNSサービスにクエリを実行します。

localhost正引きゾーンをテストするには:

# host -t A localhost 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
localhost has address 127.0.0.1

0.0.127.in-addr.arpa逆引きゾーンをテストするには:

# host -t PTR 127.0.0.1 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases:
1.0.0.127.in-addr.arpa domain name pointer localhost.


BIND9_DLZモジュールの設定

詳細については、「BIND9 DLZ DNSバックエンド」を参照してください。