内网穿透

无公网 IP 的内网穿透方案:四条路分别要什么前提

无公网 IP 的内网穿透方案怎么选?先对两个数确认自己是不是真的没有公网 IP,再看自建 frp、虚拟组网、托管式内网穿透、申请公网 IP 四条路分别要求你先有什么。

蜻蜓映射团队
阅读 11 分钟
无公网 IP 的内网穿透方案:四条路分别要什么前提

一家公司把智邦国际 ERP 装在办公室角落那台工控机上。局域网里输 http://192.168.1.200:6088,开单、审批、查库存,一切正常。

销售出差要查库存,老板在外面要批单子。网管在出口路由器上配了端口转发,把外部 6088 指向内网那台机器——这一步他做得没错,教程上就是这么写的。

然后手机切到 5G 一试,浏览器一直转圈:响应时间过长。

接下来的半天,他检查 Windows 防火墙入站规则,翻遍智邦后台,最后开始怀疑是不是软件绑了机器码。一个方向都不对。

问题不在 ERP,也不在防火墙。是他家那台路由器根本不在公网上。

这篇讲的就是这种处境下的出路:无公网 IP 的内网穿透方案有哪几条、各自要求你先有什么,以及怎么在三分钟内确认自己到底属于哪一种。

先花三分钟:确认你的公网 IP 到底存不存在

排查这件事只要两步,都不用碰 ERP,也不用懂 NAT。

第一步,在那台跑着服务的机器上打开浏览器,搜一下「IP」,搜索结果第一屏就会显示你当前的出口地址——比如 120.229.xx.xx。那是你这条宽带在互联网上被看见的样子。

第二步,登录出口路由器后台,在运行状态里找 WAN 口的 IPv4 地址——比如 100.86.xx.xx。那是运营商真正分给这台路由器的地址。

两个数对不上,问题就锁死了。

局域网里能打开 6088,说明服务进程和本地防火墙都是好的。而路由器 WAN 口拿到的那个地址根本不是公网地址——外面的人请求 120.229.xx.xx:6088,流量走到运营商机房那个公网池就断了,没有一条路能走到你这台路由器上。

端口转发这个功能本身没坏,是它转发的前提不成立:你在路由器上填的那条规则,是在告诉一个不属于你的地址该怎么做事。

那个地址长得像公网,所以骗过了他

网管不是没查过路由器。他查了,也看见了 100.86.xx.xx。然后他把它当成了公网 IP。

这是整件事里最容易复现的一步。大部分人认私网地址靠的是那三段——10.x172.16–31.x192.168.x100.86.xx.xx 一段都不占,看着就该是公网。

100.64.0.0/10RFC 6598 单独划出来的一段,用途只有一个:运营商级 NAT,业内叫 CGNAT。它长得像公网,功能上是私网——这一段专门骗得过刚才那一眼。

所以两步比对的价值不在第二步。路由器他查了,没查出问题。价值在第一步:把服务器上看到的出口 IP 和 WAN 口那个数放在一起对。两个数不一样,「这一眼看起来像不像公网」就不重要了。

对完这两个数,你属于四种情况里的哪一种

你的情况怎么认出来该走哪条路
有公网 IP,而且固定两个数一致,且不落在上面那些私网段里路由器端口转发就够了,不需要内网穿透
有公网 IP,但它会变两个数一致,过几天再对一次,变了那是 DDNS 的题——用动态域名盯住会变的地址,比穿透简单
有公网 IP,但 80 / 443 打不开两个数一致,换个高位端口就通要解决的是端口不是地址:换非标端口,或者问运营商解封的条件
没有公网 IP两个数对不上,WAN 口那个落在 100.64 段或私网段下面这几条路才是你的题

前三种情况的人,其实不用往下读了。

这话没有一篇同类文章肯说,因为写文章的多半在卖穿透工具。但事实是:地址在你手上、只是会变,或者只是端口被挡——这两种都有更短的解法,绕到内网穿透上是舍近求远。

只有第四种,那两个数对不上的,才是接下来要解决的。

