2018/06/11

Windows 10 April 2018 Update(バージョン 1803)の RDP 関連の残念なバグ(続き)


おうちで複数台の Windows 10 Pro をお持ちの方、あるいはサーバー レスの小さなオフィスとかでも影響するかもしれない事案。

Windows 10 April 2018 Update(バージョン 1803) にアップグレード(または新規インストール)したら、別の Windows 10 バージョン 1803 に RDP 接続しようとしたとき...
リモート デスクトップはコンピューター "<コンピューター名>" を検出できません。"<コンピューター名>" が指定のネットワークに属していないことが考えられます。接続しようとしているコンピューターの名前とドメインを確認してください。
(英語環境なら Remote Desktop can't find the computer "<Computer Name>". This might mean that "<Computer Name>" does not belong to the specified network. Verify the computer name and domain that you are trying to connect to.)
この状況になっている場合、エラーメッセージは異なりますが、UWP 版のリモートデスクトップ アプリでも接続できないと思います。IP v4/v6 アドレス直指定すると接続できます。%Windir%\System32\drivers\etc\hosts で名前解決、ローカルの DNS 環境(Active Directory 環境など動的更新が有効な DNS)が利用可能である場合は、この問題は発生しないと思います。

こんなエラーで失敗するときの回避策を見つけました(と思う)。CredSSP 対策と同時期に発生した問題ですが、CredSSP 対策とは無関係だと思います。何となく mDNS (Multicast DNS、つまり MS 版 Bonjour、5353/udp)に関係した名前解決の問題のような気がしていましたが...


Windows 10 Fall Creators Update(バージョン 1709)と Windows 10 April 2018 Update(バージョン 1803)を新規インストールし、ドメイン参加なし、DNS はブロードバンドルーター参照、リモート デスクトップを有効化(NLA は既定の有効のまま)、ネットワークは「プライベート」を選択して、別の Windows 10 バージョン 1803 のリモートデスクトップ接続クライアント(Mstsc.exe)から接続すると...


同じ構成なのに、Windows 10 バージョン 1803 からバージョン 1803 に RDP 接続できない。実際に問題が発生していた物理環境だと、何度か繰り返せば接続できるんですが、新規インストールした環境だと、何度か繰り返しても接続できることはありませんでした。

Windows 10 バージョン 1803 で挙動が変更になったかもしれないこととして、バージョン 1607 にあった Windows ファイアウォールの mDNS の規則の問題が、もしかしたらバージョン 1803 で解消されていて、同時に RDP の接続問題を引き込んだとひとまず仮設を立てます

既定の受信の規則 “mDNS (UDP 受信)” が機能しない問題
[URL] https://blogs.technet.microsoft.com/jpntsblog/2018/04/28/%E6%97%A2%E5%AE%9A%E3%81%AE%E5%8F%97%E4%BF%A1%E3%81%AE%E8%A6%8F%E5%89%87-mdns-udp-%E5%8F%97%E4%BF%A1-%E3%81%8C%E6%A9%9F%E8%83%BD%E3%81%97%E3%81%AA%E3%81%84%E5%95%8F%E9%A1%8C/

(上のブログでは、"将来の OS バージョンにて修正を検討”と書てあるので 1803 で修正されたかどうかは不明ですが、それは置いといて...)

「セキュリティが強化された Windows Defender ファイアウォール」(タイトルが長い)で受信の規則「mDNS (UDP 受信)」と送信の規則「mDNS (UDP 送信)」の両方を「ブロック」にすると、あら不思議。すんなり接続するように。
接続元のファイアウォール、接続先のファイアウォールのどちらかがこの設定になっていれば、接続できるようです。ふだん同じ PC から作業しているなら、接続元のほうだけ変更するのが楽ちん。

「セキュリティが強化された Windows Defender ファイアウォール」(wf.msc)を使うのは面倒なので、コマンドで設定するには、コマンドプロンプトまたは Windows PowerShell を管理者として開いて...

C:\> netsh advfirewall firewall set rule group="mDNS" new enable=no

C:\> netsh advfirewall firewall add rule name="Block_mDNS_in" dir=in action=block protocol=UDP localport=5353
C:\> netsh advfirewall firewall add rule name="Block_mDNS_out" dir=out action=block protocol=UDP localport=5353

を実行!すぐに RDP 接続可能になると思います。


 あくまでも"私の"ところの現状をなんとかする”回避策”です。複数台でテストした限り、100 %問題解決できましたが、”全く的外れな回避策”かもしれません(私はこれでしばらく様子を見てみます)。また、mDNSの通信をブロックすることで、他の名前解決(特に mac との間のローカルの名前解決とか)に支障が出るかもしれませんので、悪しからず。Windows だけの環境なら、mDNS なくても問題なかとですよ。これまでだって前述の Windows ファイアウォールの問題で使われていなかったことですし(Windows どうしなら LLMNR があるし)。


元に戻すには、「セキュリティが強化された Windows Defender ファイアウォール」(wf.msc)を開いて、受信の規則「Block_mDNS_in」と送信の規則「Block_mDNS_out」を削除または無効化して、受信の規則「mDNS(UDP受信) プライベート」と送信の規則「mDNS(UDP送信) プライベート」を有効化するなりしてください(もともとどのプロファイルで有効になっていたか、あるいは有効になっていなかったかは上記コマンドを実行する前に確認しておいてね、パブリックでは決して有効にするべきではありませんよ)。また、Windows 10 バージョン 1803 (17134.1 ~)の不具合の疑いがあるので、累積更新(今月なら 6/13 の) の後に元に戻して、解消されていないかどうか確認してください。解消されたら、一時的な回避策は不要になるはず。

6/22 追記) 私の問題に関係しているかどうか分かりませんが、このような問題もあるようです。

Windows 10 バージョン 1803 のエクスプローラーで、ローカル ネットワーク上の他のデバイスや共有フォルダーを検出できない場合があります
[URL] https://answers.microsoft.com/ja-jp/windows/forum/windows_10-networking/windows-10/98d1d75f-1810-4c0c-be51-dd7b7e288c43

0 件のコメント: