久々にVirtualBoxを起動して色々と設定していたのですが, ホストOSからSSHした際にブリッジは上手くいくのにホストオンリーアダプターだけがうまくいかず.
勘違いしていたので自分用のメモです.
環境
- VirtualBox 7.0
- ホストOS: Windows10
- ゲストOS: Ubuntu22.04
詰まったところ
- VirtualBoxのネットワークの設定とUbuntu(ゲストOS)のnetplanの設定を行ってもホストOSからpingが通らない
手順
まずはVirtualBoxの設定から.
ツール>ネットワーク>Host-only Networksタブ
ここからホストオンリーアダプタのアドレスを設定します.
今回は192.168.56.101
にしました.
次に仮想マシンの, 設定>ネットワーク からアダプターを追加します.
今回はアダプター1はNATのままにし, アダプター2にホストオンリーアダプターを追加します.
ここでVirtualBox Host-Only Ethernet Adapter
というのを選択していますが, これが先程設定したものですね.
続いてゲストOS(Ubuntu)内の設定です.
SSH出来ませんから, コンソール画面から設定しています.
$ cd /etc/netplan/
$ sudo cp 00-installer-config.yaml 99-config.yaml # 新しく設定用ファイルを作る
$ sudo vim 99-config.yaml
enp0s3
がアダプター1, enp0s8
がアダプター2の設定です.
network:
version: 2
ethernets:
enp0s3:
dhcp4: true
enp0s8:
addresses:
- 192.168.56.101/24
$ sudo netplan apply # 設定したnetplanを適用
$ ip a # 確認
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
︙
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
︙
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
︙
ここまでで上手く行っているように見えるのですが, ホストOSからpingさえ通りません.
手順は何も間違えていないはずなのに何故…?と思っていたのですが, 単純な勘違いでした
解決
VirtualBoxで設定したIPはゲストOSのIPアドレスではなく, ホスト用のIPアドレスだったようでして, それと同じIPをゲストOSのnetplanに書いてしまっていました.
これでは通るはずがありません.
network:
version: 2
ethernets:
enp0s3:
dhcp4: true
enp0s8:
addresses:
--- - 192.168.56.101/24
+++ - 192.168.56.102/24
IPをズラしてあげたらすんなり上手くいきました.
勘違いって怖いですね😅