将两台虚拟机实现网络互通(“搭桥”)需配置虚拟网络,以下是基于 VMware Workstation 和 VirtualBox 的详细操作指南(以 Windows 系统为例,Linux 原理类似):
一、VMware Workstation 配置(桥接模式/自定义网络)
方案 1:桥接模式(虚拟机与主机、物理网络设备直接互通)
1. 配置虚拟网络编辑器
- 打开 VMware Workstation,进入 编辑 > 虚拟网络编辑器。
- 选中 VMnet0(桥接模式),确保 桥接至 选择主机的物理网卡(如以太网/Wi-Fi)。
- 点击 确定 保存配置。
2. 为虚拟机分配桥接网络
- 右键虚拟机 > 设置 > 网络适配器,选择 桥接模式(Bridged),勾选 复制物理网络连接状态。
- 两台虚拟机均需重复此步骤,确保均连接到 VMnet0。
3. 配置虚拟机 IP(以 Windows 为例)
- 进入虚拟机的 控制面板 > 网络和 Internet > 网络连接,右键 以太网 > 属性,双击 IPv4。
- 手动设置 IP(如 192.168.1.10 和 192.168.1.11 ),子网掩码 255.255.255.0 ,网关和 DNS 设为物理路由器地址(如 192.168.1.1 )。
- 确保两台虚拟机的 IP 在同一网段(如前三位相同)。
4. 验证连通性
- 在虚拟机 A 中打开命令提示符,输入 ping 192.168.1.11 ,若返回请求应答则成功。
方案 2:自定义虚拟网络(仅虚拟机间互通,隔离物理网络)
1. 创建自定义虚拟网络
- 进入 虚拟网络编辑器 > 添加网络,选择 VMnet 虚拟网络(如 VMnet2),勾选 使用本地虚拟交换机。
- 取消勾选 将主机虚拟适配器连接到此网络(隔离物理网络),记录子网 IP(如 192.168.200.0 )和子网掩码。
2. 配置虚拟机网络适配器
- 两台虚拟机均设置为 自定义 > VMnet2(或其他自定义网络)。
3. 设置静态 IP(以 Linux 为例)
- 编辑网卡配置文件(如 /etc/sysconfig/network-scripts/ifcfg-ens33 ):
ini
TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.200.10 # 虚拟机 A
# IPADDR=192.168.200.11 # 虚拟机 B
NETMASK=255.255.255.0
GATEWAY=192.168.200.1 # 可选(若无需网关)
DNS1=8.8.8.8
ONBOOT=yes
- 重启网络服务: systemctl restart network 。
4. 测试互通
- 在虚拟机 A 中执行 ping 192.168.200.11 ,验证连通性。
二、VirtualBox 配置(仅主机网络/桥接模式)
方案 1:仅主机网络(Host-Only,虚拟机间及与主机互通)
1. 创建仅主机网络
- 打开 VirtualBox,进入 管理 > 主机网络管理器,点击 创建 生成 VirtualBox Host-Only Ethernet Adapter 。
- 记录 IP 范围(如默认 192.168.56.0/24 )。
2. 配置虚拟机网络
- 右键虚拟机 > 设置 > 网络,选择 仅主机适配器,指定刚创建的网络(如 vboxnet0 )。
- 两台虚拟机均需绑定到 vboxnet0 。
3. 设置 IP(以 Windows 为例)
- 虚拟机 A 设置 IP 192.168.56.10 ,虚拟机 B 设置 192.168.56.11 ,子网掩码均为 255.255.255.0 ,网关留空。
4. 验证
- 在虚拟机 A 中 ping 虚拟机 B 的 IP,确认互通。
方案 2:桥接模式(连接物理网络)
1. 配置桥接网络
- 虚拟机 网络设置 中选择 桥接模式,适配器选择主机物理网卡(如 Realtek Ethernet )。
2. 自动获取 IP(推荐)
- 确保虚拟机网络设置为 DHCP(默认),两台虚拟机将从物理路由器获取同一网段 IP(如 192.168.1.x )。
3. 手动配置(可选)
- 若需静态 IP,参考 VMware 方案 1 的 IP 配置逻辑,确保网段一致。
三、通用注意事项
1. 防火墙设置
- 关闭虚拟机内防火墙(Windows: systemctl stop firewalld 或 netsh advfirewall set allprofiles state off ),或放行 ICMP 协议(ping)。
2. IP 冲突
- 确保手动设置的 IP 未被其他设备占用,可通过 arp -a (Windows)或 arp -n (Linux)检查。
3. 虚拟交换机隔离
- 若需虚拟机与主机隔离,仅互通,使用 自定义网络(VMware) 或 仅主机网络(VirtualBox),不绑定物理网卡。
4. 服务验证
- 若需测试端口互通,可在虚拟机 A 中启动服务(如 python -m http.server 8080 ),在虚拟机 B 中用 curl http://A-IP:8080 验证。
四、Linux 虚拟机特殊配置(以 Ubuntu 为例)
1. 桥接模式下配置 IP
bash
# 编辑网卡配置
sudo nano /etc/netplan/01-netcfg.yaml
# 添加以下内容(IP 需与主机网段一致)
network:
version: 2
renderer: networkd
ethernets:
enp0s3: # 网卡名称可能不同,用 `ip addr` 查看
dhcp4: no
addresses: [192.168.1.10/24]
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8]
# 应用配置
sudo netplan apply
2. 仅主机网络下启用路由(可选)
- 若需主机访问虚拟机,在主机执行(以 VMware 为例):
bash
# 主机(Windows)添加路由
route add 192.168.200.0 mask 255.255.255.0 <VMware 虚拟网卡 IP>
通过以上配置,两台虚拟机可实现 同一虚拟网络内的互通,具体模式根据需求选择(桥接模式用于接入物理网络,仅主机/自定义网络用于隔离环境)。