💻
[備忘]VirtualBox からホストマシンに ping が届かなくなったのでその対策
[備忘]VirtualBox からホストマシンに ping が届かなくなったのでその対策
ネットワーク初心者なので間違っていることがあれば教えてください!
起きたこと
NIC に NAT を設定しているにも関わらず、VirtualBox で作成した仮想マシン(CentOS7)から、ホスト PC(Windows)のイーサネットアダプタへの ping が通らない
原因
デフォルトゲートウェイの優先度が、ホストオンリー> NAT となっていた
結論
デフォルトゲートウェイの優先度を、NAT >ホストオンリーとすれば OK
調査したこと
ネットワークアダプターの状況
- アダプター 1...ホストオンリーアダプター / アダプター 2...NAT
- アダプターをそれぞれオンオフした際の実験結果
- アダプター 1(ホストオンリーアダプター)だけ ON
- 仮想マシン → ホスト PC への ping...
Destination host unreachable
- 仮想マシン → ホスト OS(イーサネット アダプター VirtualBox Host-Only Network)への ping...
Destination host unreachable
- ホスト PC の TeraTerm → ゲスト OS への接続...OK
- ホスト PC の Chrome → ゲスト OS への接続...OK
- 仮想マシン → ホスト PC への ping...
- アダプター 2(NAT)だけ ON
- 仮想マシン → ホスト PC への ping...OK
- 仮想マシン → ホスト OS(イーサネット アダプター VirtualBox Host-Only Network)への ping...OK
- ホスト PC の TeraTerm → ゲスト OS への接続...NG
- ホスト PC の Chrome → ゲスト OS への接続...NG
- 両方とも(ホストオンリーアダプター, NAT)ON
- 仮想マシン → ホスト PC への ping...
Destination host unreachable
- 仮想マシン → ホスト OS(イーサネット アダプター VirtualBox Host-Only NetwSDsork)への ping...
Destination host unreachable
- ホスト PC の TeraTerm → ゲスト OS への接続...OK
- ホスト PC の Chrome → ゲスト OS への接続...OK
- 仮想マシン → ホスト PC への ping...
- これらから NAT を通しての通信であれば ping 通る ことがわかった。
- アダプター 1(ホストオンリーアダプター)だけ ON
ルーティングテーブル
ダメだった時
最優先がenp0s3
(アダプター 1/ホストオンリー)になっている(metric 100
)。
その次がenp0s8
になっている(metric 101
)。
[root@testserver ~]# ip route
default via XXX.XXX.XXX.XXX dev enp0s3 proto static metric 100
default via YYY.YYY.YYY.YYY dev enp0s8 proto dhcp metric 101
(省略)
上手くいったとき
最優先がenp0s8
(アダプター 2/NAT)になっている(metric 101
)。
その次がenp0s3
になっている(metric 102
)。
[root@testserver ~]# ip route
default via YYY.YYY.YYY.YYY dev enp0s8 proto dhcp metric 101
default via XXX.XXX.XXX.XXX dev enp0s3 proto static metric 102
(省略)
修正方法
以下のコマンドで metric 値を NAT が優先されるように変更しておけばよい。
sudo ip route add default via YYY.YYY.YYY.YYY dev enp0s8 metric 101
sudo ip route add default via XXX.XXX.XXX.XXX dev enp0s3 metric 102
疑問
ホストオンリーが最優先であった場合に、ホスト OS(イーサネット アダプター VirtualBox Host-Only Network)への pingがDestination host unreachable
になっていたのはなぜなのか。。わかったら追記します。
Discussion