BINDで連番レコードを生成するUNIX処方箋

現場ですぐに役立つ知識を欲するあなたに贈る珠玉のTips集。今回はBINDで連番レコードを生成する方法を紹介します。

» 2008年12月17日 00時00分 公開
[ITmedia]

BINDで連番レコードを生成するSolaris上でBINDを利用し、DNSサーバを運用しています。使用しているサーバアプリケーションの関係で、クライアントの逆引きIPアドレスをDNS上に登録しなければならないのですが、対象となるIPアドレス数が多く大変です。連番形式でよいので、簡単な方法はないでしょうか?


 お使いのBINDのバージョンが8.2以降、もしくは9.1以降であれば、簡単に連番レコードを生成できます。バージョン番号を調べるには、次のように実行します。


# /usr/local/sbin/named -v

BIND 9.4.3


 対応バージョンを使用していることが確認できたら、実際に設定します。これにはBINDの拡張構文の1つである、「$GENERATE制御ステートメント」を用います。

 例えばDHCPでIPアドレスを割り当てている範囲に対して、「dhcp-IPアドレスの4オクテット目」という逆引きホスト名を割り当てるとします。このときに逆引きゾーンファイルに記述する内容は、以下のようになります。

逆引きゾーンファイルに記述する内容

 上のように設定してからBINDを再起動(あるいはリロード)することで、記述に従った変数展開が行われ、内部的には以下のように取り扱われます。

2.1.168.192.in-addr.arpa. PTR dhcp-2.dtc.co.jp.

3.1.168.192.in-addr.arpa. PTR dhcp-3.dtc.co.jp.

254.1.168.192.in-addr.arpa. PTR dhcp-254.dtc.co.jp.


BIND再起動後、逆引きゾーンファイルに記述した内容はこのように変数展開が行われる

 なおスレーブサーバ側には、あらかじめ展開された状態でレコードが渡されます。この機能をうまく用いることで、記述ミスの防止や設定作業の省力化が図れます。

関連キーワード

UNIX処方箋 | BIND | DNS | 運用管理 | UNIX


Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