標準設定以外のパターンで 24bit 以上の逆引きを定義しないとダメな場合

この方法はユーザ会が実験的に示すもので、動作の保証はしません。 DNS, Unix の基本的な理解もある程度要求します。
設定ファイルの更新には危険が伴いますので、自信のある人だけ、自己責任で お願いします。この表現の意味が分からない人はやめた方が良いでしょう。
情報提供は日商エレクトロニクスの安元様他からです。
しかしこの件に関する質問を直接安元様にするのはやめて下さい。
否定的な表現ですが、それでもここに上げた情報は多くの人に有効で、 かつ、有益だと信じています。その点をご理解下さい。


概略・構成

Classless の逆引き設定は、標準的な方法がなく、RFC2317 に示された アイディア(片っ端から CNAME して上位 ISP が持つ)に基づいて、 プロバイダごとに適当な方法で実装しています。
そのためプロバイダごとに、逆引きに用いるゾーン名が異なってしまうと いう問題が起きています。

Cobalt はこれに対応するために、ゾーン名の書き方のパターンをあらかじめ 何種類か用意して置いて、そのうちのどれを用いるか指定することによって、 正しい逆引き情報ファイルを作ろうとしています。

Cobalt に telnet login して ls /etc/cobaltdns.* とすれば、何種類かの パターンファイルがあることが判ると思います。 最初から用意されているのは、拡張子が OCN, DION, RFC2317 のもので、 これが即ち DNS のリバースルックアップの詳細設定 Web 画面で、 タイプとしてポップアップメニューに現れる選択肢になります。
cobaltdns.conf というファイルが、現在選択されているパターンファイルの コピーになります。

ここで例えば OCN を選択して、逆引きの設定を行い、変更を保存、とすると、 /etc/cobaltdns.OCN を /etc/cobaltdns.conf にコピーし、 その内容(つまりゾーン名のパターン)に基づいて、 逆引き設定ファイル(具体的には /etc/named.boot)を随時作り直してくれる 仕掛けになっています。

パターンファイルの内容

以上にサンプルとして、DION 用パターンファイルの内容を示しておきます。 (先頭が # で始まる行はコメントです。つまり全部パターンを書いてあるけど、 DION だけを有効にした、というものです。)
#
# Enter your zone format here
#
# zone-format-8 specify a >= 8-bit network zone format
# zone-format-16 specify a >= 16-bit network zone format
# zone-format-24 specify a >= 24-bit network zone format
#

# RFC 2317 format
# zone-format-8: %2/%n.%1.in-addr.arpa
# zone-format-16: %3/%n.%2.%1.in-addr.arpa
# zone-format-24: %4/%n.%3.%2.%1.in-addr.arpa

# OCN style
# zone-format-8: %2.%1.in-addr.arpa
# zone-format-16: %3.%2.%1.in-addr.arpa
# zone-format-24: %4.%3.%2.%1.in-addr.arpa

DION style
zone-format-8: %2h.%1.in-addr.arpa
zone-format-16: %3h.%2.%1.in-addr.arpa
zone-format-24: %4h.%3.%2.%1.in-addr.arpa

新パターンの追加

というわけで、例えば新しく 3WEB に対応するパターンファイルを追加すれば、 3WEB の逆引きを行うことも出来るようになります。 具体的には cobaltdns.3WEB (拡張子はまあ既存のものとぶつからなければ 何でもいいのですが、ここでは 3WEB とします)という名前で、 以下の内容のファイルを作ります。 (cobaltdns.conf を cobaltdns.3WEB 等とコピーして作るとタイプミスなどの 間違いが防げて良いでしょう。)
# 3WEB style
zone-format-8: %2A.%1.in-addr.arpa
zone-format-16: %3A.%2.%1.in-addr.arpa
zone-format-24: %4A.%3.%2.%1.in-addr.arpa
これがつまり3WEB に対応したパターン、というわけです。 3WEB では、例えば 101.102.103.160 という IP ネットワークの逆引きを、 24 bit 以上の Netmask で宣言する時のゾーン名は
160A.103.102.101.in-addr.arpa
と表記します。これを示すパターンが、
zone-format-24: %4A.%3.%2.%1.in-addr.arpa
になっているわけです。

だいたい想像が付くと思いますが、%1 が IP address をオクテット単位 (「.」区切り)で表現した場合の、1 番目にくる数字、ということです。
RFC2317 の例を見ていただくと、%n というものがありますが、これはどうやら ネットマスクの長さに置き換えられるようです。

注意

どうも新規に追加したパターンファイルへの対応がうまくできていない ようで、追加した直後は、一回だけ余計に DNS パラメータの変更を保存、 という作業をやってやらないといけないようです。
(このページを書いている安田は日本語版 Cobalt を持っていないので確認 できないのです。)

謝辞

ユーザーズグループに詳細な情報を提供してくださった日商エレクトロニクスの 安元様に感謝いたします。

Nov. 1998.


This page is administrated by
Cobalt Users Group. (usersgroup@cobaltqube.org)
All rights are reserved.
[BACK]