DNSサーバを構築する (BIND)

対象プラットフォーム: FreeBSD 7.x / FreeBSD 6.x


はじめに

このページでは、BINDを利用してDNSを動作させる方法について説明します。

「named.conf」の編集

まずはじめに、BINDの設定ファイルである「/etc/namedb/name.conf」を編集します。
以下は設定の例です。

「named.conf」の設定
options
{
        directory "/etc/namedb";

        forwarders
        {
                xxx.xxx.xxx.xxx;
        };
};

zone "."
{
        type hint;
        file "named.root";
};

zone "kishiro.local"
{
        type master;
        file "kishiro.local.zone";
};

zone "16.168.192.IN-ADDR.ARPA"
{
        type master;
        file "16.168.192.rev";
};

zone "0.0.127.IN-ADDR.ARPA"
{
        type master;
        file "loopback.rev";
};

「option」の設定は、BINDが動作する上で必要なオプションについて記述する個所です。
「directory」は以下に説明するBINDの正引き/逆引きファイルを配置するディレクトリを指定します。
「forwarder」はこのDNSサーバで回答できないDNSクエリを解決するために、DNSクエリを転送する上位のDNSサーバのIPアドレスを指定します。

「zone "."」の個所は、ルートのDNSサーバの設定です。特に変更の必要はありません。
(「named.root」ファイルも標準で用意されています。)

「zone "kishiro.local"」の個所は、DNSサーバが管理するドメインの正引き(ドメイン名→IPアドレス)の設定です。
「kishiro.local」ドメインにおける正引きについては、「kishiro.local.zone」内に記述される設定に基づき回答されます。

「zone "16.168.192.IN-ADDR.ARPA"」の個所は、DNSサーバが管理するドメインの逆引き(IPアドレス→ドメイン名)の設定です。
「192.168.16.*/24」ネットワークにおける逆引きについては、「16.168.192.rev」内に記述される設定に基づき回答されます。

「zone "0.0.127.IN-ADDR.ARPA"」の個所は、ループバックの逆引き(IPアドレス→ドメイン名)の設定です。
ループバックアドレスの逆引きについては、「loopback.rev」内に記述される設定に基づき回答されます。

zoneファイルの設定

次に実際に名前/IPアドレスを解決するための設定ファイルであるzoneファイルを編集します。
デフォルトで用意すべきzoneファイルは、ループバック用zoneファイル、正引き用zoneファイル、逆引き用zoneファイルの3つです。

以下に各zoneファイルの記述方法について説明します。

ループバック用zoneファイルの設定

ループバック用zoneファイルは、その名の通りループバックを名前解決するために存在するzoneファイルです。
下記の例のように設定してください。

ループバック用zoneファイルの設定
$TTL            3600
$ORIGIN         0.0.127.in-addr.arpa.

@       IN      SOA     clavis.kishiro.local.   root.kishiro.local. (
        20061219
        3600
        900
        3600000
        3600
)
@       IN      NS      clavis.kishiro.local.

1.0.0.127.in-addr.arpa.         IN      PTR     localhost.kishiro.local.

「$ORIGIN」で設定されたドメインは、以降の記述中の「@」の部分で置き換えられます。

「@ IN SOA clavis.kishiro.local. root.kishiro.local.」の部分では、このデータが格納されているサーバのFQDN、およびそのサーバの管理者について設定しています。
上の例ではデータが格納されているサーバを「clavis.kishiro.local」に、そのサーバの管理者のメールアドレスを「root@kishiro.local」に(「@」が利用できないので、記述上は「root.kishiro.local」となっています)に、それぞれ指定しています。

なお、「@」行の括弧内の数字のそれぞれの意味は下記の通りです。

20061219 serial ルールのシリアル番号(DNS応答は他のDNSサーバにキャッシュされますが、その際最も大きいシリアル番号を持つルールが有効になります)
3600 refresh セカンダリサーバがキャッシュしたプライマリサーバのDNS応答を更新する間隔
900 retry セカンダリサーバがプライマリサーバの参照を失敗した際に、再試行を行うまでの間隔
3600000 expire セカンダリサーバがプライマリサーバの参照を失敗した際に、キャッシュしたプライマリサーバのDNS応答を保持しておく期間(最初の参照失敗から起算します)
3600 minimum DNS応答をクライアントがキャッシュしておける時間(DNS応答の有効期間です)

