VMware Fusion NAT无法连网解决方案

文质彬彬
• 阅读 3195

前言

因为在macOS下实在仍受不了VirtualBox的各种Bug和低性能,转投熟悉的VMware Fusion后本来一直都挺稳定的,但在一次Linked Clone链接克隆中发现NAT网络下VM可以访问外网但宿主机和虚拟机之间的网络却无法ping通,查阅了非常多的资料仍然无解差点就要暴力选择添加一块新网卡做host-only,最后发现重启下VMware Fusion网络就恢复了,这大概就是传说中的无脑重启解决一切问题。

更新历史

2020年06月16日 - 初稿

阅读原文 - https://wsgzao.github.io/post...


问题描述

  1. 创建1台NAT网络类型的CentOS虚拟机,IP为默认DHCP段的192.168.184.128,宿主机和虚拟机网络互通,虚拟机可以正常访问外网
  2. 创建1台Linked Clone链接克隆CentOS虚拟机,IP为192.168.184.129,宿主机和虚拟机网络无法互通,虚拟机可以正常访问外网

解决方案

网上解决方案:

  1. 检查macOS是否联网
  2. 检查macOS是否给予VMware权限
  3. 重启虚拟机
  4. 重启VMware
  5. 重启macOS
以上方法通通无效
# 重启vmware network服务解决问题
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --stop
sudo /Applications/VMware\ Fusion.app/Contents/Library/vmnet-cli --start

修改 VMware Fusion networking

配置 VMware Fusion 虚拟网络配置

VMware Fusion 安装完成后,会在macOS中新建两个网卡:vmnet1以及vmnet8(在 /Library/Preferences/VMware Fusion 下可以看到)

  1. vmnet1 是 Host-only 模式
  2. vmnet8 是 NAT 模式

这里仅对网卡vmnet8 进行修改(修改过程中需关闭VMWare Fusion)

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

VERSION=1,0
answer VNET_1_DHCP yes
answer VNET_1_DHCP_CFG_HASH E805FD2F642680617F0D09147C8D5C5ED962ED29
answer VNET_1_HOSTONLY_NETMASK 255.255.255.0
answer VNET_1_HOSTONLY_SUBNET 172.16.131.0
answer VNET_1_VIRTUAL_ADAPTER yes
answer VNET_8_DHCP yes
answer VNET_8_DHCP_CFG_HASH ABBB4D6B9DEC5639F2756A1991B197986AB5597E
answer VNET_8_HOSTONLY_NETMASK 255.255.255.0
answer VNET_8_HOSTONLY_SUBNET 192.168.184.0
answer VNET_8_NAT yes
answer VNET_8_VIRTUAL_ADAPTER yes
add_bridge_mapping en0 2
  1. 将 DHCP 设置为 no, 即使用静态IP。 将 SUBNET 修改为自己想用的网段,比如自定义192.168.111.0网段
  2. 保存退出

注意:只修改 vmnet8 的配置, 不要修改vmnet1的配置。

sudo vi /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

# VMware NAT configuration file
# Manual editing of this file is not recommended. Using UI is preferred.

[host]

# NAT gateway address
ip = 192.168.184.2
netmask = 255.255.255.0

# VMnet device if not specified on command line
device = vmnet8

# Allow PORT/EPRT FTP commands (they need incoming TCP stream ...)
activeFTP = 1

# Allows the source to have any OUI.  Turn this on if you change the OUI
# in the MAC address of your virtual machines.
allowAnyOUI = 1

# Controls if (TCP) connections should be reset when the adapter they are
# bound to goes down
resetConnectionOnLinkDown = 1

# Controls if (TCP) connection should be reset when guest packet's destination
# is NAT's IP address
resetConnectionOnDestLocalHost = 1

# Controls if enable nat ipv6
natIp6Enable = 0

# Controls if enable nat ipv6
natIp6Prefix = fd15:4ba5:5a2b:1008::/64

[tcp]

# Value of timeout in TCP TIME_WAIT state, in seconds
timeWaitTimeout = 30

[udp]

# Timeout in seconds. Dynamically-created UDP mappings will purged if
# idle for this duration of time 0 = no timeout, default = 60; real
# value might be up to 100% longer
timeout = 60

[netbios]
# Timeout for NBNS queries.
nbnsTimeout = 2

# Number of retries for each NBNS query.
nbnsRetries = 3

# Timeout for NBDS queries.
nbdsTimeout = 3

[incomingtcp]

# Use these with care - anyone can enter into your VM through these...
# The format and example are as follows:
#<external port number> = <VM's IP address>:<VM's port number>
#8080 = 172.16.3.128:80

[incomingudp]

