Oracle VM VirtualBox跨设备Ubuntu VM无法ping通问题求助
跨物理主机Ubuntu虚拟机通信解决方案(VirtualBox)
核心思路
仅主机适配器仅适用于同一物理机内的虚拟机通信,跨物理主机的虚拟机需要接入同一物理局域网,因此必须使用桥接适配器模式。
步骤1:修改两台虚拟机的网络适配器为桥接模式
- 先关闭目标虚拟机(不关机修改网络设置可能不生效)
- 打开VirtualBox,选中虚拟机 → 点击「设置」→ 切换到「网络」标签页
- 网卡1的「连接方式」选择桥接适配器,「界面名称」选择当前物理主机正在使用的网络接口(比如你连的WiFi名称、以太网网卡,根据实际情况选)
- 点击「确定」,启动虚拟机
步骤2:配置虚拟机IP(自动/手动二选一)
方式A:自动获取DHCP(简单)
虚拟机启动后,打开终端执行:
ip a
找到网卡(通常是enp0s3或类似名称)下的inet字段,记录IP地址(比如192.168.1.100)
方式B:手动设置固定IP(稳定,避免DHCP分配IP变化)
- 终端执行以下命令编辑网络配置文件(文件名可能略有不同,以
/etc/netplan/下的yaml文件为准):
sudo nano /etc/netplan/00-installer-config.yaml
- 将内容修改为(替换成你所在局域网的网段、网关):
network: ethernets: enp0s3: # 替换为你的网卡名称(从`ip a`结果中获取) addresses: [192.168.1.100/24] # 选与物理局域网同网段的IP,避免和其他设备冲突 gateway4: 192.168.1.1 # 路由器网关,和物理主机的网关一致(物理主机ipconfig/ifconfig可查) nameservers: addresses: [192.168.1.1, 8.8.8.8] version: 2
- 按
Ctrl+O保存,Ctrl+X退出,执行以下命令生效配置:
sudo netplan apply
步骤3:验证连通性
- 先确认虚拟机和自身物理主机能通:在虚拟机终端ping物理主机IP,比如:
ping 192.168.1.5
- 确认两台物理主机在同一局域网能通:在其中一台物理主机ping另一台物理主机的IP,能通才继续
- 最后ping另一台虚拟机的IP:
ping 192.168.1.101 # 替换为另一台虚拟机的IP
剩余排查点
- 确保两台物理主机连接同一WiFi/同一路由器,不在同一局域网的话需要额外配置VPN或端口转发(新手优先确保同一局域网)
- 再次确认虚拟机防火墙已关闭:
sudo ufw status
显示inactive即为关闭状态,若为active则执行sudo ufw disable关闭
- 检查VirtualBox桥接适配器的界面选择是否正确:如果物理主机切换了网络(比如从WiFi切到以太网),需要重新选择对应的接口
内容的提问来源于stack exchange,提问作者Gacha76
相关产品推荐
相关产品推荐

