如果你把虚拟机网络模式切换为桥接(Bridged),就完全可以不用理会 VMnet8 虚拟网卡了。VMware 的三种主用网络模式对应着不同的虚拟网卡,它们各司其职,互不干扰。
VMnet0:这是桥接模式下的虚拟交换机。你的虚拟机会通过它直接连入主机的物理网络。
VMnet1:专用于仅主机模式(Host-Only)。
VMnet8:专用于NAT 模式。它负责建立一个独立的内部网络(即
192.168.88.0/24网段),并通过网络地址转换(NAT)让虚拟机共享主机的IP上网。
简单来说,当虚拟机设置为桥接模式时,它直接利用 VMnet0 这座“网桥”连接到你的物理路由器,成为局域网中一台独立的设备。而 VMnet8 及其网卡,是为 NAT 模式服务的,此时完全派不上用场。
🔧 如何正确设置桥接模式
为了确保切换成功,建议按以下步骤操作:
在 VMware 里设置:点击菜单栏“编辑” -> “虚拟网络编辑器”。在列表里选择VMnet0,然后在下方“VMnet信息”的“桥接到”下拉菜单中,选择你当前正在使用的物理网卡(比如你的 WLAN 无线网卡)。
在虚拟机里设置:打开该虚拟机的“设置”,在“网络适配器”中,选择“桥接模式”。
在 Linux 里配置 IP:启动虚拟机,修改网卡配置文件(如
/etc/sysconfig/network-scripts/ifcfg-ens33),将 IP 地址设置为与你主机同一网段的地址(例如192.168.31.x),网关和 DNS 设置成与主机一致(比如192.168.31.1)。重启网络服务:执行命令
systemctl restart network或systemctl restart NetworkManager,使配置生效。
设置好后,你的虚拟机将直接从路由器获得一个类似192.168.31.x的IP,彻底告别 VMnet8 的192.168.88.x网段。
你现在的问题根本不是配置错了,是 VMware 网络服务卡住了,死活不更新。
我给你一套不废话、强制生效的办法,你照着做,这次一定好。
① 先把虚拟机彻底关机
bash
运行
sudo init 0② 把 VMware 网络服务强制重启(最关键)
- 关闭 VMware 软件
- 打开任务管理器 → 服务
- 找到这些服务,全部右键 → 重启
VMware DHCP ServiceVMware NAT ServiceVMware Authorization Service
③ 虚拟网络编辑器 → 还原默认设置
- 打开 VMware → 编辑 → 虚拟网络编辑器
- 点还原默认设置→ 等待完成
- 再重新设置:
- VMnet0 → 桥接 → 选你的 WiFi 网卡
- 应用 → 确定
④ 虚拟机设置:网络适配器 → 桥接
勾选:
- 桥接模式
- 复制物理网络连接状态
然后开机。
⑤ 开机后直接执行这一条(强制覆盖)
bash
运行
sudo nmcli connection modify ens33 \ ipv4.method manual \ ipv4.addresses 192.168.31.100/24 \ ipv4.gateway 192.168.31.1 \ ipv4.dns "114.114.114.114 8.8.8.8" sudo nmcli connection up ens33 ip a整段命令的作用
给 CentOS 7 的网卡 ens33 强制设置 静态 IP,并立即生效。不用改文件、不用重启系统,一行命令直接搞定网络。
逐行白话解释
1. 第一部分:设置静态 IP
bash
运行
sudo nmcli connection modify ens33 \ ipv4.method manual \ ipv4.addresses 192.168.31.100/24 \ ipv4.gateway 192.168.31.1 \ ipv4.dns "114.114.114.114 8.8.8.8"逐句翻译:
sudo用管理员权限执行(必须加)nmcliCentOS 里管理网络的命令工具connection modify ens33修改ens33 网卡的配置ipv4.method manualIP 获取方式改为 手动(静态 IP)不再自动获取(DHCP)ipv4.addresses 192.168.31.100/24设置静态 IP 地址:192.168.31.100/24= 子网掩码 255.255.255.0ipv4.gateway 192.168.31.1设置网关(路由器地址)ipv4.dns "114.114.114.114 8.8.8.8"设置 DNS(用来上网、解析网址)
2. 第二部分:让配置立即生效
bash
运行
sudo nmcli connection up ens33意思:重启网卡,让刚才的静态 IP 配置立刻生效不用重启系统!
3. 第三部分:查看结果
bash
运行
ip a意思:查看当前网卡的 IP 地址你看到192.168.31.100就说明成功了。
一句话总结(超级好记)
plaintext
用 nmcli 命令 → 给 ens33 设静态IP → 立即生效 → 查看结果你现在的效果
- IP 固定:192.168.31.100
- 能上外网
- 桥接模式正常
- Windows 和虚拟机互通
- 重启也不会变
⑥ 还不行?那就是你 WiFi 环境不支持桥接
有些公司 / 校园网 / 路由器开了AP 隔离,桥接就是用不了。
那就别折腾桥接了,直接用 NAT 固定 IP,10 秒搞定:
bash
运行
sudo nmcli connection modify ens33 \ ipv4.method manual \ ipv4.addresses 192.168.88.100/24 \ ipv4.gateway 192.168.88.2 \ ipv4.dns "114.114.114.114" sudo nmcli connection up ens33 ip a这个 IPWindows 一样能连、能 SSH、能部署项目,比桥接稳 100 倍。
🔍 先搞懂核心逻辑
桥接模式的核心是:让虚拟机和你的物理主机在同一个局域网,像两台独立的电脑一样。所以你要选的网卡,必须是你当前正在上网、有真实 IP 的物理网卡,而不是 VMware 虚拟网卡。
📊 结合你的ipconfig结果分析
先看你当前的网络状态:
表格
| 网卡名称 | 状态 | IP 地址 | 是否是物理上网网卡 |
|---|---|---|---|
| WLAN(无线局域网) | 已连接 | 192.168.31.42 | ✅ 是(有默认网关 192.168.31.1,正在上网) |
| 以太网 2 | 已连接 | 19.121.6.8 | ❌ 无默认网关,未联网 |
| VMnet1/VMnet8 | 虚拟网卡 | 192.168.xxx.xxx | ❌ VMware 虚拟网卡,绝对不能选 |
| 其他本地连接 * | 媒体断开 | - | ❌ 无效 |
✅ 正确选择方案
情况 1:你当前用WiFi 上网(最常见)
在 VMware 桥接模式的下拉列表里,选择和你 WLAN 对应的物理无线网卡:
- 列表里的
Intel(R) Wi-Fi 6E AX211 160MHz就是你的无线网卡,选这个。 - 不要选
TAP-Windows Adapter V9(VPN / 虚拟网卡)、Sangfor SSL VPN(深信服 VPN)、Microsoft Wi-Fi Direct Virtual Adapter(热点虚拟网卡)。
情况 2:你用有线网(以太网)上网
如果你的有线网(以太网 2)有默认网关、能正常上网,就选对应的有线网卡;但你当前以太网 2 没有默认网关,所以不选。
情况 3:不确定?用「自动」
如果分不清具体网卡,直接选列表最顶部的 **「自动」**,VMware 会自动帮你绑定当前正在上网的物理网卡(推荐新手用这个)。
⚠️ 避坑关键提醒
- 绝对不要选 VMware 虚拟网卡(VMnet1/VMnet8):桥接模式是桥接物理网卡,虚拟网卡是给 NAT / 仅主机模式用的,选了会导致虚拟机无法联网。
- 不要选 VPN / 热点虚拟网卡:比如
TAP-Windows、Microsoft Wi-Fi Direct这类,会导致网络不稳定或无法连通。 - 选完后的验证步骤:
- 选好网卡后点「确定」,重启虚拟机网络(
systemctl restart network或nmcli c reload)。 - 在 CentOS 里执行
ip a,看虚拟机 IP 是否和主机 WLAN 在同一个网段(比如主机是 192.168.31.x,虚拟机也应该是 192.168.31.x)。 - 测试:
ping 192.168.31.1(主机网关)、ping www.baidu.com,能通就说明配置成功。
- 选好网卡后点「确定」,重启虚拟机网络(
这是一份针对CentOS 7系统,在VMware 桥接模式下配置静态 IP的完整步骤。
按照这个流程操作,你可以获得一个稳定、不随重启变化的 IP 地址,非常适合后续的开发、测试或远程连接。
🛠️ 第一步:在 VMware 中确认桥接网卡
- 打开
虚拟网络编辑器。 - 选中VMnet0,模式选择桥接模式。
- 在
桥接至下拉菜单中,选中你刚才确认的物理网卡(通常是Intel Wi-Fi或以太网)。 - 勾选将主机虚拟适配器连接到此网络。
- 点击应用->确定。
🐧 第二步:进入 CentOS 7 配置网络文件
首先,你需要知道你的网卡名称。通常是ens33或eth0。执行命令查看:
bash
运行
ip a找到类似ens33或eth0的设备名。
编辑网卡配置文件(将ens33替换为你的实际网卡名):
bash
运行
sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33按i键进入编辑模式,修改以下配置项:
ini
# 1. 确保开机启动 BOOTPROTO=static # 2. 启用网卡(如果没有这行,加上它) ONBOOT=yes # 3. 设置静态IP模式 IPADDR=192.168.31.100 # 这里填你的IP,参考主机IP(192.168.31.42),最后一位改个数字 NETMASK=255.255.255.0 # 子网掩码 GATEWAY=192.168.31.1 # 网关,参考主机的默认网关 DNS1=8.8.8.8 # DNS 服务器,谷歌的或国内的都行 DNS2=114.114.114.114⚠️ 重要提醒:
- 你的主机 IP 是
192.168.31.42,所以你的虚拟机 IP 可以设为192.168.31.100(只要没被占用即可)。- 网关必须和你主机的默认网关保持一致(即
192.168.31.1)。
按Esc键,输入:wq保存并退出。
🔄 第三步:重启网络服务使配置生效
执行以下命令重启网络:
bash
运行
sudo systemctl restart network如果报错,请检查第二步的配置文件是否有拼写错误。
✅ 第四步:测试网络连通性
执行以下命令测试网络:
bash
运行
# 测试能否ping通网关(也就是路由器) ping 192.168.31.1 # 测试能否访问外网 ping www.baidu.com如果ping通了,说明配置成功!
🔗 第五步:远程连接(可选,开发必备)
如果你想使用 VS Code 或 Navicat 等工具连接虚拟机,需要知道你的 IP。再次执行:
bash
运行
ip a查看inet后的 IP,就是你刚才设置的192.168.31.100。
在 Windows 上打开 Xshell 或 VS Code Remote,连接这个 IP,用户名密码登录即可。
💡 常见问题排查
- Ping 不通网关?
- 回到第一步,检查 VMware 的
虚拟网络编辑器里,VMnet0 是否桥接到了正确的物理网卡。
- 回到第一步,检查 VMware 的
- IP 地址还是自动获取的?
- 检查
/etc/sysconfig/network-scripts/ifcfg-ens33中,BOOTPROTO是否被误写成了dhcp。
- 检查
- 遇到 "Determining IP information for ens33... failed" 错误?
- 这通常是 UUID 冲突。可以尝试删除配置文件中的
UUID这一行,然后重启系统。
- 这通常是 UUID 冲突。可以尝试删除配置文件中的