2018/06/11

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

(※11/19 追記: Windows 10 ver 1809 ではこの問題は発生しませんでした。原因はいまだ不明ですが、解消されたようです。コメント欄に原因かもしれない 1803 のバグ情報があります)

おうちで複数台の 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

6 件のコメント:

  1. 私も、1803にしてからRDPやmouse without bordersなどが不調で困っていました。
    名前可決の問題だろうとは思っていましたが。
    ファイアウォールの設定変更で、トラブル解消しました。
    ありがとうございました。

    返信削除
  2. 山市様
    私の職場で同様の現象が発生しましたが、この記事のおかげで問題が解決しました。ありがとうございます。
    他の掲示板やブログ等で紹介されている「"Function Discovery Provider Host"などのサービスを自動に設定」「"SMB1.0/CIFSファイル共有のサポート"にチェックを入れる」では駄目でしたが、こちらの方法が有効でした。
    PCやネットの仕組みについては素人で、理屈はほぼわかりませんが、とにかく共有フォルダにつながるようになってよかったです。
    重ねて感謝申し上げます。

    返信削除
  3. .local ドメインを使っているから問題なんじゃないかというコメントをいただきましたが、この問題はワークグループ環境であり、Active Directory は関係ありません。(.local で終わるドメインはもちろん問題があることは存していますし、作ることはありません) 。RDP 接続以外では、問題なく名前解決できて接続できます。

    また、resolve-dnsname compuername による名前解決は mDNS がファイアウォールで有効だと...

    computername.local AAAA ipv6 addr
    computername.local AAAA ipv6 addr

    computername AAAA ipv6 addr
    computername A ipv4 addr

    が返ってくるという違いがありました。ご参考まで。

    返信削除
  4. 名前解決の問題はver1809(幻の17763.1)では発生しないようです。

    返信削除
  5. ↓名前解決の問題はこちらが関係しているかもしれません。期待(⌒∇⌒)
    https://answers.microsoft.com/ja-jp/windows/forum/windows_10-networking/windows-10-professional-64bit-1803/54b4776a-f93a-42aa-9cd9-04c7b6d522a1

    返信削除
  6. 記事参考になりました!
    1809 → 1809へのRDP接続において同じ問題が発生しました。
    (どちらもWORKGROUP環境)
    接続される側の1809で、グループポリシーの「リモート デスクトップ サービス」でUDPを無効にしたら接続出来るようになりました。
    ただやっかいなのは、1809 → 1809でも問題ない場合があるということ・・・。

    返信削除

注: コメントを投稿できるのは、このブログのメンバーだけです。