このページではLinuxサーバーで運用するDNSサーバーBIND/named逆引きゾーンファイル記述方法についてビギナー向けに解説します。
お便利サーバー.com+相互リンクサイト内をキーワードで検索
自宅内DNSサーバーの構築

DNSサーバーの構築

hostsファイルの設定

BINDについて(〜9.3.x)

BINDについて(9.7.x〜)

named.confの設定(〜9.3.x)

named.confの設定(9.7.x〜)

ゾーンファイルの書式

ゾーンファイルの省略方法

既存のゾーンファイル(〜9.3.x)

既存のゾーンファイル(9.7.x〜)

正引きゾーンファイルの作成

逆引きゾーンファイルの作成

設定ファイルの書式チェック

namedの起動とコントロール

namedの動作確認

ルーターとホストの設定

DNSSECについて


ゾーンファイルのテンプレートの作成

ここでは、 サブネット "192.168.100.0/24" を利用するための逆引きのゾーンファイルを作成します。

これから作成するゾーンファイルを named で使用するには、対応するゾーン名でブートファイル "/etc/named.conf" に記述を追加しておく必要があります。

その詳細については ブートファイルの詳細について(〜9.3.x) を参考にしてください。記述例は ブートファイルの記述例(〜9.3.x) にあります。

また以下の説明は、既に正引きのゾーンファイル "obenri.com.zone" /var/named/obenri.com.zoneの作成 が作成されていることを前提として説明します。

正引きの 名前解決 と逆引きの名前解決は、相互に整合性がとれていなければなりませんので、以下の記述は正引きのゾーンファイル "obenri.com.zone" の内容と照らし合わせながら行ってください。

まず、 cp コマンド を使って、 "obenri.com.zone" /var/named/obenri.com.zoneの作成 を複製して "100.168.192.in-addr.arpa.zone" 作成し、これをnanoエディタ nanoエディタでファイルを開く で開きます。

これから作成するゾーンファイルと類似した内容を持つ "named.local" named.localの説明 を複製してもかまいませんが、既に ドメイン名 やメールアドレスなどが "obenri.com" を基準に書かれている"obenri.com.zone"をテンプレートにしたほうが簡単だと思います。

WBEL3 CentOS3 の場合は以下のように操作してテンプレートを作成してみてください。

作成した "/var/named/100.168.192.in-addr.arpa.zone" をnanoエディタ nanoエディタでファイルを開く で開きます。

[root@web1 root]# cd /var/named/Enter カレントディレクトリを移動します。 cdコマンドの説明
[root@web1 named]# lsEnter カレントディレクトリのファイルを一覧します。 lsコマンドの説明
data       localhost.zone  named.ip6.local slaves
obenri.com.zone named.broadcast named.local
localdomain.zone named.ca     named.zero
[root@web1 named]# cp -p obenri.com.zone 100.168.192.in-addr.arpa.zoneEnter
[root@web1 named]# ls -lEnter カレントディレクトリのファイルを一覧します。
-rw-r--r--  1 named  named     274 12月 16 19:19 100.168.192.in-addr.arpa.zone
drwxrwx---  2 named  named    4096 6月 17 08:11 data
-rw-r--r--  1 named  named     274 12月 16 19:19 obenri.com.zone
-rw-r--r--  1 named  named     198 12月 24 2004 localdomain.zone
-rw-r--r--  1 named  named     195 12月 24 2004 localhost.zone
-rw-r--r--  1 named  named     415 12月 24 2004 named.broadcast
-rw-r--r--  1 named  named    2518 12月 24 2004 named.ca
-rw-r--r--  1 named  named     432 12月 24 2004 named.ip6.local
-rw-r--r--  1 named  named     433 12月 24 2004 named.local
-rw-r--r--  1 named  named     416 12月 24 2004 named.zero
drwxrwx---  2 named  named    4096 6月 17 08:11 slaves
 ↑"/var/named/100.168.192.in-addr.arpa.zone"がカレントディレクトリに複製されました。
[root@web1 named]# nano 100.168.192.in-addr.arpa.zoneEnter

WBEL4やCentOS4、CentOS5の場合は以下のように作業します、編集しやすくするために作成した "/var/named/chroot/var/named/100.168.192.in-addr.arpa.zone" シンボリックリンク ln コマンドで "/var/named/100.168.192.in-addr.arpa.zone" として作成し、これをnanoエディタ nanoエディタでファイルを開く で開きます。

右のリストはCentOS4、WBEL4の例です。
CentOS5 では、設定ファイルのパーミッションに仕様変更が行われていて、所有者が "root" になっていますので、 "named named" ではなく "root named" となります。
ファイルやディレクトリの所有者の基本については、 属性とパーミッション〜その1 を参照してください。
[root@web1 ~]# cd /var/named/chroot/var/named/Enter カレントディレクトリを移動します。 cdコマンドの説明
[root@web1 named]# lsEnter カレントディレクトリのファイルを一覧します。 lsコマンドの説明
data       localhost.zone  named.ip6.local slaves
obenri.com.zone named.broadcast named.local
localdomain.zone named.ca     named.zero
[root@web1 named]# cp -p obenri.com.zone 100.168.192.in-addr.arpa.zoneEnter
[root@web1 named]# ls -lEnter カレントディレクトリのファイルを一覧します。
合計 72
-rw-r--r-- 1 named named 274 4月 28 2005 100.168.192.in-addr.arpa.zone
drwxrwx--- 2 named named 4096 8月 26 2004 data
-rw-r--r-- 1 named named 198 4月 28 2005 localdomain.zone
-rw-r--r-- 1 named named 195 4月 28 2005 localhost.zone
-rw-r--r-- 1 named named 415 4月 28 2005 named.broadcast
-rw-r--r-- 1 named named 2518 4月 28 2005 named.ca
-rw-r--r-- 1 named named 432 4月 28 2005 named.ip6.local
-rw-r--r-- 1 named named 433 4月 28 2005 named.local
-rw-r--r-- 1 named named 416 4月 28 2005 named.zero
-rw-r--r-- 1 named named 274 4月 28 2005 obenri.com.zone
drwxrwx--- 2 named named 4096 7月 27 2004 slaves
 ↑"/var/named/100.168.192.in-addr.arpa.zoneがカレントディレクトリに複製されました。
[root@web1 named]# cd /var/named/Enter カレントディレクトリを移動します。
[root@web1 named]# ln -s /var/named/chroot/var/named/100.168.192.in-addr.arpa.zoneEnter
 ↑カレントディレクトリにシンボリックリンクを作成します。

[root@web1 named]# nano 100.168.192.in-addr.arpa.zoneEnter


nanoで100.168.192.in-addr.arpa.zoneのテンプレートを開く
nanoで"100.168.192.in-addr.arpa.zone"のテンプレートを開く

cpコマンドで"100.168.192.in-addr.arpa.zone"を作成するときに、オプションスイッチ "-p" を用いたのは、所有者と所有グループを既存の"obenri.com.zone"と同じ、 "named named"(CentOS5の場合は"root named") にするためです。

もし "-p" を付けずにcpコマンドを実行すると、新規に作成される"100.168.192.in-addr.arpa.zone"は、所有者、所有グループとも "root root" で作成されてしまいますから、後で chown コマンドで変更しなければなりません。

"-p" は、この手間と変更のし忘れを防ぐための手段です。

もちろん、nanoエディタを新規に開き、最初からタイプして"100.168.192.in-addr.arpa.zone"を作成してもかまいませんが、この場合でも所有者、所有グループとも "root root" で作成されてしまいますから、後から同様に "named named"(CentOS5の場合は"root named") に変更する必要があります。場合によっては パーミッション も変更する必要がありますから注意してください。

関連セクションへ 関連セクション・ 固定IPでDNSサーバー構築


このページの先頭へ↑

ゾーンファイル"100.168.192.in-addr.arpa.zone"の記述

