如何修改 VMware Fusion 中的虚机网络 IP 地址段

可用于虚拟机的网络类型有三种。每种网络类型都由其自身用途、行为和功能。

Posted by sysin on 2022-12-20
Estimated Reading Time 5 Minutes
Words 1.5k In Total
更新日期:Tue Dec 20 2022 10:10:00 GMT+0800,阅读量:

请访问原文链接:如何修改 VMware Fusion 中的虚机网络 IP 地址段,查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


无耻抄袭者 Yu Tao 请远离本站!!!

VMware Fusion 网络默认使用了 “172.16” 或者 “192.168” 开头的地址段,图形界面无法直接修改。

本文写作时基于 Fusion 11 版本,Fusion 12、13 版本同样适用。

下载 VMware Fusion:

一、了解 VMware Fusion 中的网络类型 (1022264)

2021.10.21,官方 KB 链接已经更新,原链接已经不可访问。

可用于虚拟机的网络类型有三种。每种网络类型都由其自身用途、行为和功能。

注意:使用错误的网络类型或配置设置可能会导致出现不良行为。

桥接模式网络连接

如果您的 Mac 位于以太网、无线网或 FireWire 网络中,则使用桥接网络连接通常是使您的虚拟机可以访问该网络的最简单方法。使用桥接网络连接,虚拟机将显示为与 Mac 相同的物理以太网网络中的其他计算机。

使用桥接网络连接的虚拟机可能会使用在该虚拟机桥接到的网络上提供的任何服务 (sysin),其中包括文件服务器、打印机和网关。同样,配置有桥接网络连接的任意物理主机或其他虚拟机可以使用虚拟机上的资源,就好像该虚拟机是同一个网络中的物理计算机。

桥接网络适配器称为 vmnet0。在 Fusion 3.x 及更高版本中,该适配器使用 vmnet-bridge 和 vmnet-netifup 服务。

仅主机型网络 - vmnet1

当使用此类型的网络连接时,虚拟机将连接到虚拟专用网络中的 Mac,这在 Mac 以外通常不可见。在同一个 Mac 中配置有仅主机网络的多个虚拟机将位于同一个网络中,并且互相可见。

仅主机网络适配器称为 vmnet1。在 Fusion 3.x 及更高版本中,该适配器使用 vmnet-dhcpd 服务。

网络地址转换 (NAT) 网络 - vmnet8

如果要使用 Mac 拨号网络连接的方法将虚拟机连接到 Internet 或其他 TCP/IP 网络,或者无法向虚拟机提供 Mac 的网络中的 IP 地址,则此类型通常是使您的虚拟机可以访问网络的最简单方法。此类型还允许虚拟机访问 Mac 已连接到的 VPN。

虚拟机在外部网络中没有自己的 IP 地址。相反,会在 Mac 中设置单独的专用网络。虚拟机从 VMware 虚拟 DHCP 服务器中获取该网络上的地址。除非虚拟机启动连接,否则无法直接通过除 Mac 以外的任意计算机或网站连接该虚拟机。

NAT 网络适配器称为 vmnet8。在 Fusion 3.x 及更高版本中,该适配器使用 vmnet-natd、vmnet-dhcpd 和 vmnet-netifup 服务。

二、自定义网络 IP 地址段

VMware Fusion 有三个网络配置文件:networking、dhcpd.conf 和 nat.conf。

全局:

1
/Library/Preferences/VMware\ Fusion/networking

vmnet1:

1
/Library/Preferences/VMware\ Fusion/vmnet1/dhcpd.conf

vmnet8:

1
2
/Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf
/Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

本文仅以修改默认网络为例 (sysin),也可以在新建网络进行自定义:“VMware Fusion” > “偏好设置…” > “网络” > “+”,默认第一个自定义网络名称为 vmnet2 对应配置文件位于 /Library/Preferences/VMware\ Fusion/vmnet2/ 下。

修改 IP 地址段步骤如下:

本文写作时,在 VMware Fusion 11.5 版本中测试通过,现在同样适用于版本 12 系列。

1. 停止 vmnet 网络服务

执行命令:

1
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop

备注:这步是可选的,直接下一步也可以。

2. 只需要修改 networking 配置文件

执行命令:

1
sudo vi /Library/Preferences/VMware\ Fusion/networking

示例:将 vmnet1 中的 IP 段修改为 192.168.1.0,将 vmnet8 中的 IP 段修改为 10.10.1.0

1
2
3
4
5
6
7
8
9
10
11
12
VERSION=1,0
answer VNET_1_DHCP yes
answer VNET_1_DHCP_CFG_HASH 305D3393C78096F94C8C979DF2321B14BEE94AB1
answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
answer VNET_1_HOSTONLY_SUBNET 172.16.178.0 # 修改为 192.168.1.0(注意:默认值有一定随机性)
answer VNET_1_VIRTUAL_ADAPTER yes
answer VNET_8_DHCP yes
answer VNET_8_DHCP_CFG_HASH DE662EAB01380DE3338128A859C717A8F863F3CF
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_8_HOSTONLY_SUBNET 172.16.24.0 # 修改为 10.10.1.0(注意:默认值有一定随机性)
answer VNET_8_NAT yes
answer VNET_8_VIRTUAL_ADAPTER yes

默认 IP 地址段因版本差异有所不同。

3. 配置网络

执行命令:

1
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --configure

vmnet-cli 将根据上述修改的地址段自动修改 dhcpd.conf 和 nat.conf 中的 IP 地址。

查看 dhcpd.conf 和 nat.conf 配置文件:

1
2
3
4
cat /Library/Preferences/VMware\ Fusion/vmnet1/dhcpd.conf

cat /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf
cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

可以看到配置已经修改成功。

NAT 网关的 IP 为 x.x.x.2,定义在 /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf 配置文件中。

Fusion 12.0 开始 NAT 网关的 IP 变更为 x.x.x.1,更加符合使用习惯。

经测试 Fusion 12.1 NAT 网关 IP 同样为 x.x.x.1,但是比较遗憾,Fusion 12.2 又修改为 .2。这降导致 12.0 和 12.1 配置的 VM 无法访问外部网络。

Fusion 13.0 NAT 网关 IP 为 .2。

4. 启动网络服务

执行命令:

1
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start

5. 验证

执行命令:

1
2
ifconfig
# 仅限旧版 macOS 可显示

可以看到 vmnet1 和 vmnet8 的 IP 地址已经更改成功。

6. 虚拟机重新获取配置

虚机如果是手动配置的 IP,直接修改即可。

虚机如果是 DHCP,可以直接重启 VMware Fusion 或者虚拟机系统,也可以直接在虚拟机中重新获取地址,比如 Linux 命令行中执行 sudo dhclient -v -r eth0eth0 为对应网卡。


捐助本站 ❤️ Donate

点击访问官方网站


文章用于推荐和分享优秀的软件产品及其相关技术,所有软件默认提供官方原版(免费版或试用版),免费分享。对于部分产品笔者加入了自己的理解和分析,方便学习和测试使用。任何内容若侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有所帮助,或者发现有不当之处,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!

支付宝赞赏 微信赞赏

赞赏一下


☑️ 评论恢复,欢迎留言❗️
敬请注册!点击 “登录” - “用户注册”(已知不支持 21.cn/189.cn 邮箱)。请勿使用联合登录(已关闭)