VMware 虚拟机网络配置总结
一、配置流程总览
步骤1:检查 VMware 虚拟网络设置
-
打开 VMware → 编辑 → 虚拟网络编辑器(管理员)
-
确认 VMnet8 (NAT模式) 配置:
- 子网IP:
192.168.88.0 - 子网掩码:
255.255.255.0 - NAT设置 → 网关IP:
192.168.88.2 - DHCP设置 → 起始IP:
192.168.88.128,结束IP:192.168.88.254
- 子网IP:
步骤2:配置主机网络
-
物理网卡(WLAN/Wi-Fi) :保持自动获取
-
VMnet8虚拟网卡:
- IP地址:
192.168.88.1(或自动获取) - 网关:必须留空
- DNS:留空
- IP地址:
步骤3:配置虚拟机网络
-
临时配置(测试用):
bash
sudo ip addr add 192.168.88.150/24 dev ens160 sudo ip route add default via 192.168.88.2 echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf -
永久配置(根据发行版):
- IP:
192.168.88.150(128-254之间) - 掩码:
255.255.255.0 - 网关:
192.168.88.2(必须!) - DNS:
8.8.8.8或192.168.88.2
- IP:
二、核心配置要点(必须记住)
📌 地址分配规则
text
192.168.88.0/24 网段:
├── .0 网络地址
├── .1 主机 VMnet8 网卡地址
├── .2 VMware NAT 网关地址(虚拟机网关)
├── .3-.127 保留地址
└── .128-.254 DHCP范围/手动分配范围
📌 各设备正确配置
| 设备 | IP地址 | 网关 | 说明 |
|---|---|---|---|
| 主机物理网卡 | 自动获取 | 自动获取 | 连接真实网络 |
| 主机 VMnet8 | 192.168.88.1 | (留空) | 仅与虚拟机通信 |
| VMware NAT | 192.168.88.2 | - | 虚拟网络的"路由器" |
| 虚拟机 | 192.168.88.128-254 | 192.168.88.2 | 必须指向.2才能上网 |
三、常见错误与正确做法
❌ 常见错误
- 虚拟机网关设为
.1→ 无法上网 - 主机VMnet8设置网关 → 路由混乱
- DHCP范围包含
.1或.2→ IP冲突 - IP不在同一网段 → 无法通信
✅ 正确做法
- 虚拟机网关必须为
.2 - 主机VMnet8网关必须留空
- DHCP范围:
.128到.254 - 所有设备掩码:
255.255.255.0
四、关键测试命令
主机上测试:
cmd
ipconfig | findstr "VMnet8" # 确认VMnet8配置
ping 192.168.88.2 # 测试VMware NAT网关
ping 192.168.88.150 # 测试虚拟机
虚拟机内测试:
bash
ip addr show # 查看IP配置
ip route show default # 确认网关是.2
ping 192.168.88.2 # 测试网关
ping 8.8.8.8 # 测试互联网
nslookup www.baidu.com # 测试DNS
五、网络不通排查流程
检查顺序:
- 虚拟机 → 网关(.2) → 不通?检查网关配置
- 虚拟机 → 主机(.1) → 不通?检查VMnet8配置
- 虚拟机 → 互联网(8.8.8.8) → 不通?检查NAT服务
- 虚拟机 → 域名(百度) → 不通?检查DNS
常见故障解决:
- 完全不通:检查虚拟机网络适配器是否"已连接"
- 能ping通IP,不能上网:检查DNS配置
- 时通时不通:检查防火墙,IP冲突
- 主机能ping通虚拟机,虚拟机不能上网:检查网关配置
六、各发行版永久配置方法
Ubuntu/Debian(netplan):
yaml
# /etc/netplan/*.yaml
network:
version: 2
ethernets:
ens160:
addresses: [192.168.88.150/24]
routes: [{to: 0.0.0.0/0, via: 192.168.88.2}]
nameservers: {addresses: [8.8.8.8]}
dhcp4: no
CentOS/RHEL(NetworkManager):
bash
sudo nmcli con mod ens160 \
ipv4.method manual \
ipv4.addresses 192.168.88.150/24 \
ipv4.gateway 192.168.88.2 \
ipv4.dns 8.8.8.8
sudo nmcli con up ens160
传统配置(ifcfg):
text
# /etc/sysconfig/network-scripts/ifcfg-ens160
BOOTPROTO=none
IPADDR=192.168.88.150
NETMASK=255.255.255.0
GATEWAY=192.168.88.2
DNS1=8.8.8.8
ONBOOT=yes
七、重要注意事项
1. 网关必须正确
- 主机VMnet8:无网关
- 虚拟机:网关必须是192.168.88.2
2. DHCP范围不能冲突
- 起始IP必须 ≥
192.168.88.128 - 避免与固定地址(.1, .2)冲突
3. 服务必须运行
cmd
# Windows服务中确保运行:
- VMware NAT Service
- VMware DHCP Service
- VMware Authorization Service
4. 防火墙配置
- 主机防火墙允许VMware相关程序
- 虚拟机防火墙允许必要的端口
5. IP地址管理
- 手动配置时选择128-254之间的地址
- 避免与DHCP分配的地址冲突
- 多台虚拟机不能使用相同IP
八、一句话记忆要点
"主机VMnet8无网关,虚拟机网关必须为.2,DHCP从.128开始,所有设备掩码255.255.255.0。"
九、快速恢复脚本
创建 fix_network.sh 在虚拟机内:
bash
#!/bin/bash
# 快速修复网络
IP=192.168.88.150
GW=192.168.88.2
echo "正在修复网络..."
sudo ip addr flush dev ens160
sudo ip addr add $IP/24 dev ens160
sudo ip route add default via $GW
echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf
echo "测试:"
ping -c 2 $GW && echo "✅ 网关正常" || echo "❌ 网关异常"
ping -c 2 8.8.8.8 && echo "✅ 互联网正常" || echo "❌ 互联网异常"
十、最终检查清单
配置完成后,确保:
- 主机VMnet8网关为空
- 虚拟机网关为192.168.88.2
- VMware NAT/DHCP服务正在运行
- IP地址在正确范围(128-254)
- 子网掩码为255.255.255.0
- DNS已配置(8.8.8.8)
- 能ping通网关192.168.88.2
- 能ping通互联网8.8.8.8
- 能解析域名www.baidu.com
按照这个总结配置,您的VMware NAT网络应该能正常工作。如果还有问题,请根据排查流程逐步检查。