8.2. BINDの基本設定

BINDの設定は/etc/named.confとゾーンファイルで構成される。

8.2.1. /etc/named.conf

// rndcコマンドによるnamedの操作を許可するホストの指定
controls {
    inet 127.0.0.1 allow { localhost; };
};

// ゾーンファイルを格納するディレクトリ指定
options {
    directory "/var/named";
};

// ルートDNSサーバの指定
zone "." {
    type hint;
    file "named.ca";
};

// ローカルホストの正引き設定
zone "localhost" {
    type master;
    file "0.0.127.in-addr.zone";
};

// ローカルホストの逆引き設定
zone "0.0.127.in-addr.arpa" {
    type master;
    file "0.0.127.in-addr.arpa.zone";
};

// example.netドメインの正引き設定
zone "example.net" {
    type master;
    file "example.net.zone";
};

// example.netドメインの逆引き設定
zone "30.20.10.in-addr.arpa" {
    type master;
    file "30.20.10.in-addr.arpa.zone";
}

また/etc/named.confのステートメントは以下の通り。

ステートメント説明
aclACLの定義
controllsnamedを操作できるホストの設定
include外部ファイルの読み込み
key認証情報の設定
optionsnamedの操作に関する詳細設定
zoneゾーンの定義

aclステートメント

アクセス制御リスト(ACL)を定義する。
アドレスマッチリストにはIPアドレス/ネットワークアドレスを記述する。

acl acl名 {
    アドレスマッチリスト
};

なお定義済みACLは以下の通り。

  • any … すべてのIPアドレス
  • localhost … ローカルホストが使用しているIPアドレス
  • none … いずれのIPアドレスともマッチしないアドレス

includeステートメント

指定した外部ファイルを読み込む。

include "/etc/rndv.key";

optionsステートメント

namedの動作に関する詳細なオプションを設定する。
利用可能なオプションは以下の通り。

重要なパラメータは太字にしてある。

オプション説明
directory ディレクトリパスゾーンファイルを格納するディレクトリ
datasizeデータセグメントサイズの上限
coresizeコアファイルのサイズ上限
max-cache-size キャッシュサイズ最大キャッシュバイト(Byte単位)
rescursion Yes|No再帰問い合わせの受け付け有無
rescusive-clients クライアント数再帰問い合わせの最大同時接続数
allow-query問い合わせを受け付けるホスト
allow-transferゾーン転送を許可するホスト
allow-updateゾーン情報の動的アップデートを受け付けるホスト
blackhole問い合わせを受け付けないホスト
forwarders { IPアドレス; }問い合わせの回送先DNSサーバ
forward only|first問合せ転送の失敗時の動作を設定する
notifyゾーンデータの更新をスレーブサーバに通知するかの有無
versionバージョン表示

なおフォワード(回送)は自身がゾーン情報を保存せず、キャッシュもない場合に問い合わせがあれば別のDNSサーバに問い合わせる機能のこと。

controllsステートメント

namedを操作できるホストのIPアドレス/ポート番号を指定する。

controls {
    inet 127.0.0.1 allow { localhost; }
};

zoneステートメント

ゾーン名、ゾーンタイプ、ゾーンファイルの場所を指定する。
ゾーンタイプは以下の通り。

タイプ説明
hintルートDNSサーバの指定
master指定したゾーンに対してのマスタDNSサーバ
slave指定したゾーンに対してのスレーブDNSサーバ
zone "example.com" {
    type master;
    file "example.net.zone";
};

named.confの設定

ルートDNSサーバのIPアドレスを最新情報に変更するには以下のように操作する。

dig @m.root-servers.net. ns > /var/named/[hint情報ファイル]

named-checkconfigコマンド

named.confの設定の構文チェックを行うコマンド。

named-checkconf [named.confのパス]

chrootしている場合は-tオプションでchrootディレクトリパスを指定する。

named-checkconf -t [chrootのパス] [named.confのパス]

8.2.2. rndcコマンド

namedの操作を行うコマンド。

named [サブコマンド]
サブコマンド説明
stopnamedの終了
refreshゾーンデータべースのリフレッシュ
stats統計情報をnamed.statsに書きだす
statusnamedのステータスを表示する
dumpdbキャッシュの内容をファイル出力する
reload ドメイン指定したゾーンファイルを再読み込みする
haltnamedを停止する