PIB - 20180629 - ネットワーク エラー 0x80070035

状況

Ubuntu 16.04.04 LTS の samba に Windows 10 Professional 64bit の 1803 から繋ごうとすると
explorer.exe から \\HOSTNAME を開くと以下のようなエラーがでて表示できない。
ネットワークエラー
\\HOSTNAME にアクセスできません
名前のスペルを確認しても問題がない場合は、ネットワークに問題がある可能性があります。ネットワークの問
題を識別して解決するには、[診断] をクリックします。
(^) 詳細を非表示にします                                                  [診断(D)] [キャンセル]
エラー コード: 0x80070035
ネットワーク パスが見つかりません。
explorer.exe の「ネットワーク」には HOSTNAME で対象の Ubuntu が表示されていて、それをダブルクリックしても駄目。
2、3週間前までは問題なく表示出来ていたはずなのだが、なぜこうなったのか謎。

[診断]を実行すると以下のような結果になる。
Windows ネットワーク診断

トラブルシューティングが完了しました
見つかった問題の一部をトラブルシューティングで自動的に習性できませんでした。詳細に付いては、下記を参照してください。

見つかった問題
ファイルとプリンターの共有リソース(HOSTNAME)はオンラインですが、接続至高に応答していません。 検出済み ⚠

→ このトラブルシューティング ツールのフィードバックをお寄せください
→ トラブルシューティング ツールを終了する
詳細の表示
                                                                                                [閉じる]

しばらく前に、プライベートネットワークとパブリックネットワークで、explorer.exe の「ネットワーク」に表示されるかどうかを確認するため、アダプタのプライベート/パブリックの切り替えや、「ネットワークと共有センター」→「共有の詳細設定の変更」から「ネットワーク探索」や「ファイルとプリンターの共有」、「パスワードの保護」辺りを多少いじった記憶はあるが、ここは、きちんと元に戻したはずなので、ここは問題がないはず。
具体的には以下の設定になっている。

プライベートは
ネットワーク探索
  ◎ ネットワーク探索を有効にする
    ☑ ネットワーク接続されているデバイスの自動セットアップを有功にする
  ○ ネットワーク探索を無効にする
ファイルとプリンターの共有
  ◎ ファイルとプリンターの共有を有効にする
  ○ ファイルとプリンターの共有を無効にする
パブリックは
ネットワーク探索
  ○ ネットワーク探索を有効にする
    ☑ ネットワーク接続されているデバイスの自動セットアップを有功にする
  ◎ ネットワーク探索を無効にする
ファイルとプリンターの共有
  ○ ファイルとプリンターの共有を有効にする
  ◎ ファイルとプリンターの共有を無効にする
すべてのネットワークは
パブリック フォルダーの共有
  ○ 共有を有効にして、ネットワーク アクセスがある場合はパブリック フォルダーないのファイルを読み書きできるようにする
  ◎ パブリック フォルダーの共有を無効にする(このコンピューターにログオンしている場合はこれらのフォルダーにアクセスできます)
ファイル共有の接続
  ◎ 128 ビット暗号化を使用してファイル共有の接続を保護する(推奨)
  ○ 40 ビット暗号化または 56 ビット暗号化を使用するデバイスのためのファイル共有を有効にする
パスワード保護共有
  ◎ パスワード保護共有を有効にする
  ○ パスワード保護共有を無効にする

samba windows10 つながらない 0x80070035」でググると何パターンか解決方法が出てきた。
guest アクセス許可してる奴も見えないので、
  • HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel
  • 「コントロールパネル」→「資格情報マネージャー」→「Windows資格情報」→「Windows資格情報の追加」
  • 「コントロールパネル」→「ユーザー アカウント」→「資格情報の管理」→「Windows資格情報」→「Windows資格情報の追加」
はちょっと違うと言うか、うちのケースではどちらも効果なかった。
そもそも、HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters\BasicAuthLevel は webclient の設定なので、効果あるとは思えないし、これ 2 にすると、非 SSL 接続で基本認証許可しちゃうのでセキュリティ的によろしくない。 「Windows資格情報」は、基本的にローカルでログインしているユーザー名とパスワードがファイル共有でも使われるはずなので、ローカルとサーバーで ID, PW が違う場合とか、そもそもローカルにパスワード設定してない場合以外は、特に必要ないはず。

仮に認証周りなら、ひょっとすると PIN を有効にしていることで通常のパスワードがうまく機能してない可能性もあるのかなと思い、念のため PIN を削除してみたが、これも効果なし。
リブート案件も疑って再起動してみたがこちらも効果なし。
「設定」→「ネットワークとインターネット」→「ネットワークのリセット」も試してみたが効果なし。

SMBv1 に関しては、そもそも samba の方が SMBv3 標準になったはずなので余計に謎。
しかも「コントロール パネル」→「プログラムと機能」→「Windows の機能の有効化または無効化」では、
☑ SMB 1.0/CIFS ファイル共有のサポート
☐ SMB ダイレクト
と言う状況。
とりあえず念のため SMB ダイレクトも ON にしてみたが効果なし。
また、SMB 1.0/CIFS を切ると、explorer.exe の「ネットワーク」から HOSTNAME 及び、自分自身も消える始末。これはこれで問題なのでは?

興味深いのは Windows ファイアウォール。
有効の状態だと上記のダイアログが表示されるまでに数十秒かかるのだが、無効にすると一瞬で表示されるようになる。
なんだ?こりゃ?
ファイアウォールを切っても繋がらないので、ファイアウォールが直接の原因ではないのだが、ファイアウォールの設定も reject じゃなくて filtered か何かになっているので、エラーになるまで時間がかかっている状況???
「Windows Defender セキュリティセンター」→「ファイアウォールとネットワーク保護」で「ファイアウォールを規程に復元する」は試してみたがエラーになるまでの時間に改善は見られなかった。

あと、Professional じゃないノーマルの Windows 10 64bit 1803 からは HOSTNAME へ問題なく接続できてるので、個別の問題なのかノーマル/Proの違いの問題なのか判断に苦しむ。

これは、ひょっとすると「20180413: mount.cifs で Windows 10 1709 を mount 出来ない」で遭遇した問題の逆パターンで、Win10 が ntlmv2 ssp や sspi で繋ごうとしているのに、samba が ssp や sspi を受け付けないというパターンかだろうか???

部分的な解決

以下に
コンピューター名の代わりに IP アドレスを入れれば問題なしです。
とか、あったので試してみたら、確かに IP アドレスなら繋がる。
なぜ、名前で繋がらなくなった???

explorer.exe の「ネットワーク」にはちゃんと HOSTNAME で表示されるのでかなり謎な現象。