自宅サーバーをClaude Codeで引っ越し その9:LAN内の他のPCから繋がらない
前回で、再起動してもサーバーが自動で復旧するようになりました。今回は、原因がなかなか分からなかったネットワークのトラブルの話です。
自分からは見えるのに、他のPCからは繋がらない
症状はこうです。
サーバーにしているミニPC自身のブラウザからは、ホームページもWordPressも普通に表示されます。ところが、同じ家の中の別のPCから同じアドレスを開くと、いつまで待っても表示されずタイムアウトしてしまいます。
その2で設定した、WSL2へのポート転送とWindowsファイアウォールの許可は、どちらも入れてあります。実際にClaude Codeに設定を確認してもらっても、ファイアウォールの許可ルールは有効で、適用範囲もすべてのネットワークが対象になっていて、問題は見当たりません。
原因はネットワークの種類
Claude Codeが次に確認したのは、Windowsがこのネットワークをどう扱っているか、でした。調べてみると、接続しているWi-Fiが「パブリック ネットワーク」として認識されていました。
Windowsは、カフェなどの外のネットワークに繋いでいると判断すると、他の機器からのアクセスを強く制限します。自宅のWi-Fiなのですが、何かの拍子にパブリック扱いになっていたようです。これを「プライベート ネットワーク」に変更したところ、他のPCからも表示されるようになりました。
Set-NetConnectionProfile -InterfaceAlias "Wi-Fi" -NetworkCategory Private
意外だったのは、ファイアウォールの許可ルールが「すべてのネットワークで有効」になっていても、パブリック扱いだと別の制限がかかって通らない、という点です。ルールの設定だけを見て「問題なし」と判断していたので、ここは自分では気づけなかったと思います。
疎通しないときはまずここ
この設定は、再起動やネットワークの繋ぎ直しなどをきっかけに、またパブリックに戻ってしまうことがあるそうです。そのため、LAN内から急に繋がらなくなったときは、まずここを疑うようにしています。
ネットワークのトラブルは、どこに原因があるのか見当をつけるのが一番大変です。今回のように、設定した本人が「正しく設定できている」と思い込んでいる場所ほど厄介で、Claude Codeは問題となりそうなところを順番に潰していってくれるので本当に助かりました。
次回
次回は、サイト全体をHTTPS化した話です。今回の移行作業の中では、一番大きな山場でした。

[…] 自宅サーバーをClaude Codeで引っ越し その9:LAN内の他のPCから繋がらない […]