1. 为VMware Fusion新建NAT网络:
VMware Fusion>偏好设置>网络>➕>☑️允许该网络上的虚拟机连接到外部网络(NAT)》手动配置子网ip,如:192.168.8.0
子网掩码不变255.255.255.0
2. mac主机上检查vnet配置
cat /Library/Preferences/VMware\ Fusion/networking
会看到,除了VNET1和VNET8之外,中间多了一系列VNET_2配置(或其他编号...)
answer VNET_2_DHCP yes
answer VNET_2_HOSTONLY_NETMASK 255.255.255.0
answer VNET_2_HOSTONLY_SUBNET 192.168.8.0
answer VNET_2_NAT yes
answer VNET_2_NAT_PARAM_UDP_TIMEOUT 30
answer VNET_2_VIRTUAL_ADAPTER yes
3. mac主机上检查vnet2的nat配置
cat /Library/Preferences/VMware\ Fusion/vmnet2/nat.conf
会看到vnet2的gateway ip和mask
# NAT gateway address
ip = 192.168.8.2
netmask = 255.255.255.0
# VMnet device if not specified on command line
device = vmnet2
4. 修改虚拟机网络配置
虚拟机>网络适配器设置...>vmnet2 ⊙
勾选vmnet2
5. 修改linux虚拟机的网卡配置文件
进入你要配置的linux虚拟机
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改后的文件如下(参考有注释的行):
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static # 修改本行,默认值为dhcp,改为static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b4bd9a95-905e-471a-9313-f7a668a8af5d
DEVICE=ens33
ONBOOT=yes # 修改本行,默认值为no,改为yes
IPADDR=192.168.8.10 # 新增本行
NETMASK=255.255.255.0 # 新增本行
GATEWAY=192.168.8.2 # 新增本行,这是前面vnet2的gateway ip
DNS1=114.114.114.114 # 新增本行
到此,所有的配置完成,接下来需要重启网卡(重启主机也行,因为我们把ONBOOT设置为yes了)
6. 重启linux虚拟机网卡
systemctl restart network
7. 验证
- 在linux虚拟机:ping mac主机ip
- 在linux虚拟机:ping baidu.com
- 在mac主机:ping 192.168.8.10 #我们为刚才的虚拟机配置的静态IP
写在最后:
本人之前因为一些原因,删除了/Library/Preferences/VMware Fusion目录,然后重装,然后就悲剧了,在前面第一步无法新增网络,因为➕加号被置灰,不能点。最后被迫清理所有VMware Fusion相关目录,然后重装VMware Fusion,还是置灰不能点。其实是忘了最后一步,重启mac主机