権限委譲

読み:けんげんいじょう / 英語表記:delegation

DNSで、あるゾーンの一部(サブドメイン)の管理を、別の権威DNSサーバに任せること。親のゾーンに、サブドメインを管理するネームサーバをNSレコードで書いておく。

イマシルちゃんの解説

大きな会社の名簿を、社長が1人で全部管理するのは大変だよね。

だから、「営業部の名簿は、営業部の人が管理してね」って任せるんだ。
社長の名簿には、「営業部のことは、営業部のだれだれさんに聞いて」ってメモだけ書いておくんだよ。
DNSも、こうやって管理を分けて、名前の住所録を世界中で分担しているんだ。

より深い解説

定義

DNSの名前空間は、ドメイン名の木構造になっていて、管理の単位をゾーンという。親ゾーンの管理者が、サブドメインを独立したゾーンとして切り出し、その管理を別の権威DNSサーバに任せることを、権限委譲(委任)という。ルートから .jp、example.jp へと、委譲を重ねることで、DNSは世界中に分散して管理されている。

委譲の書き方

親ゾーン(example.jp)で、サブドメイン(sales.example.jp)を委譲する例:

; 親ゾーン example.jp のゾーンデータ
sales.example.jp.      IN  NS  ns1.sales.example.jp.
sales.example.jp.      IN  NS  ns2.sales.example.jp.
ns1.sales.example.jp.  IN  A   192.0.2.53     ← グルーレコード
ns2.sales.example.jp.  IN  A   198.51.100.53  ← グルーレコード
項目内容
NSレコードの先頭のフィールド(名前)委譲するゾーンのドメイン名
NSレコードのデータ部(RDATA)そのゾーンを管理するネームサーバのホスト名
グルーレコードネームサーバのホスト名が、委譲するゾーンの中にあるとき、親ゾーンにそのAレコードも書く。書かないと、ネームサーバのアドレスを調べるために、そのネームサーバ自身に聞かなければならず、名前解決ができなくなる

NSレコードの注意点

注意点内容
ホスト名を書くNSレコードのデータ部には、IPアドレスではなく、ネームサーバのホスト名を書く
別名は書かないデータ部には、CNAMEで定義した別名ではなく、正規のホスト名を書く
親と子の一致親ゾーンのNSレコードと、子ゾーン自身のNSレコードの内容をそろえる

名前解決の流れでの役割

フルサービスリゾルバが sales.example.jp の名前を問い合わせると、example.jp の権威DNSサーバは、答えを直接返す代わりに「sales.example.jp は、このネームサーバに聞いて」という委譲の情報(NSレコードとグルーレコード)を返す。リゾルバは、それに従って、sales.example.jp の権威DNSサーバに問い合わせる。

委譲の不備(lame delegation)

委譲先のネームサーバが、実際にはそのゾーンを管理していない状態を、lame delegation という。名前解決の失敗や遅延の原因になるほか、廃止したネームサーバのドメイン名を第三者に取得されると、ゾーンを乗っ取られるおそれがある。

実際の試験ではここに出る!

↑