作成した "100.168.192.in-addr.arpa.zone" は、利用中の サブネット "192.168.100.0/24" に合わせて編集する必要があります。

例えば次のように書き換えます。

対応するブートファイルの記述は B.サブネットのIPアドレスに対する逆引きゾーンファイル設定へ(〜9.3.x) です。
1) $TTL 86400
2) @    IN   SOA  web1.obenri.com.  tanaka.obenri.com. (
        2005111401   ; Serial
        3H       ; Refresh
        15M       ; Retry
        1W       ; Expire
        1D )      ; Minimum

3)             IN   NS   web1.obenri.com.
4) 1            IN   PTR   router.obenri.com.
5) 11           IN   PTR   web1.obenri.com.

逆引きゾーンファイル"100.168.192.in-addr.arpa.zone"

このゾーンファイル中のTTLは、"$TTL"の値によりすべて86400秒(一日)が設定されていることになります $TTLによる省略ルール

また、ブートファイル上でのゾーン名は"ゾーンファイル"100.168.192.in-addr.arpa.zone"の記述" B.サブネットのIPアドレスに対する逆引きゾーンファイル設定へ(〜9.3.x) ですから、このゾーンファイル上の"@"は"100.168.192.in-addr.arpa."で置き換えられます $ORIGINによる省略ルール @による省略ルール

更に、NSレコードのゾーン名は省略されていますが省略のルール 連続記述による省略ルール により、その直前のレコードであるSOAレコードのゾーン名"@"、すなわち"100.168.192.in-addr.arpa."が設定されているものとみなされます。

また、ゾーン名形式の IPアドレス を記述すべきところで、末尾に ".(ピリオド)" がないものは、後ろに".100.168.192.in-addr.arpa."が補われます。 .(ピリオド)による省略のルールへ

従って、このゾーンファイルの省略部分を補うと次のようになります。

2) 100.168.192.in-addr.arpa. IN SOA web1.obenri.com. tanaka.obenri.com. (
        2005111401   ; Serial
        3H       ; Refresh
        15M       ; Retry
        1W       ; Expire
        1D )      ; Minimum

3) 100.168.192.in-addr.arpa.   86400  IN  NS   web1.obenri.com.
4) 1.100.168.192.in-addr.arpa.  86400  IN  PTR   router.obenri.com.
5) 11.100.168.192.in-addr.arpa.  86400  IN  PTR   web1.obenri.com.

逆引きゾーンファイル(非省略)"100.168.192.in-addr.arpa.zone"

1) $TTLの設定 $TTLについて

DNSサーバー の動作負荷を減らすには大きな値を設定したほうが好ましいのですが、通常一日(86400秒)より大きな値をとっても大した違いはありません。

逆に小さな値を設定しても、実用上あまりメリットはありません。常識的な値である "86400" で構いません。

2) SOAレコードの設定 SOAレコードの書式について

「ゾーン名"100.168.192.in-addr.arpa"、すなわち サブネット "192.168.100.0/24" についてはDNSサーバー "web1.obenri.com" が権威ある 名前解決 を行い、その管理者のメールアドレスは "tanaka@obenri.com" である SOAレコード中のメールアドレスの記述方法 。」

という意味になります。

LAN で使用するDNSサーバーですから馬鹿正直に記述する必要はありませんが、後々本格的なDNSサーバーを構築することを考えて、それなりに正しく記述しておきましょう。

"Serial"から"Minimum"までの値はあまり深く考える必要はありません。常識的なパラメータを設定しておきましょう。詳しい説明は SOAレコードの書式について をご覧ください。

3) NSレコードの設定 NSレコードの書式について

「ゾーン名"100.168.192.in-addr.arpa"、すなわちサブネット "192.168.100.0/24" に含まれるIPアドレスの名前解決は、DNSサーバー "web1.obenri.com" が権威を持って名前解決を行う。」

という宣言の設定です。

