RunMyLyfe

Mac から Windows の SMB 共有フォルダに接続できない?パブリックネットワーク+ファイアウォール 445 ポートブロックの解決記録

桌機
AD
#1
2026/7/18 13:35:32

今日、Mac から LAN 経由で Windows パソコンの共有フォルダにアクセスしようとして、Finder の「サーバへ接続」で smb://192.168.0.x を入力しましたが、接続に失敗し続けました。簡単なトラブルシューティングで原因を特定し修正できたので、手順を記録します。

初期調査

まず Windows 側の SMB サービスの状態を確認し、SMB 通信を担当するポート 445 が正常にリッスンしていることを確認しました。サービス自体は正常に動作しており、問題はネットワークとファイアウォールの設定にあることが判明しました。

問題1:ホーム LAN が Windows にパブリックネットワークと判定される

Windows はセキュリティのため、パブリックネットワークではファイル共有機能をデフォルトでブロックします。ファイアウォールがポート 445 への外部接続を自動的にブロックします。これは公共の場では適切ですが、家庭内 LAN での正常なファイル転送を妨げ、接続失敗の主な原因でした。

問題2:Windows ファイアウォールの SMB 共有ルールがほぼ無効

内蔵の SMB ファイアウォールルールはほとんどが無効状態でした。有効になっている少数のルールも特定の IP のみを許可しており、ローカルサブネット全体には開放されていないため、Mac が接続を確立できませんでした。

修正手順

ステップ1:ネットワークの種類をパブリックからプライベートに変更

PowerShell を管理者として開き、以下のコマンドを実行してネットワークをプライベートに再分類し、Windows にローカルネットワークを信頼させてファイル共有のブロックを解除します:

Set-NetConnectionProfile -InterfaceAlias "イーサネット" -NetworkCategory Private

ステップ2:ポート 445 を許可するファイアウォールルールを追加

日本語版 Windows の内蔵ファイアウォールルールはコマンドラインでの操作時にエンコーディングの問題が発生しやすいため、英語名の新しい受信ルールを作成して、SMB に必要な TCP ポート 445 を確実に開放します:

New-NetFirewallRule -DisplayName "SMB-Allow-LAN" -Direction Inbound -Protocol TCP -LocalPort 445 -Action Allow -Profile Private

これらの設定を適用後、Mac から再度接続したところ、Windows の共有フォルダに正常にアクセスできました。


重要なポイント

  1. LAN ファイル共有には Windows ネットワークをプライベートに設定する必要あり — パブリックネットワークでは共有が完全にブロックされます。
  2. SMB はポート 445 に依存 — サービスが動作していてもファイアウォールがブロックすれば接続不可。
  3. 日本語版 Windows では英語名のファイアウォールルールを作成すると安全 — ローカライズされたルール名はスクリプト操作時にエンコーディング問題が発生する可能性あり。
  4. 接続にはユーザー名だけで OK — コンピュータ名を接続設定に含める必要はありません。
0 いいね数
AD

返信