サブドメインの運用と委任:実用 BIND 9で作るDNSサーバ(6)(2/3 ページ)
大規模なサイトでは、「サブドメイン」によって実組織を模したドメイン構成をとることがある。その際、サブドメインの管理を「委任」することが可能だ。今回は、それらの概念や設定方法を解説する。(編集局)
委任しないサブドメイン運用
サブドメインの運用に当たって、すべてのサブドメインに委任先となるDNSを立てる必要はありません。組織の規模や管理手法によっては委任を利用せず、親ドメイン内で完結させることもできます。サブドメインが管理するゾーン情報の更新頻度が比較的低い場合や、サブドメインを運用できる担当者やサーバなどの資源に恵まれない場合は、この方法が有効的です。
例として、example.jpドメインにサブドメインとして「secretary.example.jp」を新設してみましょう。secretary.example.jpに属するホスト情報は次のとおりです。
pc1.secretary.example.jp | 192.168.10.50 | |
---|---|---|
pc2.secretary.example.jp | 192.168.10.51 | |
mail.secretary.example.jp | 192.168.10.52 | secretary.example.jpドメインのメールサーバ |
www.secretary.example.jp | pc1.secretary.example.jpの別名 | secretary.example.jpドメインのwwwサーバ |
第2回で紹介したexample.zoneファイルを基に、追加設定を施します。
基本的なサブドメインの設定
最も簡単な方法は、親(example.jp)のゾーンファイルに子(secretary.example.jp)のホスト情報を持たせることです。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ホスト名の最後の「.」を省略すると、ゾーンファイルの起点名が補完されます。例ではnamed.confで「example.jp」を起点名に指定(注)しているため、下記のようにFQDNで指定した場合と同じように振る舞います。特に、MXレコードの指定ではドメイン名そのものをレコードの左辺に指定しています。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
設定は、親ゾーン(example.jp)のNSとして登録されている全DNSサーバ(図3のA、B)に必要です。ゾーン転送やゾーンファイルの自動更新を用いてゾーン情報の同期を行っているのでなければ、ここで紹介した設定を全サーバに施します。設定完了後、BINDを再起動して変更を有効化し、digなどで動作を確認します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
同様の手順で、MXやNSレコードの確認も行います。うまくいかないときは、/var/log/messagesのエラーを参考に、ゾーンファイルに問題がないか確認します。
$ORIGINを使用したサブドメインの設定
named.confで指定したデフォルトの起点名を意図的に変更するには、$ORIGINステートメントを用います。$ORIGINステートメント以降は、ホスト名の最後の「.」を省略した際に補完されるドメイン名が、$ORIGINの右辺(secretary.example.jp.)に変更されます。ただし、MXはFQDNを指定する必要があります。
また、$ORIGINで起点名を変更すると、再度$ORIGINで起点名を定義し直さない限り、行末まで指定した起点名が有効になります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
$ORIGINに$INCLUDEを併用した設定
$INCLUDEステートメントを利用することで、サブドメイン「secretary.example.jp」の情報を別ファイルに分離し、親のゾーンファイルに挿入させることができます。サブドメインのゾーンファイルはexample.zoneと同じディレクトリ(ここでは/var/named)に保存し、記述する内容は「$ORIGINを使用したサブドメインの設定」と同じにします。サブドメイン情報を別ファイルとすることで、ゾーンファイルの編集中に親ドメインとサブドメインの整理がつかなくなるなどの煩わしさがなくなります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
$INCLUDEで起点名を変更した設定
$INCLUDEの2番目の引数に起点名を指定することで、記述をさらに簡潔にできます。簡素化とともに、起点名の変更がその1行(読み込むファイルに対してのみ)に限定できるため、$INCLUDEの次の行はデフォルトの起点名(例ではexample.jp)のままにすることが可能です。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
専用のゾーンファイルを用意する方法
BIND 9では、サブドメイン専用のゾーンファイルを定義できます。これまでの方法は、親のSOAをそのまま引き継ぎますが、専用のゾーンファイルを用意すればサブドメイン専用のSOAを定義できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
ゾーン転送やゾーンファイルの自動更新でゾーン情報を同期している場合、サブドメイン専用にゾーンファイルを定義すると、サブドメイン分はスレーブ側に反映されません。ゾーン転送を使用している場合は、スレーブサーバ側に以下のような設定を追加します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
以上が、委任せずに親ドメイン内でサブドメインの設定を完結させる手法です。ここでは正引きのみ説明しましたが、逆引きも通常どおり行いましょう。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Copyright © ITmedia, Inc. All Rights Reserved.