NAT 模式下访问虚拟机 Flask 服务(无需改桥接)
VMware NAT 模式默认虚拟机和主机不在同一网段 ,直接 192.168.11.128:5000 访问不通,用端口转发即可解决。
一、配置 VMware 端口转发
- 关闭虚拟机里的 Flask 服务(
Ctrl+C),关闭虚拟机 - 打开 VMware → 顶部菜单 编辑 → 虚拟网络编辑器
- 选中名称为 VMnet8(NAT) 的网卡,点击右下角 更改设置(需要管理员权限)
- 点击 NAT 设置 → 找到 端口转发 ,点击 添加
- 主机端口 :填
5000(本机访问用的端口) - 虚拟机 IP 地址 :填
192.168.11.128 - 虚拟机端口 :填
5000(Flask 监听端口) - 描述可随意填写(如
flask服务)
- 主机端口 :填
- 依次确定保存,启动虚拟机
二、放行虚拟机防火墙(必做)
虚拟机内执行命令开放 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 自测:
- 虚拟机内部自测(确认服务正常)
bash
运行
curl 127.0.0.1:5000
- 不想配置转发,也可以把 Flask 端口换成 80 配合转发,或临时切换仅主机模式。
常见问题排查
- 仍无法访问:检查 VMware 虚拟网卡(VMnet8)是否正常启用,Windows 设备管理器查看网卡状态
- 端口冲突:如果本机 5000 被占用,主机端口可改成其他(如
8080),访问时对应localhost:8080 - 重启虚拟机后:端口转发规则永久生效,不用重复配置