Active Directoryのドメイン名に「.local」を使ってはいけない件

Active Directoryのドメイン名に「.local」を使ってはいけない件

本記事について

本記事は、Active Directoryにて「.local」のドメイン名を使用してはいけないことについて記載しています。

Active Directoryのドメイン名に.localを使うと

今日まで、会社の基幹サーバーであるActive Directory のドメイン名は「xxx.local」で構築される方が多かったかと思います。
しかし、Microsoft社は「.local」のドメイン名で構築すると、重大なトラブルが発生すると警告していたり、
Apple製品の参加するネットワーク内に、ドメイン名「.local」が存在することで、動作が不安定になることが報告されています。

原因

Windows Server 2016におけるWindowsファイアウォールにて、mDNSが正常に動作していないことが原因となっています。

Windows 10 バージョン 1607 および Windows Server 2016 (ビルド 14393) 以降のセキュリティが強化された Windows ファイアウォールで、既定で有効である受信の規則 “mDNS (UDP 受信)” が、正常に機能しない事象が確認されております。
該当の規則は、同OSバージョンからサポートされるようになった mDNS (マルチキャストDNS) の通信を許可するための規則となりますが、現在の Windows 10 ならびに Windows Server 2016 の OS バージョンでは、製品の不具合により通信が許可されません。

https://social.technet.microsoft.com/Forums/ja-JP/9dd180ab-6cee-4c49-b579-06e04d438f3e/-mdns-udp-?forum=Wcsupportja

Linuxにおける実影響

実際に「.local」のドメイン名を使用している環境にて、LinuxやBSDを使用すると、Avahiが使用できなくなります。

mDNS “zeroconf” 標準を実装するavahi-daemonパッケージには、競合する.local DNS ドメインが存在する場合に実行されないようにするためのチェックが含まれています。ISP によっては、このような.localドメインをネットワーク上でアドバタイズしていると報告されていますが、Ubuntu 9.04 ホストはローカル ネットワーク上でアドバタイズされた名前を見ることができません

https://wiki.ubuntu.com/JauntyJackalope/ReleaseNotes#Avahi

Microsoftの見解

Microsoft社の公式文書にも記載されています。

ドメイン名は、ローカル エリア ネットワーク上で一意の名前である必要があります。Active Directory ドメイン サービス (AD DS) 名の拡張子 (.local) は、完全な DNS 名 (contoso.local など) を形成するために、内部ドメイン名に自動的に追加されます。
使用するドメイン名は、ユーザーがログオンするエイリアスとパスワードを入力するデスクトップ ページに表示されます。入力が簡単で長すぎないドメイン名を使用することもできます。
OS X 10.3 以上の Macintosh コンピューターをネットワーク上にインストールしている場合は、.local 以外の内部ドメインの AD DS 名拡張子を指定する必要があります。

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-essentials-sbs/cc626155(v=ws.10)?redirectedfrom=MSDN#internal-domain-name

Azure AD Connectに影響する.local問題

Azure AD ConnectとオンプレミスのAD「.local」(非ルートドメイン)と同期する場合、オンプレミスのドメイン変更か、1つ以上のUPNサフィックスを追加する必要があります。

Azure AD Connect では、ユーザーがオンプレミスで使用している資格情報と同じものを使用してサインイン可能になるように、ユーザーの UPN とパスワードを同期します。ただし、Azure AD Connect によるユーザーの同期は、Office 365 で確認済みのドメインのみを対象としています。Office 365 の ID は Azure Active Directory によって管理されるため、ドメインも Azure Active Directory によって確認されていることになります。つまり、ドメインは有効なインターネット ドメイン (com、.org、.net、.us など) であることが必要になります。内部の Active Directory が非ルーティング ドメイン (例: .local) のみを使用している場合は、そのドメインが Office 365 の確認済みドメインと一致する可能性はありません。この問題は、オンプレミスの Active Directory のプライマリ ドメインを変更するか、1 つ以上の UPN サフィックスを追加することで解決できます

https://docs.microsoft.com/ja-jp/office365/enterprise/prepare-a-non-routable-domain-for-directory-synchronization?redirectSourcePath=%252fja-JP%252farticle%252f%2525E3%252583%252587%2525E3%252582%2525A3%2525E3%252583%2525AC%2525E3%252582%2525AF%2525E3%252583%252588%2525E3%252583%2525AA%2525E5%252590%25258C%2525E6%25259C%25259F%2525E7%252594%2525A8%2525E3%252581%2525AB-local-%2525E3%252583%252589%2525E3%252583%2525A1%2525E3%252582%2525A4%2525E3%252583%2525B3%2525E3%252581%2525AA%2525E3%252581%2525A9%2525E3%252581%2525AE-%2525E9%25259D%25259E%2525E3%252583%2525AB%2525E3%252583%2525BC%2525E3%252583%252586%2525E3%252582%2525A3%2525E3%252583%2525B3%2525E3%252582%2525B0-%2525E3%252583%252589%2525E3%252583%2525A1%2525E3%252582%2525A4%2525E3%252583%2525B3%2525E3%252582%252592%2525E6%2525BA%252596%2525E5%252582%252599%2525E3%252581%252599%2525E3%252582%25258B%2525E6%252596%2525B9%2525E6%2525B3%252595-e7968303-c234-46c4-b8b0-b5c93c6d57a7#what-if-i-only-have-a-local-on-premises-domain

どのようなドメインにするべきなのか

ベストプラクティスとして、パブリックドメインに、サブドメインを加える形がよいです、例えば「corp.asohiro.com」といったドメインがよいでしょう。

パブリック ドメインを登録し、内部 DNS にサブドメインを使用することを強くお勧めします。
したがって、パブリック DNS 名を登録して、その DNS 名を所有します。次に、内部で使用するサブドメイン (corp.example.org、dmz.example.org、extranet.example.orgなど) を作成し、DNS 構成が正しく設定されていることを確認します。

https://social.technet.microsoft.com/wiki/contents/articles/34981.active-directory-best-practices-for-internal-domain-and-network-names.aspx

更新履歴

2020年5月4日  初版作成