VirtualBox Ubuntu 22.04 Server联网、与主机互联
使用 VirtualBox 7.0安装了两个Ubuntu 22.04 Server虚拟机,想要实现:
- 主机与虚拟机互联
- 虚拟机之间互联,且互联的IP应为静态
- 虚拟机可以联网
解决方法
每个虚拟机配置两个虚拟网卡:
- 一个为桥接网络模式,用于联网以及与主机互联(由于第二个网卡设置为仅主机模式,仅主机模式下也能实现主机与虚拟机互联,故该网卡可以切换为任意可联网的模式,如NAT模式)
- 一个为仅主机模式,用于配置静态IP并实现虚拟机之间互联
Ubuntu 22.04使用netplan
进行网络配置,修改netplan
的配置文件(改之前可以备份一下。另外,有博客说配置文件名可能不一样,以自己虚拟机对应的路径下的文件为准):
sudo vim /etc/netplan/00-installer-config.yaml
内容为:
network:
ethernets:
enp0s3:
dhcp4: true
enp0s8:
dhcp4: no
addresses:
- 192.168.24.100/24
nameservers:
addresses:
- 192.168.24.1
- 144.144.144.144
version: 2
renderer: networkd
其中enp0s3
为桥接网卡,enp0s8
为仅主机网络网卡,其addresses
配置为自己需要的静态IP。
使用ifconfig
指令查看自己的网卡名,然后对上面的配置文件进行对应的修改。
修改后应用配置:
sudo netplan apply
遇到问题及解决
最开始以上述配置可达到目标,但当网络环境变为校园网后,桥接网卡不再有IPv4地址,且无法联网。
失败解决方案
修改配置文件,为桥接网卡配置静态IP,可以实现主机联通虚拟机,但虚拟机依然无法联通外网。
成功解决方案
手机打开热点,宿主机连接热点,虚拟机配置改回原配置,则再次可以连接。