Windows宿主机+VMware CentOS虚拟机 + 同一个Wi-Fi下的其他实体电脑,三者可以互相访问


一、网络拓扑

假设你的局域网参数是:

复制代码
路由器网关:       192.168.1.1
Windows 宿主机:   192.168.1.2
CentOS 虚拟机:    192.168.1.200
其他实体电脑:     192.168.1.100
子网掩码:         255.255.255.0

那么三台设备必须都处于:

复制代码
192.168.1.0/24

也就是同一个网段。


二、VMware 配置桥接模式

1. 打开虚拟网络编辑器

VMware:

复制代码
编辑
→ 虚拟网络编辑器
→ 更改设置

需要管理员权限。

正常应该看到:

复制代码
VMnet0   桥接模式
VMnet1   仅主机模式
VMnet8   NAT模式

如果没有 VMnet0,可以点击:

复制代码
还原默认设置

让 VMware 重建。


2. 配置 VMnet0

选择:

复制代码
VMnet0

配置为:

复制代码
桥接模式
已桥接至:你的真实 Wi-Fi 网卡

例如:

scss 复制代码
Intel(R) Wi-Fi 6 AX201
Intel(R) Wi-Fi 6E AX211
Realtek Wireless LAN

不要选择:

复制代码
Automatic
VMnet1
VMnet8
VPN
Docker
Hyper-V
Bluetooth

最好明确指定真实无线网卡。


3. 检查 Windows Wi-Fi 网卡

按:

复制代码
Win + R

输入:

复制代码
ncpa.cpl

找到当前使用的:

复制代码
Wi-Fi / WLAN

右键:

复制代码
属性

确认:

arduino 复制代码
☑ VMware Bridge Protocol

是勾选状态。


4. 配置虚拟机网卡

关闭 CentOS 虚拟机。

进入:

复制代码
虚拟机设置
→ Network Adapter

推荐选择:

复制代码
自定义:特定虚拟网络
→ VMnet0

也可以使用:

复制代码
桥接模式:直接连接物理网络

但我更推荐:

vbnet 复制代码
Custom → VMnet0

因为配置关系更明确。


三、确认 Windows 当前网络参数

Windows CMD:

复制代码
ipconfig

例如你当前实际是:

css 复制代码
IPv4 Address:   192.168.1.2
Subnet Mask:    255.255.255.0
Default Gateway:192.168.1.1

那么 CentOS 必须设置为同一个网段。

例如:

复制代码
192.168.1.200

四、CentOS 7.9 配置静态 IP

先查看网卡:

复制代码
ip addr

假设网卡为:

复制代码
ens33

编辑:

bash 复制代码
vi /etc/sysconfig/network-scripts/ifcfg-ens33

推荐配置:

ini 复制代码
TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no

NAME=ens33
DEVICE=ens33
ONBOOT=yes

IPADDR=192.168.1.200
PREFIX=24
GATEWAY=192.168.1.1

DNS1=192.168.1.1
DNS2=8.8.8.8

注意三个核心参数:

ini 复制代码
IPADDR=192.168.1.200
PREFIX=24
GATEWAY=192.168.1.1

特别注意

不能写:

ini 复制代码
GATEWAY=192.168.1.2

因为:

复制代码
192.168.1.2

是你的 Windows 电脑,不是路由器。

正确网关是:

复制代码
192.168.1.1

五、重启 CentOS 网络

执行:

复制代码
systemctl restart network

然后检查:

sql 复制代码
ip addr show ens33

应该看到:

复制代码
inet 192.168.1.200/24

检查路由:

复制代码
ip route

应该类似:

scss 复制代码
default via 192.168.1.1 dev ens33
192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.200

六、按照顺序测试网络

CentOS → 路由器

r 复制代码
ping -c 4 192.168.1.1

应该成功。


CentOS → 外网

r 复制代码
ping -c 4 8.8.8.8

成功说明路由正常。


测试 DNS

r 复制代码
ping -c 4 www.baidu.com

成功说明 DNS 正常。


七、CentOS → Windows

CentOS:

r 复制代码
ping -c 4 192.168.1.2

如果:

复制代码
192.168.1.1   能 ping
8.8.8.8       能 ping
192.168.1.2   不能 ping

通常是 Windows 防火墙禁止 ICMP

Windows 管理员 CMD 可以执行:

ini 复制代码
netsh advfirewall firewall add rule name="Allow ICMPv4 Echo Request" protocol=icmpv4:8,any dir=in action=allow

