内部用ドメイン名(LANで使用するTLD)について検討したときのまとめ

内部DNSを構築した際に内部用ドメイン名(LANで使用するTLD)について検討しました。名前衝突の問題を考慮して、ワイルドカードDNS、衝突の可能性が低いTLD、予約TLDを検討しています。グローバルに取得したドメイン以外の選択肢を検討しています。

目的

内部的なネットワークで使用するサーバーを立てるときに、ホストの指定をIPアドレスではなくドメイン名で行いたいことがあると思います。 例えば次のような理由です。

  • ドメイン名でしか使えないサービスを利用したい
  • バーチャルホストを(名前ベースで)構築したい
  • ホストを覚えやすいドメイン名で指定したい
  • ホストのIPアドレスを変更した際の影響を最小限にしたい

このとき、内部向けのサービスのためにドメインを取得したくはないが、名前衝突のリスクは回避したいという状況があると思います。 落としどころを考えます。

ワイルドカードDNS

名前自体はなんでもよく、とにかくドメイン名を要求されるサービスが利用できればいいとか、バーチャルホストを構築できればいいということであれば、ローカルDNSを立てる必要もなく、ワイルドカードDNSサービスを使うことができます。

無料で利用できるワイルドカードDNSサービスとして下記などがあります。

使い方は、登録不要で foo.10.0.0.1.xip.iobar.10.0.0.1.xip.io でIPを引くと、サブドメインに指定したIPに解決されます。 foobar の部分は任意で、この場合のIPは 10.0.0.1 に解決されます。

ドメイン名にIPアドレスを含むことになるので、覚えやすさやIPアドレスの変更の影響を抑えたい用途には使えません。

登録が保留されているドメイン

すでに内部向けに多く利用されていて名前衝突の可能性が高い .corp .home .mail については無期限に委任が保留されています。

言葉通り解釈すると、これらのドメインが当分の間登録されることはなさそうですが、永久に登録されないことが保証されたわけでも内部向けに利用することを推奨しているわけでも無さそうです。

参考:

予約済みドメイン

現在、TLDとして .example .invalid .localhost .test が予約されています。 この中で使用できそうなものは、テスト用途であれば .test ドメインです。サービスの運用にも使えなくはないかもしれませんが、微妙です。

そこで、内部利用のために .internal ドメインを予約に追加しようという提案が出されているようです。 この提案のドキュメントは GitHub (https://github.com/wkumari/draft-wkumari-dnsop-internal) で管理されており、この issueを見た感じでは現在協議中のようです。

内部利用のためのドメインが正式に予約されてしまえば、迷うことなくその名前が安全といえるのですが、現状は決め手に欠けます。

現状での結論

現状で推奨される確実な方法は、保有しているグローバルなドメイン名を使うことです。

それでも、内部利用のためのドメイン名を使いたいということであれば、当分の間(あわよくば、ずっと)衝突の可能性が無い次のドメインから選ぶのが無難そうです。

  • .corp
  • .home
  • .mail

ただ、今後、内部利用のためのドメインが予約された場合、そのドメインが推奨されることは気に留めておいた方がよさそうです。