局域网内 PC2 访问 PC1 虚拟机(NAT 模式)项目
局域网内 PC2 访问 PC1 虚拟机(NAT 模式)项目
说明
以 wms.bershe.test 为例
在日常开发或测试场景中,经常会遇到 “PC2 需访问 PC1 虚拟机内项目” 的需求。本文针对 PC1(Windows 11)+ VMware 虚拟机(NAT 模式)+ PC2(Windows 11) 的环境,详细拆解从配置到验证的全流程,最终实现 PC2 通过域名 http://wms.bershe.test:8080 访问 PC1 虚拟机内的 Web 项目。
一、环境说明与核心原理
1. 基础环境
- PC1:Windows 11 系统,安装 VMware 虚拟机(NAT 网络模式),虚拟机 IP 为
192.168.17.101,项目域名wms.bershe.test(已在虚拟机内配置 hosts 映射),项目端口为 80(HTTP 默认端口)。 - PC2:Windows 11 系统,与 PC1 连接同一路由器(同一局域网)。
- 虚拟机网络模式:NAT(默认隔离在独立子网,PC2 无法直接访问虚拟机 IP)。
2. 核心通信原理
NAT 模式下,虚拟机 IP 仅能被 PC1 物理机访问,PC2 需通过 “PC1 物理机端口转发” 间接访问虚拟机:
- PC2 发起域名请求 → 解析到 PC1 物理机 IP;
- PC1 物理机通过端口转发规则,将请求转发到虚拟机对应端口;
- 虚拟机处理请求后,通过原路径返回响应给 PC2。
完整链路:PC2 → http://wms.bershe.test:8080 → PC1物理机(192.168.1.179:8080)→ 虚拟机(192.168.17.101:80)→ 项目服务。
二、前置准备:确认关键信息
开始配置前,需先获取 PC1 的核心网络信息,避免配置错误:
1. 查看 PC1 物理机局域网 IP
-
在 PC1 上按
Win + R,输入cmd打开命令提示符; -
执行命令
ipconfig,找到 “以太网适配器 以太网”(或当前联网的网卡),记录其 IPv4 地址。
示例结果:
192.168.1.179(此为 PC1 物理机的局域网 IP,PC2 将通过该 IP 访问)。
2. 确认虚拟机项目状态
- 登录 PC1 的虚拟机,打开浏览器访问
http://192.168.17.101:80或http://wms.bershe.test; - 若能正常加载页面,说明项目已启动且端口 80 可用;若无法访问,需先在虚拟机内修复项目(如启动 Web 服务、确认端口未被占用)。
三、Step 1:配置 PC1 虚拟机 NAT 端口转发(核心步骤)
需在 VMware 中配置端口转发规则,让 PC1 物理机的 8080 端口映射到虚拟机的 80 端口:
1. 打开 VMware 网络配置
- 关闭虚拟机(配置需重启生效),打开 VMware 工作站;
- 点击顶部菜单栏「编辑」→「虚拟网络编辑器」,选择「VMnet8(NAT 模式)」,点击左下角「更改设置」(需管理员权限)。
2. 配置 NAT 端口转发规则
- 在虚拟网络编辑器中,点击「NAT 设置」,弹出 NAT 配置窗口;
- 点击「添加」按钮,新增端口转发规则,按以下信息填写:
- 描述:自定义名称(如
wms-project-forward); - 协议:选择「TCP」(HTTP/HTTPS 项目仅支持 TCP);
- 主机端口:填写 PC1 物理机的空闲端口(如
8080,避免与其他程序冲突); - 主机 IP:填写 PC1 物理机的局域网 IP(
192.168.1.179,必须准确,否则转发失效); - 虚拟机端口:填写虚拟机项目的实际端口(
80); - 虚拟机 IP:填写虚拟机 IP(
192.168.17.101);
- 描述:自定义名称(如
- 点击「确定」保存规则,关闭虚拟网络编辑器,重启虚拟机使配置生效。
3. 验证转发规则有效性
- 在 PC1 物理机上打开浏览器,访问
http://192.168.1.179:8080; - 若能正常加载虚拟机内的项目页面,说明端口转发规则配置成功;
- 若无法访问,排查以下问题:
- 虚拟机是否已重启(配置需重启生效);
- PC1 物理机的 8080 端口是否被占用(执行
netstat -ano | findstr 8080检查,若占用则更换主机端口如 8081); - 转发规则中的 IP、端口是否填写错误(重点核对主机 IP 是否为
192.168.1.179)。
四、Step 2:配置 PC1 物理机防火墙(避免请求被拦截)
PC1 物理机的 Windows 防火墙默认会拦截外部访问 8080 端口,需手动添加入站规则:
1. 打开 Windows 防火墙高级设置
- 在 PC1 上按
Win + S,搜索「Windows Defender 防火墙」,点击「高级设置」; - 在左侧导航栏选择「入站规则」,点击右侧「新建规则」。
2. 新建端口放行规则
- 规则类型选择「端口」,点击「下一步」;
- 协议选择「TCP」,勾选「特定本地端口」,输入
8080(与转发规则的主机端口一致),点击「下一步」; - 操作选择「允许连接」,点击「下一步」;
- 勾选「专用」「公用」(确保局域网内所有设备可访问),点击「下一步」;
- 规则名称填写「允许 8080 端口访问」,点击「完成」。
3. 测试防火墙规则
在 PC1 物理机再次访问 http://192.168.1.179:8080,若能正常访问,说明防火墙规则已生效。
五、Step 3:配置 PC2 域名解析(实现通过 wms.bershe.test 访问)
PC2 需通过 hosts 文件绑定 wms.bershe.test 到 PC1 物理机 IP,才能通过域名访问:
1. 编辑 PC2 的 hosts 文件
-
在 PC2 上按
Win + R,输入notepad C:\Windows\System32\drivers\etc\hosts,按提示「以管理员身份运行」(否则无权限保存); -
在 hosts 文件末尾添加一行(IP 为 PC1 物理机局域网 IP,域名与虚拟机项目一致):
192.168.1.179 wms.bershe.test -
点击「文件」→「保存」,关闭记事本。
2. 刷新 PC2 的 DNS 缓存
- 打开 PC2 的命令提示符(
Win + R→cmd); - 执行命令
ipconfig /flushdns,清空 DNS 缓存(确保 hosts 配置立即生效)。
3. 验证域名解析
在 PC2 的命令提示符中执行 ping wms.bershe.test,若返回 192.168.1.179,说明域名解析配置成功。
六、Step 4:PC2 访问测试与问题排查
1. 正常访问流程
- 在 PC2 上打开浏览器(或 Postman、curl 等工具);
- 输入访问地址
http://wms.bershe.test:8080,按下回车; - 若能加载出虚拟机内的项目页面,说明全流程配置成功。
2. 常见问题排查(按优先级)
若访问失败,对照以下场景逐一排查:
| 问题现象 | 可能原因 | 解决办法 | |
|---|---|---|---|
| 浏览器提示 “无法解析域名” | PC2 hosts 文件未配置或配置错误 | 重新编辑 hosts 文件,确保 IP 和域名格式正确(无多余空格、无 #注释),执行 ipconfig /flushdns |
|
| 访问超时、ping 不通 192.168.1.179 | PC1 与 PC2 不在同一局域网,或 PC1 防火墙未放行 8080 端口 | 1. 确认两台电脑连接同一路由器;2. 临时关闭 PC1 防火墙测试(测试后重新开启);3. 检查 PC1 的入站规则是否正确 | |
| 提示 “拒绝访问”“连接被重置” | PC1 物理机 8080 端口被占用,或转发规则配置错误 | 1. 在 PC1 执行 `netstat -ano | findstr 8080`,关闭占用端口的程序;2. 重新检查 VMware 转发规则(主机 IP、端口、协议是否正确);3. 重启虚拟机 |
| PC1 能访问,PC2 不能访问 | PC2 防火墙拦截请求,或路由器开启 AP 隔离 | 1. 临时关闭 PC2 防火墙测试;2. 登录路由器管理后台,关闭 “AP 隔离” 功能(部分路由器默认开启) | |
| 访问显示 “404 页面不存在” | 虚拟机项目端口或路径错误 | 1. 确认虚拟机项目端口为 80;2. 检查项目访问路径是否正确(如是否需要添加上下文路径 /wms) |
七、进阶优化:避免端口冲突与动态 IP 问题
1. 避免端口冲突
- 选择主机端口时,优先使用 8080、8081、8090 等非常用端口;
- 若端口被占用,在 VMware 中修改转发规则的 “主机端口”,同步更新 PC1 防火墙规则和 PC2 的访问地址。
2. 解决 PC1 物理机动态 IP 问题
若 PC1 的 IP 是动态获取(重启路由器后可能变化),会导致 PC2 访问失效:
- 登录路由器管理后台(通常为
192.168.1.1); - 找到「DHCP 服务器」→「地址保留」,添加 PC1 物理机的 MAC 地址和固定 IP(
192.168.1.179); - 保存后,PC1 将始终获取固定 IP,无需频繁修改 PC2 的 hosts 文件。
八、总结
本文通过 “确认网络信息 → 配置 NAT 端口转发 → 放行防火墙端口 → 绑定域名解析” 四步,实现了 PC2 在局域网内访问 PC1 NAT 模式虚拟机的项目。核心关键点在于:
- 转发规则中准确填写 PC1 物理机的局域网 IP;
- 确保 TCP 协议和端口映射的一致性;
- 正确配置两台电脑的防火墙和域名解析。
按照本文步骤操作,即可稳定实现 http://wms.bershe.test:8080 的访问,适用于开发测试、局域网内项目演示等场景。若遇到特殊网络环境(如企业路由器限制),可联系网络管理员开放相关端口权限。

浙公网安备 33010602011771号