目次
1.前提
2.三つの原因
2.1.IPアドレス等の設定
2.2.ファイアウォール
2.3.仮想マシンのネットワーク設定
3.まとめ
前提
前提としてVirtualBox上に構築された仮想マシン「Windows server2019」「Windows10」同士
または、ゲストOSとホストOS同士のping通信ができなかった時の記事となります。
環境情報
・Windows10(ホストOS、ゲストOS)
・Windows server 2019(ゲストOS)
・VirtualBox 7.0.12(win)
三つの原因
ping通信ができない理由として主に三つあります。
1.IPアドレス等の設定が間違っている
2.ファイアウォールによって通信が許可されていない
3.VirtualBox上の仮想マシンの設定が間違っている
IPアドレス等の設定
まず原因のひとつとしてIPアドレス、サブネットマスクが正しく設定されていない可能性があります。
コントロールパネルより [ネットワークとインターネット] > [ネットワーク接続]より対象のネットワークアダプターを右クリックし、[プロパティ]を押下します。
[インターネットプロトコルバージョン4(TCP/IPv4)]を選択し、[プロパティ]を押下します。
正しいIPアドレスとサブネットマスクを入力します。
ここで入力するIPアドレスは通信する対象のOSと同じセグメントとなるように設定してください。
ファイアウォール
もう一つの原因としてファイアウォールにより通信が拒否されている可能性があります。
Windows serverではデフォルトでPING通信が拒否されています。
この設定は、ping通信を送る機器とping通信を受け取る機器それぞれに設定を適用する必要があります。
サーバーマネージャーのツールからセキュリティが強化されたWindows Defender ファイアウォールを起動します。
受信の規則の仮想マシンの監視(エコー要求 - ICMPv4受信) が無効化されていることを確認します。
対象の規則を右クリックし、[プロパティ]を押下します。
[有効]のチェックボックスを押下し、規則を有効化します。
規則が有効化されました。
仮想マシンのネットワーク設定
VirtualBoxではネットワークアダプターの割り当てがデフォルトでNATになっています。
NATではホストOSとゲストOSの通信は可能ですが、ゲストOS同士の通信はできません。
そこで、それぞれの通信が可能なホストオンリーアダプタ を使用します。
Oracle VM VirtualBoxマネージャーを起動し、対象の仮想マシンを選択し、[設定]を押下します。
[ネットワーク]を押下します。
[割り当て]を押下し、プルダウンメニューから[ホストオンリーアダプタ]を選択します。
変更が完了しました。
まとめ
これらの設定を適用すればたいていの場合は問題が解決すると思います。
設定を適用する対象は一つの仮想マシンだけではなく通信先の仮想マシンにも適用することを忘れないようにしましょう。
これでも通信ができない場合はpingコマンドでIPアドレスが間違っている、windows端末のアダプターの共有設定など原因として考えられることは多くあります。
ネットワークに関する設定は複雑なので自分がどこの何を設定したかを覚えておくと良いでしょう。