Windows Server 2008 R2 と Windows NT 4.0 のドメインで信頼関係を結ぼうとした際にすこしコツがありますのでまとめてみたいと思います。
■Windows Server 2008 R2 と NT ドメインで信頼関係を設定
Windows Server 2008 R2 で構成された AD ドメインと NT 4.0 の NT ドメインで双方向の信頼関係を設定します。
– 2008 R2 → NT の信頼関係を設定 –
まずは、2008 R2 から NT に信頼関係を設定します。
[Active Directory ドメインと信頼関係] で信頼関係を設定します。
NT のドメイン名は、[NT-DOMAIN] としていますので信頼関係の設定先としてはこのドメイン名を指定します。
同一セグメント内だとドメイン名の解決は特に問題なく実施できてしまうことがあるのですが、NT ドメインの名称が解決できない場合は、lmhosts で解決をしてしまうのが良いかもしれないです。
内容としてはこのような形ですね。
[0x1b] の IP には PDC を設定しておきます。
TCP/IP および LMHOSTS ファイルを使用したドメイン ブラウジング
lmhosts ファイルの設定後に[nbtstat ?R] [nbtstat ?c] を実行して、[1C] [1B] [03] [00] [20] のレコードがキャッシュに読み込まれていれば設定は完了です。
ドメイン名の解決ができれば 2008 R2 から双方向の信頼はさほど問題なく設定できると思います。
– NT → 2008 R2 の信頼関係を設定 –
NT ドメインのドメインコントローラーでも lmhosts を使って AD のドメインを解決できるようにしておきます。
[0x1b] で指定するドメインコントローラーは PDC エミュレーターになります。
あと、AD ドメインの[Default Domain Controllers Policy] で [Windows NT 4.0 と互換性のある暗号化アルゴリズムを許可する] のポリシーを設定をしておきます。
# Default Domain Controllers Policy でなくてもドメインコントローラーに適用されるポリシーで設定していただければ問題ありません。
このポリシーですが、Windows Server 2008 R2 をドメインコントローラーとする際に表示される以下のダイアログで記載されているポリシーになります。
ドメイン名の解決ができるようになったら、懐かしのドメインユーザーマネージャーから信頼関係を設定します。
[信頼する側のドメイン] は AD のドメイン名と信頼関係のパスワードを設定するだけですので、すんなりと設定ができると思います。
信頼する側のドメインの設定が終わると、AD ドメインから、NT ドメインのユーザーを使用することができるようになります。
NT ドメインから、AD ドメインのユーザーを使用できるようにするためには、[信頼される側のドメイン] を設定する必要があります。
ドメイン名とパスワードを入力すると、以下のエラーになってしまい信頼される側のドメインとしては設定ができないと思います。
この現象ですが以下の技術情報が該当するのかなと思っています。
Windows Server 2008 R2 Outbound trusts with Windows NT 4.0 domains do not validate or function correctly
While Windows Server 2008 R2 computers cannot establish outgoing trusts with Windows NT 4.0 domains, such outbound trusts can be established with Windows 2000, Windows Server 2003, Windows Server 2008 and Windows Server 2008 R2 domains.
英語の技術情報でないとこの記述が無かったりするのですが…。
Windows Server 2008 R2 だけでドメインを組まずに、2000 ~ 2008 のドメインコントローラーを 1 台追加しそのサーバーを利用することで、NT ドメインと信頼関係が結べるようになりますということが書かれているようです。
今回のドメインはフォレスト / ドメインの機能レベル共に 2003 で構築しているので、追加できるドメインコントローラーの OS には融通が利きます。
MCT の憂鬱さんで公開されている以下の情報で、2008 R2 の機能レベルでも、ごみ箱が有効になっていなければ機能レベルを下げられるということが書かれていますので、2008 R2 の機能レベルにしていても特定の条件下であれば、NT ドメインと信頼関係が結べるかと思います。
フォレスト機能レベルを下げる?
参考になりそうな情報としてはこの辺りも。
ドメインの信頼関係を使用するためのファイアウォールの構成方法
Windows 2000 で Windows NT ベースのドメインとの信頼を確立する方法
既存のドメインへの Windows Server 2008 または Windows Server 2008 R2 ドメイン コントローラーの追加に関するマイクロソフト サポート クイック スタート
The Net Logon service on Windows Server 2008 and on Windows Server 2008 R2 domain controllers does not allow the use of older cryptography algorithms that are compatible with Windows NT 4.0 by default
Computers that are running Windows 7 and Windows Server 2008 R2 may fail to be authenticated by non-Windows NTLM or Kerberos-based servers
2008 R2 のドメインコントローラーで [nltest /dbflag:0x2080ffff] を実行して、netlogon のログを取得し、情報を確認してみたいと思います。
# ログの取得を終了する場合は、[nltest /dbflag:0x0] を実行します。
このコマンドを実行すると、[C:Windowsdebugnetlogon.log] にログが出力されます。
NT から信頼関係を設定したタイミングでアクセスには来ているのですが弾かれてしまっているようなログが出力されています。
それでは、Windows Server 2008 のドメインコントローラーを AD ドメインに追加してみたいと思います。
PDC エミュレーターを追加した 2008 に移動させ、
NT の lmhosts を 2008 の PDC エミュレーターに向けて、[nbtstat] でリフレッシュさせます。
また、追加した 2008 のドメインコントローラーの lmhosts にも NT ドメイン名を解決できるように設定しておく必要がありますのでご注意ください。
# 設定をしないと、AD ドメインから NT ドメインのユーザーの解決ができなくなります。
■まとめ
以下のような構成を組むことで、Windows Server 2008 R2 のドメインコントローラーが含まれるドメインと NT ドメインの信頼関係を結ぶことが可能です。
# Windows 2000 Server を含められたかは記憶があいまいなのですが…。
ただし、一点落とし穴がありまして NT から AD ドメインのユーザーを使用してアクセス権を設定できるのですが、
一度設定した後に再度アクセス権を確認すると [不明なアカウント] となってしまうのですよね…。
2008 / 2008 R2 でセキュリティを設定した時も同様で設定時には NT ドメインのユーザーがユーザー名で表示されるのですが、再度確認をしようとすると SID 表示になってしまったりもします。
# 設定後にすぐ確認ではなく、一度ログオフしてキャッシュクリアすると SID 表示になると思います。
2003 のドメインコントローラーから確認をすると SID ではなくユーザー名で表示されたりはするのですが。
# ダウンレベルクライアントのポリシー設定をすると回避できるかもしれないのですが試せていません…。
NT ドメインですがまだまだ現役だったりすることがあるので、この辺の設定は悩ましいですね。