无公网 IP 的内网穿透方案:剩下四条路,各要什么前提

端口转发和 DDNS 刚才已经划掉了——它们要的东西你正好没有。剩下四条:

路线你得先有什么访问的人要装东西吗
自建 frp / NPS一台带公网 IP 的云服务器不用
虚拟组网(ZeroTier / Tailscale / EasyTier)一个账号,还得加入你的网络
托管式内网穿透一个账号,内网装一次客户端不用
向运营商申请公网 IP运营商肯给不用

这张表只比一件事:这条路要求你先有什么。 它不比速度。

不比速度是有意的。同类文章里「N 方案实测对比」那种表格,传输速度往往是全表最抓眼的一列,也往往最不可复现——一次测试、一个网络环境、一个时间点,换个城市换个运营商,名次就能翻过来。我们没有可复现的实验环境,就不编那一列。你要是在别处看到精确到小数点的速度排名,值得先问一句:那是在什么条件下测出来的,换我家还成立吗。

自建 frp / NPS

frp 是这个领域最成熟的开源方案,NPS 是另一个常见选择。它们的工作方式是反向代理:内网那台机器主动连上一台公网服务器,外面的请求先到服务器,再顺着这条已经建好的连接回到内网。

关键在「一台公网服务器」。这条路不是不需要公网 IP,是把需要公网 IP 的那台机器从你家挪到了云上。 前提没有消失,只是换了个位置。

于是要问的不是「frp 要不要钱」(它是开源的),而是那台机器你有没有、以后谁来管。它一旦立起来,就长在你的运维清单上了。

适合:云服务器你本来就有,也不介意多养一个服务在上面。

虚拟组网(ZeroTier / Tailscale / EasyTier)

它们不做端口映射,做的是虚拟局域网:把两端拉进同一个网络,能直连就直连,直连不成走中转(打不打得通取决于两边的 NAT 行为,这里不展开)。

它确实不要求你有公网 IP。代价在另一头:访问的那一端也得装客户端、加入你的网络。

适合:设备对设备的长期互通——你自己的几台机器、家里连公司、几个固定的同事。

托管式内网穿透

前两条要么要你有一台公网服务器,要么要访问的人配合装东西。这一条把两件事都免掉:在内网任意一台能上网的机器上装一次客户端,选中要开出去的那个服务,服务端分配一个地址,外面拿这个地址直接访问。

客户端映射列表,三条映射在线,内网地址分别指向服务端分配的公网地址

图里三条映射同时在线,指向内网三个不同的服务。注意地址那一列的差别:HTTP 类映射拿到的是一个纯域名,TCP 类拿到的是域名加端口——前者能直接在浏览器里打开,后者要填进对应的客户端,比如远程桌面或数据库工具。

建一条映射是这个样子:

新建映射弹窗,一行常见服务预设,底部注明远程端口由服务器自动分配

适合:要把地址发给不归你管的人,或者不想为了一个内网服务另养一台服务器。

向运营商申请公网 IP

打电话要一个公网 IP,这条听起来最直接,但有三个不确定:并非所有地区、所有套餐都给;家宽给了往往也封着 80 和 443;就算都拿到了,从外面拉数据走的还是你家宽带的上行——那一段是物理上限,不是换条路能绕开的。

严格说这条不算内网穿透——它是把前提本身改掉。能办成是最干净的解法,办不成也别在它上面耗太久。

适合:企业专线,或者你所在地区的运营商确实肯给。

没有公网 IP 如何内网穿透:回到开头那台工控机

那家公司的 ERP 最后是这样开出去的:找一台能连到工控机的机器装一次客户端——装在工控机本身可以,装在局域网里另一台常开的机器上也可以,只要它连得到那台服务器。然后建一条映射,本地地址填 192.168.1.200,端口填 6088。

有意思的是这一步在企业环境里比家里简单。群晖 NAS 那一页把「装 NAS 上还是装局域网另一台电脑上」当成一个要权衡的选择来写,因为家里常开的机器可能就那一台;机房里本来就不止一台机器开着。