然后重新:

复制代码
ping 192.168.1.2

八、Windows → CentOS

Windows:

复制代码
ping 192.168.1.200

应该返回:

csharp 复制代码
Reply from 192.168.1.200

如果 CentOS 防火墙阻止,可以检查:

css 复制代码
firewall-cmd --state

九、另一台实体电脑 → CentOS

假设另一台电脑连接同一个 Wi-Fi:

复制代码
192.168.1.100

执行:

复制代码
ping 192.168.1.200

如果成功,说明:

arduino 复制代码
实体电脑
   ↓
Wi-Fi
   ↓
VMware Bridge
   ↓
CentOS

完全正常。


十、CentOS → 另一台实体电脑

CentOS:

复制代码
ping 192.168.1.100

如果实体电脑 Windows 防火墙允许 Ping,则应该成功。


十一、实际访问服务

假设 CentOS 上运行 Spring Boot:

yaml 复制代码
8080

另一台电脑直接访问:

arduino 复制代码
http://192.168.1.200:8080

CentOS 放行:

css 复制代码
firewall-cmd --permanent --add-port=8080/tcp
firewall-cmd --reload

检查服务监听:

perl 复制代码
ss -lntp | grep 8080

应该看到:

makefile 复制代码
0.0.0.0:8080

而不要是:

makefile 复制代码
127.0.0.1:8080

Spring Boot 可以配置:

ini 复制代码
server.address=0.0.0.0
server.port=8080

十二、如果同 Wi-Fi 设备仍然不能互访

检查路由器有没有开启:

css 复制代码
AP Isolation
Client Isolation
无线隔离
客户端隔离
终端隔离
访客网络隔离

如果开启,需要关闭。

尤其不要让设备连接:

复制代码
Guest Wi-Fi / 访客网络

很多访客网络默认禁止设备之间互访。


最终推荐配置

css 复制代码
                    Wi-Fi 路由器
                    192.168.1.1
                         │
        ┌────────────────┼────────────────┐
        │                │                │
 Windows 宿主机      实体电脑 B       其他设备
 192.168.1.2        192.168.1.100
        │
        │ Wi-Fi物理网卡
        │
     VMware
        │
      VMnet0
     Bridged
        │
     CentOS 7.9
   192.168.1.200

最终应该实现:

复制代码
Windows        → CentOS         ✅
CentOS         → Windows        ✅
实体电脑       → CentOS         ✅
CentOS         → 实体电脑       ✅
Windows        → 实体电脑       ✅
实体电脑       → Windows        ✅

最核心的 5 个配置

markdown 复制代码
1. VMware 使用 VMnet0 Bridged
2. VMnet0 明确桥接到真实 Wi-Fi 网卡
3. Windows Wi-Fi 勾选 VMware Bridge Protocol
4. CentOS 使用和 Wi-Fi 相同网段的静态 IP
5. CentOS Gateway 必须是真实路由器地址

按你现在的环境,最终 CentOS 推荐就是:

ini 复制代码
IPADDR=192.168.1.200
PREFIX=24
GATEWAY=192.168.1.1
DNS1=192.168.1.1
DNS2=8.8.8.8

这套配置最适合你现在这种 VMware CentOS 作为局域网服务器,让同 Wi-Fi 的其他开发电脑直接访问 MySQL、Redis、Spring Boot、XXL-JOB 等服务 的场景。

相关推荐
寒蝉12816 分钟前
一个简单操作是怎么在分布式环境下变复杂的
后端
boooooooom18 分钟前
手把手做一个图 RAG 烹饪问答系统:Neo4j + Milvus + LLM 的工程实践
前端·javascript·后端
newerp19 分钟前
Golang 切片底层结构
后端·程序员·go
BingoGo34 分钟前
免费可商用 PHP 管理后台 CatchAdmin V5.4.0 发布,新增短信服务能力
后端·php
Csvn35 分钟前
🐍 Day 8:面向对象编程
后端·python
程序员天天困37 分钟前
向量检索不准怎么办:混合检索与 Rerank 重排序召回优化实战
后端·python·ai编程
吃饱了得干活38 分钟前
一篇讲清楚Spring Boot:自动装配、启动器、过滤器、拦截器、设计模式
java·spring boot·后端
CodeSheep1 小时前
OpenJDK 全面禁止 AI 生成代码!
前端·后端·程序员