同じL2スイッチに繋がれたPC間でpingする

最近新人研修で勉強したネットワークの知識を定着させるために、実際にL2スイッチを買ってみたのでとりあえずそのスイッチに繋いだPC2つのPC間でpingをしてみる。

ちなみにこの記事で躓いたところは 2台のノートパソコンを直接接続してpingしてみた - chiroru's 成長blog を参考にしたので、もし同じ状況でうまくpingが通らない方はまずchiroruさんの記事を見ると良いと思います。

実行環境

ちなみにPC1はデスクトップPC、PC2は元々windowsが入っていたノートPCにあとからUbuntuで上書きしました。スイッチングハブへの接続はAmazonで買った安いLANケーブル(CAT6)で繋いでます。

ネットワーク環境

何故かPC1は手動でIPを設定し、PC2はDHCPで自動で割り振ってます。

pingの実行

準備ができたのでpingを実行します。

PC1(windows)→PC2(ubuntu)へのping

普通にpingが通りました

PC2(ubuntu)→PC1(windows)へのping

なぜかpingが通りません。そこで調べたところ、記事冒頭にも紹介した 2台のノートパソコンを直接接続してpingしてみた - chiroru's 成長blogがヒットしたのでこちらを参考にしました。

ブログを参考に、windowsファイアウォールの設定(エコー要求 ICMPv4受信のところ)を変えればpingが通ることはわかりましたが、ファイアウォールのプロファイルをパブリックにしないとpingが通りません。同じL2スイッチに接続されているためプライベートでも送れると思うのですが・・・。全然原因がわからないのでGeminiに聞いてみました(記事の最後に会話を載せておきます)。

Geminiに聞いたところ、windowsのネットワークプロファイルの種類がパブリックネットワークになっているのが原因では?と言われました。確認してみるとたしかにパブリックネットワークになっており、プライベートネットワークにしないとデバイスを同一ネットワーク上なのに弾かれてしまうそうです。こちらをプライベートネットワークにしたところ無事解決しました。やった~

次はwindowsからubuntuへリモート接続して、ubuntu上のコードを編集したり実行したりできるといいな~と思っています。

おまけ(Geminiとの会話内容)

自分:windowsファイアウォールについて質問があります。現在同じL2スイッチに接続したPC同士でpingを送ろうとしています。片方はwindows11でもう片方はubuntu24.04.2です。windows11からubuntuへはpingが通りましたが、ubuntuからwindows11へはpingが通りません。そこで、windows defender ファイアウォールの「ファイルとプリンターの共有(エコー要求 - ICMPv4受信)」を有効にし、プロファイルをパブリックにしたところubuntuからwindows11へpingが通りました。しかし、プロファイルをプライベートにしたところpingが再び通らなくなりました。同じL2スイッチに接続されているため、サブネットマスクIPアドレスのネットワーク部が同じであり、プライベートなネットワークに閉じていると思うのですが何が悪いのでしょうか。

Gemini:Windows Defender ファイアウォールの「ファイルとプリンターの共有(エコー要求 - ICMPv4受信)」ルールについてですね。プライベートプロファイルでPingが通らないとのこと、承知いたしました。

ご認識の通り、同じL2スイッチに接続され、サブネットマスクIPアドレスのネットワーク部が同じであれば、一般的にはプライベートネットワークとして扱われるべきです。それにも関わらず、プライベートプロファイルでPingが通らないのは、Windows 11がそのネットワークを「パブリック」と誤認識しているか、またはプライベートプロファイルの特定のルールがPingをブロックしている可能性があります。

考えられる原因と確認すべき点としては、以下の点が挙げられます。

ネットワークプロファイルの誤認識:

Windows 11が、現在のネットワーク接続をプライベートではなく「パブリック」として認識している可能性があります。これは、ネットワーク検出の設定や、以前接続したネットワークの情報が残っている場合に起こり得ます。 確認方法: 「設定」アプリを開き、「ネットワークとインターネット」->「イーサネット」または「Wi-Fi」(接続方法による)を選択します。 現在接続しているネットワークのプロパティを確認し、「ネットワークプロファイル」が「プライベート」になっているか確認してください。もし「パブリック」になっていたら、「プライベート」に変更してみてください。 プライベートプロファイルにおける詳細なファイアウォールルール:

たとえネットワークプロファイルがプライベートであっても、プライベートプロファイルにはパブリックプロファイルとは異なる、より厳密なルールが適用されている場合があります。 「ファイルとプリンターの共有(エコー要求 - ICMPv4受信)」ルールは、通常、すべてのプロファイルに適用されるように設定できますが、もしかしたらプライベートプロファイルに限定的な設定がされているかもしれません。 確認方法: 「Windows Defender ファイアウォール」を開き、「詳細設定」をクリックします。 「受信の規則」で「ファイルとプリンターの共有(エコー要求 - ICMPv4受信)」を探し、右クリックして「プロパティ」を開きます。 「全般」タブで「有効」にチェックが入っていることを確認します。 「詳細設定」タブで「プロファイル」の項目を確認します。「パブリック」「プライベート」「ドメイン」のいずれか、または複数がチェックされているかを確認してください。もし「プライベート」のチェックが外れていたら、チェックを入れてみてください。 また、「アクション」が「接続を許可する」になっていることを確認してください。 ネットワーク検出の無効化:

プライベートネットワークでは、通常ネットワーク検出が有効になっていますが、何らかの理由で無効になっていると、他のデバイスからのPingに応答しない場合があります。 確認方法: 「設定」アプリを開き、「ネットワークとインターネット」->「共有の詳細設定」を選択します。 「プライベートネットワーク」の項目を展開し、「ネットワーク検出を有効にする」と「ファイルとプリンターの共有を有効にする」の両方にチェックが入っていることを確認してください。 サードパーティ製セキュリティソフトウェアの影響:

もしWindows Defender以外に、サードパーティ製のウイルス対策ソフトやファイアウォールソフトをインストールしている場合、それらがPingをブロックしている可能性があります。 確認方法: 一時的にそれらのセキュリティソフトを無効にして、Pingが通るか確認してみてください。ただし、セキュリティリスクがあるため、確認後はすぐに有効に戻してください。 これらの点を確認することで、プライベートプロファイルでPingが通らない原因を特定できる可能性が高いです。