您现在的位置是:焦点 >>正文
外网访问虚拟机中的网站
焦点268人已围观
简介把虚拟机里的网站暴露到外网,最直接的办法是端口转发。但很多人卡在第一步:虚拟机网络模式选错了。VMware 默认的 NAT 模式,外网根本进不来,你得先改成桥接模式,让虚拟机从路由器拿一个和宿主机同网 ...
把虚拟机里的外网网站暴露到外网,最直接的访问办法是端口转发。但很多人卡在第一步:虚拟机网络模式选错了。虚拟VMware 默认的机中 NAT 模式,外网根本进不来,外网你得先改成桥接模式,访问让虚拟机从路由器拿一个和宿主机同网段的虚拟 IP。VirtualBox 也类似,机中网络设置里选“桥接网卡”,外网别选 NAT。访问
我上次帮朋友调一个 Flask 项目,虚拟他死活访问不了。机中我登进虚拟机一看,外网服务只绑定了 127.0.0.1:5000。访问这相当于网站只对虚拟机自己开放,虚拟宿主机都摸不到,更别说外网。改成 0.0.0.0:5000 之后,宿主机用虚拟机 IP 就能打开了。这个细节很小,但坑了不止一个人。
假设虚拟机 IP 是 192.168.1.100,网站跑在 80 端口。宿主机浏览器输入这个 IP 能看到页面,说明局域网通了。接下来要在路由器上做端口映射——把外网某个端口(比如 8080)转发到 192.168.1.100:80。不同路由器界面不一样,关键词一般是“虚拟服务器”“端口转发”或“NAT”。填的时候注意:外部端口写 8080,内部端口写 80,IP 填虚拟机的。
但这里有个现实问题:家庭宽带的外网 IP 通常是动态的,今天 113.xx.xx.xx,明天可能就变了。而且很多地区运营商不给公网 IP,你路由器 WAN 口拿到的可能是 100.64.x.x 这种运营商级 NAT 地址。这种情况下端口映射没用,得先打电话给运营商申请公网 IP,或者用 frp、ngrok 这类内网穿透工具绕过去。
我自己更倾向 frp。在虚拟机里跑一个 frpc 客户端,连到有公网 IP 的云服务器上跑 frps,把本地 80 端口映射到云服务器的 8080。外网访问 云服务器IP:8080 就能看到虚拟机里的网站。配置文件就几行:
[web] type = tcp local_ip = 127.0.0.1 local_port = 80 remote_port = 8080 云服务器安全组记得放行 8080。这套方案的好处是不依赖路由器,也不怕动态 IP。坏处是流量绕了一圈,延迟比直接端口映射高个几毫秒,但普通网站感觉不出来。
防火墙别忽略。虚拟机里如果开了 ufw 或 firewalld,80 端口没放行,前面全白搭。sudo ufw allow 80/tcp 一行命令的事,但排查的时候容易最后才想到。宿主机防火墙有时也会拦桥接流量,Windows Defender 防火墙对“公用网络”默认拦截入站,把网络类型改成“专用”或者手动放行端口。
还有个偷懒的办法:如果只是临时给同事看个 demo,直接用 ssh -R 8080:localhost:80 用户名@云服务器 做反向隧道。不用装 frp,一条命令搞定。缺点是 ssh 断掉就没了,适合短时间展示。
最后说个观察:很多人以为“外网访问”就是公网能访问,其实公司内网跨网段访问也算外网。我见过一个案例,虚拟机在 192.168.10.x 网段,同事在 192.168.20.x 网段,中间隔了防火墙,这时候端口转发要在三层交换机或防火墙上做,路由器那套不管用。搞清楚“外网”具体指哪一层,比急着改配置更重要。
Tags:
上一篇:知乎的小说哪里可以怎么免费
下一篇:购物平台分析表
相关文章
不充钱打金送vip的游戏刚开
焦点凌晨三点,新区“龙腾四海”刚开服十分钟,世界频道已经刷了上百条“收徒,送VIP,打金返利”。这种阵仗我见过太多次,多半是骗你进去当韭菜。但这次有点不一样——游戏商城里明码标价写着“VIP1-VIP10 ...
【焦点】
阅读更多无人直播电脑配置推荐
焦点直播推流本身不吃CPU,真正吃性能的是你同时开的那些“辅助程序”。我见过太多人花大价钱配了i9+4090,结果直播间卡成PPT,原因居然是obs里挂了十几个滤镜插件,还开着Chrome的几十个标签页。 ...
【焦点】
阅读更多网络上被人身攻击怎么报警
焦点去年我朋友因为在游戏里骂了句“菜鸡”,被对方顺着账号信息扒出手机号,凌晨三点收到八十多条验证码轰炸短信。她气得发抖,第一反应是截图发给闺蜜,第二反应是问“报警有用吗”。 答案是:有用,但你得按对按钮。 ...
【焦点】
阅读更多