はじめに (対象読者・この記事でわかること)

この記事は、VirtualBoxでLinuxサーバとWindowsサーバを立ち上げてネットワーク実験をしたいが、「同一ホスト上なのにpingが通らない」という方を対象にしています。
記事を読むことで、VirtualBoxのネットワークモード(NAT、ブリッジ、内部ネットワーク等)の違いと、それぞれの使い分け、実際にpingが通るようになるまでの設定手順がわかります。
筆者も検証環境を構築した際に2時間以上ハマったため、同じ時間を浪費しないよう詳細をまとめました。

前提知識

  • VirtualBoxのインストールと仮想マシンの作成ができる
  • LinuxとWindowsでIPアドレスを確認する方法を知っている(ip a または ipconfig
  • pingコマンドを打てる

VirtualBoxのネットワークモードが不通の元凶

VirtualBoxには「NAT」「NATネットワーク」「ブリッジアダプタ」「内部ネットワーク」「ホストオンリーエーディタ」など、モードが複数存在します。
デフォルトの「NAT」はゲスト→外部の通信は可能ですが、ゲスト同士の通信はできません
つまり、LinuxゲストとWindowsゲストが両方「NAT」になっている限り、同一セグメントに入らないためpingは届かないのです。
ブリッジにすると物理LANに参加するため面倒、かといって内部ネットワークにするとホストOSからも見えなくなる――というトレードオフを理解したうえで、最適なモードを選ぶ必要があります。

ステップバイステップでpingを通す設定

ステップ1:両ゲストを「NATネットワーク」に変更する

  1. VirtualBoxのメニュー「ファイル」→「ホストマネージャー」で「NATネットワーク」タブを選択し、適当なネットワーク(例:192.168.100.0/24)を作成しておく
  2. 各仮想マシンの「設定」→「ネットワーク」→「アダプター1」で「接続先」を「NATネットワーク」に変更し、先ほど作ったネットワークを選択
  3. 両OSを起動して、ip a(Linux)またはipconfig(Windows)でIPを確認
    - 例:Linux 192.168.100.4、Windows 192.168.100.5 が自動で振られているはず

ステップ2:Windows側のファイアウォールを無効化(検証用)

Windows 10/11ではデフォルトで「ファイル・プリンター共有(ICMPv4-in)」が無効になっているため、pingが届いても返答しないことがあります。

  • コントロールパネル→Windows Defender ファイアウォール→「高度な設定」→「受信の規則」
  • 「ファイルとプリンターの共有(ICMPv4-In)」を右クリック→「有効化」
  • 即座に反映されるため、Linux側から再度 ping 192.168.100.5 を打つと応答が返る

ハマった点:IPが同一セグメントでも「応答なし」

当初、両ゲストのIPは同一セグメントだったにもかかわらず、WindowsからLinuxへのpingは通るのに逆方向が通らないという現象が起きました。
Wiresharkでキャプチャを取ると、ICMP Echo Requestは到達しているものの、WindowsがEcho Replyを返していないことが判明。
原因は上述のファイアウォール規則で、Windowsが「パブリック」プロファイルを適用していたため、VirtualBoxの仮想アダプターを「プライベート」に変更したうえで規則を有効にすると解決しました。

解決策まとめ

  • VirtualBox側:両ゲストを「NATネットワーク」に統一し、同じネットワーク名を割り当てる
  • Windows側:ファイアウォールでICMPを許可するか、一時的にファイアウォールを無効にして検証
  • Linux側:iptables -L で拒否ルールがないことを確認(CentOS等ではFirewalldも確認)

これで、ホストOSを経由せず、仮想マシン同士が直結でping・SSH・ファイル共有が可能になります。

まとめ

本記事では、VirtualBox上のLinuxサーバとWindowsサーバがping不通になる理由と、NATネットワーク+ファイアウォール設定で解決する手順を解説しました。

  • VirtualBoxのデフォルト「NAT」ではゲスト間通信ができない
  • 「NATネットワーク」を使うことで簡単に同一セグメントを構築できる
  • WindowsのファイアウォールがICMPを黙殺していることも多い

正しいネットワークモードを選ぶだけで、VirtualBox上でも本格的多段ネットワーク実験が可能です。
次回は、ブリッジアダプターを使ってルーター越えの実験や、内部ネットワーク+DHCPサーバ構築について記事にする予定です。

参考資料

  • Oracle VM VirtualBox ユーザマニュアル(ネットワーク設定章)
    https://www.virtualbox.org/manual/ch06.html
  • Microsoft Learn「ICMP トラフィックを許可する」
    https://learn.microsoft.com/ja-jp/windows/security/operating-system-security/network-security/windows-firewall/create-an-inbound-icmp-rule
  • 個人ブログ「VirtualBoxでゲスト同士をping通しよう」
    https://example.com/vbox-ping-troubleshoot