実験用のドメインで、ある特定のサブドメインだけ別のネームサーバで設定を管理することになったので、その際の作業について。

サブドメインのサブドメイン、、、を設定していたらちょっと混乱したので、基本に立ち返ってネームサーバの委任方法をメモしておきます。

特定のサブドメインだけ、別のネームサーバのレコードを参照させるには、

  • 委任するネームサーバのゾーンファイルに、委任を受けるネームサーバを、委任するサブドメイン用のNSレコードに記述する
  • 委任を受けるネームサーバのゾーンファイルに、委任を受けるネームサーバをNSレコードに記載する

の2点を行う必要があります。

文章で書くと分かりづらいですね。。。

要するに、

$ORIGIN example.com.
; ... 前略
; 親ドメインのゾーンファイルには、委任するサブドメインを管理するネームサーバを記載する
sub.example.com.        IN      NS     ns-another.example2.com.
; ... 後略
$ORIGIN sub.example.com.
; ... 前略
; サブドメインのゾーンファイルにも、同じくNSレコードを記述する
sub.example.com.          IN     NS  ns-another.example2.com.
; ... 後略

こういうことでした。

ちなみに、委任先のネームサーバが委任するサブドメイン(sub.example.com)内にある場合は、親のネームサーバのAレコードに、委任先ネームサーバのIPアドレスを記述します。

これがきちんと設定できていないと、

$ nslookup sub.example.com
** server can't find sub.example.com: NXDOMAIN

こんな感じのエラーが出ます。

サブドメインを別のネームサーバに管理させる場合は、親のネームサーバにもこのネームサーバにも、NSレコードの記述が必要という話でした。

あなたのお役に立てればうれしいです。