场景:所有虚拟机VMware与宿主机无法互通,且外网也不通。
环境:我使用的是VMware Workstation Pro,下面提到的VirtualBox环境是补充知识。虚拟机VMware包括windows和linux-redhat8。
思路:所有虚拟机都无法访问外网,核心原因集中在宿主机网络配置、虚拟机网络模式选择、虚拟网络服务故障或防火墙拦截这几个层面,因为多台虚拟机同时出问题,大概率不是单台虚拟机的系统配置问题,而是宿主机或虚拟网络的全局设置问题。
解决windows网络不通
一、 优先排查:虚拟机的网络模式是否正确
虚拟机的网络模式决定了它能否和宿主机、外网通信,常见的三种模式差异如下:

排查步骤:
- 打开虚拟机软件(VMware/VirtualBox),查看所有虚拟机的网络适配器设置。
- 确保所有虚拟机都选择 桥接模式 或 NAT 模式 ,排除仅主机模式。
- 若用桥接模式:确认虚拟机的 IP 地址和宿主机在同一网段(如宿主机是
192.168.1.100,虚拟机应为192.168.1.x)。
排查结果:所有虚拟机都是NAT模式。如图所示:

继续排查。
二、 核心排查:宿主机的虚拟网络服务是否正常
1. VMware 环境
-
检查关键服务是否运行(Windows 宿主机):
- 按
Win+R输入services.msc打开服务管理器。 - 找到以下服务,确保状态为 正在运行 :
VMware DHCP Service(分配 IP 用)VMware NAT Service(NAT 模式转发用)VMware Workstation Server(没有VMware Workstation Server服务是正常的,这个服务并非虚拟机上网的核心依赖项 ,它主要用于宿主机和其他设备之间的远程虚拟机管理,缺少它不会影响虚拟机的外网访问功能。)
- 若服务未运行,右键 启动;启动失败则重启宿主机后重试。
- 按
-
重置 VMware 虚拟网络(解决配置错乱):
- 打开 VMware → 编辑 → 虚拟网络编辑器 → 点击 还原默认设置。
- 重启所有虚拟机,测试外网连通性。
2. VirtualBox 环境
- 检查 NAT 网络配置:
- 打开 VirtualBox → 工具 → 网络 → 选择
NAT网络→ 确认 已启用。 - 重置虚拟网卡:删除现有虚拟网络,重新创建一个 NAT 网络,再将虚拟机网卡切换到新网络。
- 打开 VirtualBox → 工具 → 网络 → 选择
排查结果:正在运行。如图所示:


不继续排查了,我直接重置。
真正决定虚拟机能否上网的核心服务是 VMware DHCP Service (给虚拟机分配 IP)和 VMware NAT Service(NAT 模式下转发外网流量)。你需要重点检查这两个服务的状态。检查没问题就跑虚拟机重置。
三、若核心服务正常,但虚拟机仍无法上网 → 重置 VMware 虚拟网络(简单直接)
这是解决 VMware 虚拟网络配置错乱的万能方法,步骤如下:
- 关闭所有正在运行的虚拟机。
- 打开 VMware Workstation → 点击顶部菜单栏 编辑 → 虚拟网络编辑器。
- 若弹出 "需要管理员权限" 提示,点击 更改设置(必须以管理员身份操作,否则无法修改)。
- 在虚拟网络编辑器界面,点击右下角 **还原默认设置。(**这个操作会清空现有虚拟网络配置,恢复到 VMware 初始状态。)
- 等待重置完成后,点击 确定 关闭编辑器。
- 重新启动虚拟机,将虚拟机的网络适配器设置为 NAT 模式 (推荐)或 桥接模式。(如果前面已经排查过第一步,就不用再检查了)
- 重启宿主机
- 重新启动虚拟机,选择 NAT 模式(已做第一步,便不需要了),测试外网连通性


重置后,我的windows虚拟机已解决网络不通的问题。
测试:
ipconfig //查看ip
ping 宿主机
ping 8.8.8.8

总结
重置 VMware 虚拟网络并恢复默认设置后,所有虚拟机能上网的核心原因是:这次操作修复了之前被破坏的虚拟网络配置,恢复了 NAT 转发、DHCP 分配、网卡映射的正常工作链路。
继续解决linux-redhat8网络不通
我的linux-redhat8由于之前的网络配置,导致现在还是无法实现网络互通。
详情:redhat8没有IP地址,ping不通宿主机(但宿主机能ping通redhat8),ping不通外网。
connect: Network is unreachable

注意你的网卡,我这里的网卡是ens160,如果网卡不一样,记得自己替换下面的命令。
问题主要集中在 :虚拟机 IP/DNS 获取异常、虚拟机网卡配置错误-注意网关、 VMware DHCP 分配规则失效、 虚拟机的防火墙 / SELinux 拦截了出站 / 入站流量。
一、 优先排查:虚拟机防火墙 + SELinux 拦截(最可能原因)
RedHat 8 默认开启 firewalld 和 SELinux,这两个组件会直接拦截 ping 包和外网流量,导致单向不通。
1. 临时关闭防火墙测试(立即生效)
bash
# 关闭 firewalld 服务
systemctl stop firewalld
# 禁止开机自启(避免重启后又拦截)
systemctl disable firewalld

2. 临时关闭 SELinux 测试
bash
# 临时关闭(重启虚拟机后恢复)
setenforce 0
# 永久关闭(可选,编辑配置文件)
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config

3. 立即测试连通性
虚拟机 ping 宿主机 IP(宿主机物理网卡 IP,不是 VMnet8 虚拟网卡 IP):
bash
ping -c 3 宿主机物理IP
虚拟机 ping 外网 IP:
bash
ping -c 3 8.8.8.8
✅ 如果能 ping 通 → 问题就是防火墙 / SELinux 拦截,到此已解决;
❌ 仍不通 → 继续排查网关和路由配置。

继续排查。
二、 排查:虚拟机网关配置错误(单向通 + 外网不通的核心)
宿主机能 ping 通虚拟机,说明内网 IP 没问题;但虚拟机 ping 不通宿主机 + 外网,大概率是 默认网关缺失 / 错误,导致流量发出去后回不来。
1. 查看虚拟机路由表(关键)
bash
ip route | grep default
- 正常结果 :应该显示一行默认网关,且网关 IP 是 VMware VMnet8 的网关( 与resolv.conf 里的网段一致)。示例:
default via 192.168.xx.xx dev ens33 proto dhcp metric 100 - 异常结果:无任何输出(没有默认网关),或网关 IP 和 VMnet8 网段不匹配。
2. 手动添加默认网关(临时生效,测试用)
bash
# 替换 192.168.xx.xx 为你 VMware VMnet8 的网关 IP(在虚拟网络编辑器里看)
ip route add default via 192.168.xx.xx dev ens160
3. 再次测试连通性
虚拟机 ping 宿主机 IP
虚拟机 ping 8.8.8.8
✅ 能 ping 通 → 网关缺失是问题,接下来配置永久网关;
❌ 仍不通 → 检查 VMware 虚拟网络编辑器的 VMnet8 配置。
4. 配置永久网关(写入网卡文件,这一步很重要,我的主要问题在此)
编辑之前的网卡配置文件 /etc/sysconfig/network-scripts/ifcfg-ens160:(根据自己的情况编写网卡配置文件,我这里面是空白的,所以我全部都添加了一遍,如果您只缺网关,可以添加网关参数即可)
bash
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens160

bash
TYPE=Ethernet
BOOTPROTO=dhcp # 自动获取IP(NAT模式推荐,也可设为static配静态IP)
NAME=ens160 # 网卡名,必须和文件名后缀、实际网卡名一致
DEVICE=ens160 # 设备名,和NAME保持一致
ONBOOT=yes # 开机自动启用网卡(关键!否则网卡不启动)
IPV6INIT=no # 关闭IPv6,避免干扰
DNS1=8.8.8.8 # 主DNS
DNS2=114.114.114.114 # 备用DNS
PEERDNS=no # 禁止DHCP覆盖手动配置的DNS(关键!)
GATEWAY=193.168.xx.xx # 添加网关参数,网关IP必须和VMnet8一致
命令模式,wq/x保存退出后,重启网络:
bash
systemctl restart NetworkManager
三、 最后验证:VMware 虚拟网络配置无冲突
- 打开 VMware → 编辑 → 虚拟网络编辑器 → 选择 VMnet8 :
- 确认「子网 IP」是
192.168.xx.0(和虚拟机 IP 网段一致); - 点击「NAT 设置」→ 确认「网关 IP」是
192.168.xx.xx(和你手动添加的网关一致)。
- 确认「子网 IP」是
- 确认虚拟机网络模式是 NAT 模式(不是桥接 / 仅主机)。
总结
核心逻辑:
- 宿主机能 ping 虚拟机 → 虚拟机 IP 正确、宿主机无拦截;
- 虚拟机 ping 不通宿主机 + 外网 → 虚拟机自身防火墙拦截 或 网关缺失。
90% 的情况都是防火墙 / SELinux 的问题,按步骤一关闭后就能解决。
此时redhat的网络问题也已经解决。
今天就暂且更新至此吧,期待下周再会。如有错误还请不吝赐教。希望对您学习有所帮助,翻页前留下你的支持,以防下次失踪了嗷。
作者更新不易,免费关注别手软。