ここで設定するDNSサーバーのFQDN"web1.obenri.com"は、正引きのゾーンファイル obenri.com.zoneの設定 中で、Aレコード Aレコードの書式について でIPアドレスを指定する必要があります DNSサーバーのFQDNに対するAレコードの必要性について web1.obenri.comに対するAレコードの設定

また同時にDNSサーバーのFQDN"web1.obenri.com"は、このゾーンファイルの中でIPアドレスから逆引きの設定がなされている必要があります。

4) "192.168.100.1"に対するPTRレコードの設定 PTRレコードの書式について

「"1.100.168.192.in-addr.arpa"すなわちIPアドレス"192.168.100.1"は、FQDN"router.obenri.com"に逆引きの名前解決をされる。」

という設定です。

これは、正引きのゾーンファイル"obenri.com.zone"で記述した、 ルーター に対するのAレコードの設定 router.obenri.comのAレコードの設定 に対応するPTRレコードの設定です。

とりあえずPTRレコードを設定してさえいれば、万一"192.168.100.1"に対する逆引きの作業が発生しても、namedはエラー処理をする必要がなくなります。従って、「ほんのちょっとだけ」namedの仕事は楽になります。

ただ、ルーターに対するAレコードの設定を行っているのであれば、PTRレコードを記述しておいても無駄にはなりませんから、できれば設定しておくことをお勧めします。

現実には、他の ホスト にアクセス行為を行わないルーターなどの周辺機器には、逆引きの設定を行っても実用上はあまり意味を持ちません。

従ってこの設定は必須ではありません。

DNSサーバーの構築に、
とても役に立った一冊です

もちろん、ルーターに対するAレコードの設定をしないのであれば全く不要です。

5) "192.168.100.11"に対するPTRレコードの設定 PTRレコードの書式について

「"11.100.168.192.in-addr.arpa"すなわちIPアドレス"192.168.100.11"は、FQDN"web1.obenri.com"に逆引きの名前解決をされる。」

という設定です。

現在構築中の サーバー機 の「正式な」FQDN( ホスト名 ) 正式なホスト名の決め方(WBEL3) 正式なホスト名の決め方(CentOS3) 正式なホスト名の決め方(WBEL4) 正式なホスト名の決め方(CentOS4) 正式なホスト名の決め方(CentOS5) である、 "web1.obenri.com" に対する逆引きの設定となります。

正引きの場合、複数のFQDNから一つのIPアドレスへのAレコードを設定するのはごく当たり前に行われますが、逆引きの場合は原則として1対1でPTRレコードを設定します。

関連セクションへ 関連セクション・ 固定IPでDNSサーバー構築


このページの先頭へ↑

"100.168.192.in-addr.arpa.zone"のサンプル

以上の内容で作成した

"100.168.192.in-addr.arpa.zone"

は、こちらをクリックすると表示できます。

この テキスト ファイルには余分な文字は入っていませんから、開いてコピー&ペーストで使用するか、 ダウンロード して使用してください。

もちろん、書き換えが必要な部分は適宜書き換えてください。

記述が終わったら"100.168.192.in-addr.arpa.zone"を保存し、nanoエディタを終了してください nanoエディタでファイルを閉じる

また、"100.168.192.in-addr.arpa.zone"を保存したら必ずパーミッションを確認してください。

右のリストはCentOS4、WBEL4の例です。
CentOS5 では、設定ファイルのパーミッションに仕様変更が行われていて、所有者が "root" になっていますので、 "named named" ではなく "root named" となります。
ファイルやディレクトリの所有者の基本については、 属性とパーミッション〜その1 を参照してください。
[root@web1 named]# ls -l 100.168.192.in-addr.arpa.zoneEnter lsコマンドの説明
-rw-r--r--  1 named  named     234 12月 17 19:22 100.168.192.in-addr.arpa.zone
[root@web1 named]#

パーミッションと所有者、所有グループがこれと異なっている場合は、 chmod chown コマンド を使って修正してください。

関連セクションへ 関連セクション・ 固定IPでDNSサーバー構築


このサイトは リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。今のところ更新予定はありませんのでご了承ください。
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。