ERP 这类软件值得单独说一句:它通常不是一个端口。智邦国际、用友、金蝶这类系统的典型形状是 Web 管理端加本地数据库,再带上若干特定的应用端口。而要把它开出去的那个人往往不是网管——他知道自己装的是哪个软件,不知道底下跑的是 TCP 还是 HTTP、该开哪几个口。

所以新建映射那个弹窗里,除了网站 HTTP、远程桌面、SSH、群晖 NAS、MySQL、SQL Server 这些通用选项,还单独有一个「智邦国际」。点软件名、填内网端口,不必先学会「TCP 端口」和「应用类型」这两个词。

控制台映射管理,Windows 与 Linux 两台设备在线并按客户端分组

设备多起来之后,控制台的「映射管理」按客户端分组,Windows 和 Linux 的机器在同一个列表里,每台显示在线状态和挂了几条映射。

这个场景为什么排除了虚拟组网

销售在客户那儿掏出手机,切 5G,要查一下这批货还有多少。

这一个动作就把虚拟组网整条路判出局了。前面说过,那条路要求访问的那一端也装客户端、加入网络。你没法要求每个业务员先做这三步;老板在客户现场要批一张单子,更不可能。

所以「访问的人要装东西吗」那一列不是技术参数,是能不能把地址发给一个不归你管的人。托管式内网穿透给的是浏览器直接能打开的地址,虚拟组网给的是一张入网门票。两者解决的不是同一类需求。

这条路的代价

每条路都有代价。托管式内网穿透的代价有三层,从轻到重。

第一层:服务一上公网,安全就得自己扛。 映射一建好,那个服务就不再只属于你的局域网——地址落到谁手上,谁就能来敲门。所以第一件事不是去配我们这边的功能,是确认服务本身有认证:SSH 用密钥或强密码,Web 后台别裸奔。

收窄入口的工具是有的。访问规则能按来源 IP、按时段、按访问口令限定谁能进来,三类各用各的,也能叠起来用;真冲突的时候,禁止的那条说了算。

访问规则的 IP 白名单,一条办公网网段,底部注明禁止优先于允许

但这些都只是把门开小,门后那把锁还得你自己装。具体怎么设在安全指南里。

第二层:带宽是档位,不是你家宽带的上限。 从外面拉大文件,这条路不会比你自己拿到一个真公网 IP 更快。各档位给多少、够不够你用,看定价——数字会变,我不在这里抄。

第三层,也是最该讲清楚的一层:链路上有一段不归你管。

传输全程加密、节点只做转发,这些都成立。但「链路上有一段不归你管」这个事实本身,就是某些合规要求过不去的坎。不是「会不会被看见」的问题,是「归谁」的问题。

所以——核心金融账目、未加密的高敏内部通讯,或者企业合规明确要求数据链路闭环,你不该用任何第三方托管服务,不只是不该用我们。这种情况下剩两条路:自己买云服务器搭 frp / NPS,或者走专线。

最后一件不算代价、但容易漏的事:要不要备案,只取决于你用谁的域名。 服务端分配的那串域名建完就能用,不需要你去备案;只有你想换成自己的域名对外,才要过 ICP 备案、DNS 解析、证书这几关——HTTP 内网穿透那一页把这三关拆开讲了。

回到那两个数

这篇如果只留下一件事,留那两个数:在跑着服务的那台机器上搜一下自己的出口 IP,登录路由器看一眼 WAN 口的地址,把它们放在一起对。

对得上,你有公网 IP,这篇的大半你用不着。

对不上,说明路由器根本不在公网上——那就从四条路里挑:手上已经有云服务器,自建 frp;要打通的是自己那几台设备,虚拟组网;要一个发出去就能打开的地址,托管式内网穿透;运营商肯给公网 IP,那最省事。

开头那家公司选了第三条。原因很简单:他们的销售在客户那儿掏出来的是手机。

标签:内网穿透

蜻蜓映射团队

蜻蜓映射技术团队,专注于内网穿透与远程访问的实践分享。

两分钟,让你的内网走向世界

完成实名认证,安装客户端,创建第一条公网映射。

在线客服在线客服