很多人在折腾服务器的时候都会碰到一个尴尬场景:家里 NAS 上跑的东西、公司内网里搭的测试环境、自己笔记本上跑的服务,公网上怎么都访问不到。公网 IP 不会申请,运营商给的又是大内网,端口 80 和 443 还给你封着。这时候能救命的就一件事内网穿透。它做的事情说白了很简单:让外网的人,通过一台有公网 IP 的中转机器,绕进你内网里的那台机器上,访问它跑的服务。
如果打算自己做内网穿透、需要一个稳定的中转节点,机器可以先看看这两家:狗云DOGYUN(高性价比云服务器,多机房可选)、RackNerd(全球VPS,特价常推)。内网穿透对中转机的要求不算高,但带宽质量和延迟直接决定你用起来顺不顺手,选的时候别只看价格。
一、内网穿透到底是怎么跑起来的
先弄懂原理,后面看方案才不会一头雾水。典型的内网穿透是三段结构:
内网机器(frpc 客户端)跑在你家里或者公司里,它主动往外拨号,连到公网服务器;公网中转机(frps 服务端)有固定 IP,接收这个连接;访问者访问公网服务器的某个端口,中转机再把流量转发回你的内网机器。
关键点在于:发起连接的是内网机器自己,所以你不需要有公网 IP,也不需要给路由器做端口映射。国内三大运营商给家用宽带分配的是私网地址,NAT 之后的机器根本没法被主动连上,但出方向的连接是允许的穿透正是利用了这一点,在 NAT 后面"凿"出一条通路。
也正因为是客户端主动连出去,所以稳定性取决于两件事:中转机不能挂,以及客户端的连接要能自动重连、断了能自己爬起来。选方案的时候这两条比什么都重要。
二、方案一:FRP 自建,主力玩家的首选
FRP 是目前开源内网穿透领域用得最多的工具,思路就是上面说的 frpc / frps 结构。服务端一个二进制丢到公网机器上跑起来,客户端在你内网机器上跑一份,用一个 ini 配置文件声明"我要把本地 3000 端口映射到公网的 6000 端口",就完事了。
它的好处很实在:不依赖第三方,不用注册、不用备案、不会被限速封号;协议支持广,TCP、UDP、KCP 都行,HTTPS、SSH、远程桌面、游戏联机都能跑;加密可配,frp 走 TLS 加密,配好 token 和 TLS 之后中间人看不到你的数据。
缺点也得认:要自己维护一台公网中转机,机器挂了穿透就断了;配置项不少,第一次上手要花点时间调;对中转机的带宽和流量有一定消耗,如果跑的是大流量业务,得算一下成本。
如果你不熟悉命令行,Windows 上有图形化的 FRP 客户端,比如 Frpmgr(FRP GUI客户端) 这类工具,把配置文件做成可视化的表单,填几个字段点一下就能启动,省掉手改 ini 到处踩坑的功夫,也是不少人手上的第一选择。
配置上我一般遵循这么几条:token 一定要设,中转机的 7000 端口(默认 frps 通信端口)最好再加一层防火墙只放行你的客户端 IP;用 STCP 或 XTCP 这种加密模式,别用明文的 TCP 直连模式,除非你确认访问端也做了鉴权;关掉管理面板的开放端口,面板能用 SSH 隧道连上去看就行。
三、方案二:端口映射类小工具,轻量场景够用
还有一类工具走的是更简单的路子:本机监听一个端口,收到连接后直接转发到目标地址,中间不经过公网中转机。比如各种"端口映射器"类的工具,安装包只有几 MB,双击运行,填上源端口和目标地址就完事。
这类工具的优势是零配置、零成本、零学习曲线,本地跑个数据库、调试个 HTTP 服务、临时共享个文件夹,用它两三分钟就能解决。缺点也很明显:它不是真正的穿透,只能在你自己这台机器的局域网内转发,外网访问不了;没有加密没有鉴权,纯粹是把端口敞给同一个局域网里的人用。
所以它适合的场景是"我在办公室想让同事访问我本机的测试接口"这种局域网内的活儿,一旦涉及公网暴露,就别用了。
四、方案三:第三方商业服务,省事但有约束
像花生壳这类商业服务,思路是自己搭好整套基础设施,用户只需要注册账号、装个客户端、绑定一个域名就能用。免费版给的内网穿透带宽和流量都很有限,通常只够跑个网页或者 SSH;付费版宽裕一些,但本质上是把控制权交出去了你的流量要走别人的服务器,中间经过别人的调度,限速策略和服务终止你控制不了。
用第三方服务的最大好处是真的省事,没有服务器也能立刻把内网服务发布出去,偶尔应急、或者做临时演示非常好用。但一旦是长期运行的生产业务,我一般不太建议:服务条款和带宽策略可能变,价格随流量涨,成本不可控,而且备案、域名合规这些事往往甩不掉。
五、怎么选,看三个问题
选型其实没那么复杂,问自己三个问题就行:
第一,需要从公网访问吗?不需要的话,端口映射类工具就够,别折腾。
第二,需要长期稳定运行吗?是的话,自建 FRP 值得投入时间,一次配置好,之后基本不用管,而且完全可控。应急或者临时用途,用商业服务省事。
第三,流量大不大?跑网页、跑 API、跑 SSH,中转机随便一台小配置的就够;跑 NAS 大文件下载、跑视频串流,那就得认真算带宽成本,可以考虑直接上带宽不限量或者按量计费的方案,别让中转机成为瓶颈。
另外有几个实战里的坑值得提前知道:穿透只是把路修通了,安全得自己负责,暴露出去的端口一定要有强密码或证书;很多老旧管理面板默认是 http 弱口令,直接暴露出去基本等于送人头;客户端一定要配开机自启和断线重连,否则重启一次内网机器,穿透就断了,人不在家的时候根本没法恢复;给中转机和内网机都做监控告警,穿透是个哑巴,它断了不会告诉你。
总的来说,如果只是想偶尔远程连一下自己的机器,自建 FRP 配上一台便宜的中转机,是性价比最高、心里也最踏实的方案。工具门槛已经很低了,选个顺手的图形客户端,把配置调通,剩下的就是享受"在外面也能打开家里那台机器"的这种踏实感。


喜欢
顶
难过
囧
围观
无聊





