对于 NAT 模式的虚拟机来说,其 IP 地址均由虚拟化软件在宿主机上提供的 DHCP 服务进行统一分配
在这种默认配置下,当 DHCP 租约到期或虚拟网络服务重启时可能会被重新分配到不同的 IP 地址
在需要固定访问地址、端口映射、多虚拟机协同通信的场景下
这种 IP 变化往往会导致连接失败、服务不可达或既有配置失效
因此为虚拟机配置一个稳定、固定的 IP 地址显得尤为重要
一、VMware Workstation
确认 NAT 信息
-
打开 VMware Workstation
-
点击顶部菜单:
编辑(Edit) → 虚拟网络编辑器(Virtual Network Editor)
-
选择 VMnet8(NAT 模式) → NAT设置
-
记录以下信息:
- 子网 IP(例如:
192.168.10.0) - 子网掩码(通常为
255.255.255.0) - 网关 IP (子网 IP 的
.2如192.168.10.2)
- 子网 IP(例如:
NOTE后续固定 IP 必须位于该子网内,如有需要可在此处调整 NAT 子网配置
获取虚拟机的 MAC 地址
-
在虚拟机列表中,右键目标虚拟机 → 设置
-
选择 网络适配器(Network Adapter) → 高级(Advanced)
-
复制显示的 MAC 地址(格式如
00:50:56:XX:XX:XX)
IMPORTANT确保该虚拟机使用的是 NAT 模式(不是桥接或仅主机模式)
编辑 VMware DHCP 配置文件
-
关闭所有虚拟机并退出 VMware Workstation
建议在修改配之前重启一次设备,避免配置文件占用
-
点击开始菜单,搜索
记事本,右键选择以管理员身份运行 -
在记事本中打开以下文件
C:\ProgramData\VMware\vmnetdhcp.conf-
找到 vmnet8 或子网 IP 对应的
subnet块格式为
subnet 子网IP netmask 子网掩码
subnet 192.168.10.0 netmask 255.255.255.0 {******}-
添加固定 IP 绑定规则
在该
subnet块内部添加如下内容
host <自定义主机标识符> { hardware ethernet <虚拟机 MAC 地址>; fixed-address <虚拟机固定 IP 地址>;}NOTE
hardware ethernet必须与虚拟机 MAC 地址完全一致
MAC 地址不区分大小写,但建议统一使用小写
fixed-address必须在子网范围内,建议避开 DHCP 动态范围,建议使用3 - 254内的 IP 地址
完整示例
subnet 192.168.10.0 netmask 255.255.255.0 { range 192.168.10.128 192.168.10.254; option broadcast-address 192.168.10.255; option domain-name-servers 192.168.10.2; option routers 192.168.10.2; default-lease-time 1800; max-lease-time 7200;
# ↓↓ 在此处添加你的固定 IP 规则 ↓↓ host MyVM_StaticIP { hardware ethernet 00:0c:29:a1:b2:c3; fixed-address 192.168.10.100; }}重启 VMware DHCP 服务
以 管理员身份 打开 PowerShell 执行以下命令:
net stop "VMware DHCP Service"net start "VMware DHCP Service"在虚拟机中更新 IP
启动虚拟机,并刷新 DHCP 租约以验证 IP 是否固定成功
-
Windows 虚拟机:
Terminal window ipconfig /releaseipconfig /renew -
Linux 虚拟机:
Terminal window sudo dhclient -rsudo dhclient
注意事项
-
IP 选择
避免使用以下地址:
.1(VMware 虚拟网卡接口)、.2(NAT 网关)、.255(广播地址) -
配置持久性
VMware 升级、重装或执行“恢复默认网络配置”操作时,可能会重置
vmnetdhcp.conf,建议提前备份该文件 -
多台虚拟机
每台虚拟机都需要单独配置一个 host 绑定规则,且
MAC 地址和 IP 地址必须唯一
二、Parallels Desktop
Parallels 当前版本未提供 DHCP 静态绑定配置接口,仅能通过修改租约文件的方式约束 IP 分配行为
确认 NAT 网络信息
Parallels 官方定义了固定的网段信息,共享(Shared)模式信息如下
| 网络模式 | 子网 | 网关 |
|---|---|---|
| 共享(Shared) | 10.211.55.0/24 | 10.211.55.2 |
NOTE后续固定 IP 必须位于该子网内,如有需要可在网络设置中调整 Shared 子网配置
获取虚拟的 MAC 地址
-
启动虚拟机并确保其通过 DHCP 获取过一次 IP,随后关闭虚拟机
-
通过终端查询 MAC 地址
以名为
Ubuntu Linux的虚拟机为例Terminal window prlctl list "Ubuntu Linux" -i | grep mac示例输出如下,记录该 MAC 地址,并转换为小写
net0 (+) type=shared mac=001c42a1b2c3 -
关闭 Parallels 程序,避免租约文件被占用或自动重写
编辑 parallels_dhcp_leases 租约文件
通过修改租约文件,设置一个久远的租约到期时间戳达到长时间固定的效果
sudo nano /Library/Preferences/Parallels/parallels_dhcp_leases以如下配置为例
[Shared]10.211.55.100="4102444800,1800,001c42a1b2c3,ff1d6c00549abe000003d422082401abef5288"
- IP 地址:10.211.55.100
- 租约到期时间戳:
41024448002100年 设置为一个足够久远的租约到期时间,用于避免租约自动失效- 租约时长:
180030分钟 租约到期时间足够久远的话不会触发重新 DHCP001c42a1b2c3:小写、无分隔符的 MAC 地址ff1d6c00549abe000003d422082401abef5288:Parallels 内部使用标识字段,具体含义未公开
重启网络服务
sudo prlsrvctl net restart Shared启动虚拟机并验证
prlctl start "Ubuntu Linux"进入虚拟机并查看 IP 地址
hostname -I非商业用途可以使用,但必须注明出处;
若有改编需采用相同许可协议发布。