Windows Server DNS ゾーンについて

こんにちは、Miyaです。

DNSは一つ以上のゾーンをホストしており、ゾーンに含まれている各レコードに基づいて名前解決を行っています。
そのゾーンにも様々な種類があり、それらを理解した上で選別していかなければなりません。
また、DNSにはゾーン転送と呼ばれる、ゾーン情報を他DNSに転送するといった操作も存在しており、その際にプライマリやらセカンダリ、スタブなどの用語をきちっと理解しておかなければなりません。
今回は、Windows Server DNSにて取り扱えるゾーンの種類について詳しく解説していきます。

スポンサーリンク:

DNSゾーンの構成

DNSサーバーでは、DNSドメインという空間を使用して階層構造を構成し、ドメイン単位での分散管理によって名前解決を行っています。
このゾーンには、とある1ドメインの情報だけを格納することもありますし、複数のドメイン情報を1つのゾーンに格納するケースも存在します。
例えば、親子関係のあるドメイン環境の場合に、親DNSに子ドメイン情報を格納するか、各DNSに各ドメイン情報を格納するかの選択ができるってことです。
DNSゾーンとは

これらの違いが何に影響するか?というと、ゾーン転送と管理の委任が挙げられる思います。
先ほどの図では、パターン①の場合、親DNSから他DNSにゾーン転送を行った際に、子ドメイン情報も転送されてしまいます。
contoso.comドメインの情報だけを転送したい!といった制御が出来なくなってしまいますよね。
また、パターン①は子ドメインの情報を親DNSの1ゾーンに集約しているため、管理を親DNSに委任する必要があります。
これらの観点から、ゾーンを分けるか否かを選択しなければなりません。大抵パターン②になるとは思いますが(´_ゝ`)笑

ゾーンの種類

ゾーンの種類をずらっと挙げてみました。

  • プライマリゾーン
  • セカンダリゾーン
  • スタブゾーン
  • 前方参照ゾーン
  • 逆引き参照ゾーン
  • 標準ゾーン
  • Active Directory統合ゾーン

もうね、ここがかなりややこしいところでして…笑
ゾーンはゾーンでも着目点が違うため、一くくりにゾーンとして説明しちゃうと頭がこんがらがっちゃいます( 一一)笑
とりあえず、わかりやすいように表で分けておきました。
DNSゾーンとは

ゾーン転送に着目したゾーンの種類

ゾーン転送とは、我がDNSサーバーでホストしているドメイン情報を、他DNSに転送することを指します。

例えば、自身でホストしていないゾーン情報を名前解決する場合、そのゾーンをホストしているDNSサーバーからゾーン情報を転送してもらうことによって、権限のある応答としてクエリに応えることができます。
これから解説するのは、ゾーン転送として選択することのできるゾーン達になります。

プライマリゾーンとは?

プライマリゾーンとは、その名の通り、そのドメイン情報の主要なソースであることを意味します。
また、プライマリゾーンとしてドメイン情報を格納している場合、そのDNSサーバーで、書き込み/読み込みが行えます。

セカンダリゾーンとは?

セカンダリゾーンとは、そのドメイン情報の2番目以降のソースであること意味します。
そのドメイン情報をホストしているリモートDNSサーバーからゾーン自体を取得する必要があります。
また、セカンダリゾーンは読み取りしか行えないため、レコードの更新はリモートDNSサーバーから最新の情報を受け取る必要があります。
DNSゾーンとは

ちなみに、プライマリ・セカンダリに関係なく、ゾーン転送元DNSサーバーをマスターサーバーと呼びます。
マスターサーバーは[DNS管理コンソール]から、対象のセカンダリゾーンを右クリック→[プロパティ]から変更することが出来ます。
DNSゾーンとは

スタブゾーンとは?

スタブゾーンとは、相手先のゾーン情報から、相手先のDNSサーバーを識別するための必要最低限のレコードのみを保持します。
具体的に挙げると、SOAレコード、NS、グルーAレコードになります。
つまり、スタブゾーンを保持するということは、プライマリ、セカンダリゾーンとは異なり、自身でAレコードなどを保持していないため、相手先にクエリを生成する必要があります。

スタブゾーンを構成することで、下図のように余計な反復クエリを軽減することが出来ます。
DNSゾーンとは

おおまかな動作としては、条件付きフォワーダーと同じになりますが、細かく見れば別物になります。
こちらに関しては、別途記事にしようと思いますので、しばらくお待ち下さいm(__)m

クエリの向きに着目したゾーンの種類

ここでいうクエリの向きというのは、IPアドレス→ホスト名なのかホスト名→IPアドレスを意味します。
DNSの構築の記事の”ゾーンの種類”に記載していますので、そちらを参考にして下さい。

でもまぁ、

・前方参照ゾーン:ホスト名→IPアドレス
・逆引き参照ゾーン:IPアドレス→ホスト名

の情報以外にお伝えすることはありません…笑

格納場所に着目したゾーンの種類

最後に、格納場所に着目したゾーンの種類を解説します。
「なにを格納するの?」ですが、ゾーンに含まれる情報(レコードなど)を保持しているデータベースの格納場所の話です。

Windows Serverでは格納場所によって、出来ること出来ないことがありますので、それらを考慮して決定する必要があります。

標準ゾーンとは?

標準ゾーンは、ゾーン情報をファイルとして、%SystemRoot%\System32\dns\~~.dnsに保存します。
Active Directory統合ゾーンとして構成するには、DCが構成されているサーバーでDNSサーバーの役割を追加する必要があるのに対し、標準ゾーンでは、その制約が無いため、好きなサーバーに役割を追加することが出来ます。

Active Directory統合ゾーンとは?

Active Directory統合ゾーンとは、ゾーン情報をActive Directoryデータベースに保存します。
AD環境でDNSサーバーを立てるとなると、大体がActive Directory統合ゾーンにされていると思います。理由は得られるメリットが多いためです。

Active Directory統合ゾーンにすることで、得られるメリットが以下になります。

  • 動的更新のセキュリティ向上
  • ゾーンへのセキュリティ設定

動的更新のセキュリティ向上

動的更新とは、DNSクライアントのレコードを動的に更新する機能です。
例えば、静的にレコードを作成していたとして、コンピュータのIPアドレスを変更した場合、DNS管理コンソールからレコードを手動で修正する必要がありますが、動的更新にすることで自動で修正されます。

この動的更新ですが、DNSに接続したコンピュータなんでもかんでもレコードとして追加するのはセキュリティ上好ましくありません。
そこで、ADで認証されたコンピュータに限って動的更新をさせるように設定することができます。

[DNS管理コンソール]から、動的更新を許可したいゾーンを右クリックし、[プロパティ]を開きます。
[動的更新]を[セキュリティ保護のみ]に設定することで、動的更新をセキュアな状態で行えることができます。
DNSゾーンとは

ゾーンへのセキュリティ設定

ゾーン情報には、各レコードが含まれており、誰でも編集できる状況はあまり好ましくありません。
DNSに関しての知識が乏しい方が管理コンソールからレコードの編集および追加・削除ができるなんてもっての外です。
また、ゾーン毎に管理者を分けて、運用していくんだ!なんて需要もあると思います。

Active Directory統合ゾーンにすることで、各ゾーンに管理権限を特定のユーザやグループに割り当てることが可能です。

[DNS管理コンソール]から、セキュリティ設定したゾーンを右クリック→[プロパティ]から[セキュリティ]タブをクリックします。
ここから、ユーザまたはグループの選択と、付与したい権限にチェックすることで制限することが出来ます。
DNSゾーンとは

おわりに

私はDNSとはなんぞや?という時期にこれらのゾーンの一気に叩き込まれたので、ひっっっとつも頭には入りませんでした(´_ゝ`)笑
たぶん私がバカってのが8割原因だとは思うのですが、ゾーンって単語が多すぎじゃないですか…笑
同じようにDNSについてふわっとしか理解できていない方に本記事が少しでもお役に立てれば幸いですm(__)m

それでは、よいWindows Serverライフをっ♪

スポンサーリンク