虚拟机NAT模式下,无法直接在主机通过IP网址打开界面

NAT 模式下访问虚拟机 Flask 服务(无需改桥接)

VMware NAT 模式默认虚拟机和主机不在同一网段 ,直接 192.168.11.128:5000 访问不通,用端口转发即可解决。

一、配置 VMware 端口转发

  1. 关闭虚拟机里的 Flask 服务(Ctrl+C),关闭虚拟机
  2. 打开 VMware → 顶部菜单 编辑 → 虚拟网络编辑器
  3. 选中名称为 VMnet8(NAT) 的网卡,点击右下角 更改设置(需要管理员权限)
  4. 点击 NAT 设置 → 找到 端口转发 ,点击 添加
    • 主机端口 :填 5000(本机访问用的端口)
    • 虚拟机 IP 地址 :填 192.168.11.128
    • 虚拟机端口 :填 5000(Flask 监听端口)
    • 描述可随意填写(如flask服务)
  5. 依次确定保存,启动虚拟机

二、放行虚拟机防火墙(必做)

虚拟机内执行命令开放 5000 端口:

bash

运行

复制代码
sudo ufw allow 5000/tcp
sudo ufw reload

三、重新启动 Flask

bash

运行

复制代码
python3 psbc_bank.py

四、本机访问

打开电脑浏览器,输入:

plaintext

复制代码
http://localhost:5000
# 或
http://127.0.0.1:5000

补充方案(临时应急,不用配置转发)

如果只是临时测试,可在虚拟机内直接把 Flask 监听改成本机回环 + 地址,或临时用 curl 自测:

  1. 虚拟机内部自测(确认服务正常)

bash

运行

复制代码
curl 127.0.0.1:5000
  1. 不想配置转发,也可以把 Flask 端口换成 80 配合转发,或临时切换仅主机模式。

常见问题排查

  1. 仍无法访问:检查 VMware 虚拟网卡(VMnet8)是否正常启用,Windows 设备管理器查看网卡状态
  2. 端口冲突:如果本机 5000 被占用,主机端口可改成其他(如8080),访问时对应 localhost:8080
  3. 重启虚拟机后:端口转发规则永久生效,不用重复配置
相关推荐
Johny_Zhao5 小时前
FreeRADIUS + 华为AC/AP + 802.1X/WPA2-Enterprise 无线认证对接部署完整指南
网络·网络安全·信息安全·ldap·radius·huawei·系统运维·centos8
天远API6 小时前
零信任架构实战:基于天远人企关联构建自动化图谱网关
网络·人工智能·架构·自动化
vipjx17 小时前
百度网盘限速怎么破?2026实测PanDownload多线程提速方案
网络·智能路由器
不会就选b9 小时前
Linux之应用层协议HTTP(二)
网络·网络协议·http
hasty9 小时前
只监听本机为何仍需鉴权?Cline Hub 的 WebSocket 信任边界解析
网络·websocket·网络协议
小小小小钰儿10 小时前
1.5-Python网络编程
开发语言·网络·python·web安全·计算机·网络安全
vipjx110 小时前
2026最新PanDownload复活版评测:告别百度网盘限速实测可用
网络·智能路由器
hasty10 小时前
01_新网络安全法下的软件漏洞治理
网络·安全·web安全
j7~11 小时前
【Linux网络编程】四十七.《Linux IO 模型详解:阻塞 IO、非阻塞 IO 与 IO 多路转接(select)》
linux·运维·网络·select·非阻塞io·阻塞io·i/o多路连接
猫咪宝妖11 小时前
信息安全工程师 第四级 结构化保护级
网络·数据库·安全