# UDP port forwarding example
#6000 = 172.16.3.0:6001

设置网关为192.168.111.2,网关的IP要和上一步中的IP保持网关一致,至此VMware Fusion的配置完毕。

配置虚拟机

  1. 将虚拟机网络切换到NAT模式
  2. 打开虚拟机,配置虚拟机网络配置信息

vi /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.111.100      // 自定义的虚拟机IP, 需与VMware Fusion配置的IP在同一个网段上
GATEWAY=192.168.111.2       // 配置的网关地址
NETMASK=255.255.255.0       // 配置的掩码
DNS1=114.114.114.114        // macOS本机的DNS地址。 系统偏好设置-> 网络 -> 在左侧选择当前使用的网络,点击右下角的“高级”按钮 -> 切换Tab页,可找到DNS地址。
DNS2=8.8.8.8                // 同上

# 保存退出,重启网络服务
systemctl restart network

参考文章

Troubleshooting networking and internet connection issues in VMware Fusion (1016466)

VMware Fusion 中的网络和 Internet 连接问题故障排除 (1016466)

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
专注IP定位 专注IP定位
3年前
关于局域网中的攻击溯源问题
由于目前NAT技术的大量使用,若攻击者主机位于NAT后面,使用私网IP地址,对于攻击源的追踪只能到攻击者的NAT网关,而无法穿透NAT网关。因此,假设已知攻击者来自于某个NAT网关保护的私有网络,如何定位攻击者主机在私网中的位置?这一问题在有线网络比较容易
Wesley13 Wesley13
4年前
VirtualBox网络NAT模式的端口映射设置
VirtualBox的提供了四种网络接入模式,它们分别是:1、NAT网络地址转换模式(NAT,NetworkAddressTranslation)2、BridgedAdapter桥接模式3、Internal内部网络模式4、HostonlyAdapter主机模式其中NAT模式是最简单的实现虚拟机上网的方式,可以认为
Stella981 Stella981
4年前
Linux主机和VirtualBox虚拟机局域网互通
本节我介绍一下如何Linux主机和安装在Linux上的VirtualBox的虚拟机进行局域网连接:1.启动虚拟机,选择“更改网络连接”菜单,在网络连接1的连接方式中选择HostonlyAdapter,界面名称选择vboxnet0,并且勾选“接入网线”,然后在虚拟机的ip设置中选择自动获取ip和dns,稍等一会,就会发现虚拟机已经获得到了ip和dns了
Wesley13 Wesley13
4年前
VBox 启动虚拟机失败
在Vbox(5.0.8版本)启动Ubuntu的虚拟机时,遇到错误信息:NtCreateFile(\\Device\\VBoxDrvStub)failed:0xc000000034STATUS\_OBJECT\_NAME\_NOT\_FOUND(0retries) (rc101)Makesurethekern
Wesley13 Wesley13
4年前
FLV文件格式
1.        FLV文件对齐方式FLV文件以大端对齐方式存放多字节整型。如存放数字无符号16位的数字300(0x012C),那么在FLV文件中存放的顺序是:|0x01|0x2C|。如果是无符号32位数字300(0x0000012C),那么在FLV文件中的存放顺序是:|0x00|0x00|0x00|0x01|0x2C。2.  
Wesley13 Wesley13
4年前
VMware克隆虚拟机,克隆机网卡启动不了解决方案
VMware里面克隆了个虚拟机,克隆机网卡启动不了,启动报错:Deviceeth0doesnotseemtobepresent,delayinginitialization.\FAILED\使用克隆后的虚拟机时发现原来在基本系统中的网卡eth0到了新系统却没有了,使用ifconfiga会发现只有lo。因为基本
Wesley13 Wesley13
4年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
4年前
virtualbox主机与虚拟机之间互相通信教程
前言  在使用虚拟机搭建集群时,需要实现虚拟机与虚拟机之间互相ping通,并且主机与虚拟机也可以互相ping通。一、环境准备:1、主机为win72、virtualbox下创建两台ubuntu虚拟机二、virtualbox配置1、选中虚拟机,打开设置网络2、连接方式选择“桥接网卡”3、点开高级,混杂模式选择“全部允许”
Stella981 Stella981
4年前
Bypass 360主机卫士SQL注入防御(多姿势)
0x00前言在服务器客户端领域,曾经出现过一款360主机卫士,目前已停止更新和维护,官网都打不开了,但服务器中依然经常可以看到它的身影。从半年前的测试虚拟机里面,翻出了360主机卫士Apache版的安装包,就当做是一个纪念版吧。这边主要分享一下几种思路,Bypass360主机卫士SQL注入防御。!(https://oscimg.osc