LANで使用するドメイン名の注意点

LAN内で使用するドメイン名について

一般的にドメイン名というと".com"などのgTLD(ジェネリックトップレベルドメイン)や".jp"などのccTLDを指して使うことが多いと思います。

LAN(ローカル・エリア・ネットワーク)内にサーバを構築する場合、ドメイン名をどうするか迷うことがあります。
ネーミングルールの存在する会社の場合は問題ありませんが、そうでない場合は無難な(それでいて先方が気に入る)名称を考えなければなりません・・・。

たまに見かけるのがドメイン名に".local"を使っているパターンです。

localドメインの問題点

".local"の問題点は、LAN内で名前解決できずにWAN(インターネット)のDNSに問い合わせてしまうケースです。
".local"ドメイン名はgTLDではないため(LAN内で名前解決できない場合)DNSサーバを経由して最終的にDNSルートゾーンに到達し、負荷をかける原因の一端となっているからです。

なお、".local"ドメインはDNSサーバが無い環境でよく使われているようです。
実際に、Windowsに実装されている"LLMNR(Link-Local Multicast Name Resolution)"ではドメイン名から".local"を除いたのちDNSクエリをマルチキャスト(5355/udp:224.0.0.252)して名前解決します。
また、MacOSに実装されている"mDNS(Multicast DNS)"でも同様にDNSクエリをマルチキャスト(5353/udp:224.0.0.251)して名前解決します。
ちなみに、Windows 10からはmDNSも標準サポートになりました。

DNSサーバの代わりとして名前解決してくれる機能のメリットとしては、hostsファイル(/etc/hosts等)を毎回更新するといった手間から解放されることでしょうか。

非公開のルートゾーン

実際には、多くの組織で会社名など独自のTLD(トップレベルドメイン)を使っています。
これらTLDはもちろんICANNに未登録(非公開)なので、設定の不具合などでLAN内で名前解決されないとDNSルートゾーンに到達して負荷をかけてしまいます。

名前衝突問題

ドメイン名の標準化推進などを行っている「JPNIC(Japan Network Information Center)」によると、トップレベルドメインには名前衝突(Name Collision)問題がついてまわります。

あまり意識する機会がありませんが、トップレベルドメインは頻繁に追加が行われています。
そのため、以前は使われていなかったドメイン名が新規登録されて不具合が発生することがあります。
これが名前衝突問題です。

例えば、2000年に追加された".info"ドメインや".pro"ドメインなどが挙げられます。
また、それ以降も使ってしまいそうなドメイン名が追加されています。

ローカルと重複しそうなドメイン名

以下、主観で抜粋
.community .forum .management .one .school .tech
.company .group .menu .online .shop .tips
.computer .guide .mini .press .site .top
.design .homes .news .pub .support .total
.directory .host .next .report .systems .works
.feedback .limited .office .safe .team .zone

なお、以下のトップレベルドメインについては、影響が計り知れないため登録が保留されています。

  • .corp ・・・ 無期限保留
  • .home ・・・ 無期限保留
  • .mail ・・・ 追加保留検討
  • .internal ・・・ 予約済みTLD
    伝統的?にLinuxで使われている".localdomain"は含まれていません・・・。

また、プライベートIPアドレスのように、内部専用TLD(プライベートドメイン名)も検討されている模様です。
正直、内部専用TLDがあると非常にやりやすいので是非お願いしたいです。

結論

LANで使用するドメイン名は、保留や予約済みとなっている上記4つのTLDを使うのが吉です。
(もし万が一、プライベートドメイン名がTLDが新規登録されて外部で名前解決できる状態になると、異なるページを参照することになってしまいます)。