前置き
今回自分が直面したシーンは、VPN接続でマシンA(Windows10)とマシンB(Windows Server 2022)を接続し、マシンBにある共有フォルダをマシンAから見ようとしてうまくいかなかったというものです。一般的なLAN構成でネットワーク越しに見れないというのとは若干異なっているかもしれませんが、チェックすべきポイントとしては同じことかなと思います。
発生事象
VPN接続としてマシンBに割り振られたIPアドレスをXX.XX.XX.XXとしますが、マシンAのエクスプローラーで\\XX.XX.XX.XXを指定してもエラーとなって共有フォルダが出てきませんでした。そればかりか、マシンBで\\XX.XX.XX.XXを指定してもアクセスできませんと言われてしまいました。
確認したこと
Ping
Pingは通っていました。
telnet
telnet XX.XX.XX.XX 445がエラーとなっていたため、ポート周りがおかしいのだろうというアタリは付けておりました。
ネットワーク設定
共有フォルダへのアクセスはプライベートネットワークになってないといけないため、VPN接続をプライベートネットワークにします。
[ファイル名を指定して実行]から、[gpedit.msc]でローカルグループポリシーエディターを開き、[コンピューターの構成]-[Windowsの設定]-[セキュリティの設定]-[ネットワークリストマネージャーポリシー]を展開します。
VPN接続にあたるものを右クリックしてプロパティを開き、[ネットワークの場所]タブで「場所の種類:プライベート」を選択します。「ユーザーは場所を変更できない」にチェックしておいていいと思います。
マシンAについても同様にします。
共有設定
ファイル共有の設定を確認します。[ネットワークと共有センター]-[共有の詳細設定の変更]を開きます。「プライベート」の「ネットワーク探索」「ファイルとプリンターの共有」をいずれも有効にしておきます。
ポートの開放
共有フォルダへのアクセスには、TCPポート445が必要なので、これがファイアウォール(受信)で許可されるように設定します。コントロールパネルの[Windows Defenderファイアウォール]-[詳細設定]から[受信の規則]-[新しい規則]でTCPポート445を許可します。
IPセキュリティポリシー
これが今回さんざんググっても全く引っかからなかった情報で、かつ自分のケースの問題の原因でした。[ファイル名を指定して実行]から[secpol.msc]でローカルセキュリティポリシーを開いてみると、[IPセキュリティポリシー]のところにポート445をブロックするという設定がされていました。これを無効化します。
ちなみに
ググっていると、Windowsの機能の有効化の「SMB1.0/CIFS ファイル共有のサポート」をONにするという対応が出てきますが、今回の自分のケースではONにする必要はありませんでした。またローカルグループポリシーエディターの[コンピューターの構成]-[管理用テンプレート]-[ネットワーク]-[Lanmanワークステーション]で「安全でないゲストログオンを有効にする」というのもありましたが、それも関係なさそうでした。
備考:共有設定について
ここまでの設定(というか、IPセキュリティポリシー設定の発見)により、マシンB上で\\XX.XX.XX.XXをエクスプローラーで指定したら共有フォルダが表示されました。同様に、マシンAからも\\XX.XX.XX.XXを指定して共有フォルダが見えるようになりました。
フォルダ共有の際に特に何もアカウントの制限をかけていない(Everyoneに許可されている)状態なら、上記フォルダをダブルクリックで問題なく開くことが可能ですが、今回はアクセス可能なアカウントを1つ(userXとします)に制限しており、そのままだと「アクセス許可がありません」とエラーが出てフォルダを開くことができませんでした。
ググっているとWindows資格情報を指定するといった対応が出てくるのですが、自分のケースではいまいちうまくいきませんでした。最終的に、コマンドプロンプトでnet use
を下記のように利用することで、ドライブを割り当ててうまくアクセスできるようになりました。
net use (DriveLetter): \\XX.XX.XX.XX\shareName /user:userX passwordOfUserX
以上、同様の事象で困っている方のチェックポイントとして一助となれば幸いです。