「@」の行に開括弧「(」がないとフォーマットエラーとなりますので注意してください。

続いての「@ IN NS clavis.kishiro.local.」の部分は、このドメインの名前解決をするネームサーバを指定します。(この例では「clavis.kishiro.local」をこのドメインのネームサーバーとして設定しています。)

最後の「1.0.0.127.in-addr.arpa. IN PTR localhost.kishiro.local.」の部分は、ループバックアドレス「127.0.0.1」を「localhost.kishiro.local」に逆引きする設定をしています。

正引き用zoneファイルの設定

正引き用zoneファイルは、サーバおよびドメイン名をIPアドレスに変換するための設定ファイルです。
下記の例のように設定してください。

正引き用zoneファイルの設定
$TTL            3600
$ORIGIN         kishiro.local.

@       IN      SOA     clavis.kishiro.local.   root.kishiro.local. (
        20061219
        3600
        900
        3600000
        3600
)
@       IN      NS      clavis.kishiro.local.

clavis.kishiro.local.    IN  A  192.168.16.1
alnage.kishiro.local.    IN  A  192.168.16.2
grabel.kishiro.local.    IN  A  192.168.16.3

wla-b11.kishiro.local.   IN  A  192.168.16.192
rd-xs41.kishiro.local.   IN  A  192.168.16.193

dhcpc-01.kishiro.local.  IN  A  192.168.16.224
dhcpc-02.kishiro.local.  IN  A  192.168.16.225
dhcpc-03.kishiro.local.  IN  A  192.168.16.226
dhcpc-04.kishiro.local.  IN  A  192.168.16.227
dhcpc-05.kishiro.local.  IN  A  192.168.16.228
dhcpc-06.kishiro.local.  IN  A  192.168.16.229
dhcpc-07.kishiro.local.  IN  A  192.168.16.230
dhcpc-08.kishiro.local.  IN  A  192.168.16.231
dhcpc-09.kishiro.local.  IN  A  192.168.16.232
dhcpc-10.kishiro.local.  IN  A  192.168.16.233
dhcpc-11.kishiro.local.  IN  A  192.168.16.234
dhcpc-12.kishiro.local.  IN  A  192.168.16.235
dhcpc-13.kishiro.local.  IN  A  192.168.16.236
dhcpc-14.kishiro.local.  IN  A  192.168.16.237
dhcpc-15.kishiro.local.  IN  A  192.168.16.238
dhcpc-16.kishiro.local.  IN  A  192.168.16.239

「@ IN NS clavis.kishiro.local.」の部分までの記述方法は、先ほどの「ループバック用zoneファイルの設定」と同じ要領で行ってください。

以降が各サーバの正引き用エントリになります。
「rd-xs41.kishiro.local. IN A 192.168.16.193」のように、「"サーバのFQDN" IN A "IPアドレス"」の要領で各サーバのエントリを記述してください。

逆引き用zoneファイルの設定

逆引き用zoneファイルは、IPアドレスをサーバのFQDNに変換するための設定ファイルです。
下記の例のように設定してください。

逆引き用zoneファイルの設定
$TTL            3600
$ORIGIN         16.168.192.in-addr.arpa.

@       IN      SOA     clavis.kishiro.local.   root.kishiro.local. (
        20061219
        3600
        900
        3600000
        3600
)
@       IN      NS      clavis.kishiro.local.

1.16.168.192.in-addr.arpa.    IN  PTR  clavis.kishiro.local.
2.16.168.192.in-addr.arpa.    IN  PTR  alnage.kishiro.local.
3.16.168.192.in-addr.arpa.    IN  PTR  grabel.kishiro.local.

192.16.168.192.in-addr.arpa.  IN  PTR  wla-b11.kishiro.local.
193.16.168.192.in-addr.arpa.  IN  PTR  rd-xs41.kishiro.local.

224.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-01.kishiro.local.
225.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-02.kishiro.local.
226.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-03.kishiro.local.
227.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-04.kishiro.local.
228.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-05.kishiro.local.
229.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-06.kishiro.local.
230.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-07.kishiro.local.
231.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-08.kishiro.local.
232.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-09.kishiro.local.
233.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-10.kishiro.local.
234.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-11.kishiro.local.
235.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-12.kishiro.local.
236.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-13.kishiro.local.
237.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-14.kishiro.local.
238.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-15.kishiro.local.
239.16.168.192.in-addr.arpa.  IN  PTR  dhcpc-16.kishiro.local.

「@ IN NS clavis.kishiro.local.」の部分までの記述方法は、先ほどの「ループバック用zoneファイルの設定」と同じ要領で行ってください。

以降が各サーバの逆引き用エントリになります。
「193.16.168.192.in-addr.arpa. IN PTR rd-xs41.kishiro.local.」のように、「"IPアドレス" IN PTR "サーバのFQDN"」の要領で各サーバのエントリを記述してください。

「rc.conf」の設定

最後に、システムの起動時にBINDが自動的に起動するよう、「/etc」に格納されている設定ファイル「rc.conf」に下記の記述を追記します。

「/etc/rc.conf」の編集
named_enable="YES"
named_flags="-4"

この設定により、システム再起動時にBINDが自動的に起動するようになります。

変更履歴

2014/11/14

・文章の内容全般を見直し再構成。


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。


目次に戻る
image