无需公网服务器,公益frp网站实现内网穿透
摘要
本文介绍利用公益 frp 实现内网穿透。frp 通过客户端主动连接公网服务器,无需公网 IP。虽配置简单且免费,但数据经第三方中转,存在安全风险,仅适合临时体验,不可用于敏感服务或建站。设置流程包括注册实名、建隧道、安装 frpc 并粘贴配置。若需长期稳定,建议自建服务器或使用 Cloudflare Tunnel。
前言
frp 一直是我觉得最好用的内网穿透方案之一 —— 它无需在访问端装客户端,配好后直接用域名访问内网服务,体验很接近"真公网"。唯一的问题是:它需要一个有公网 IP 的中转服务器,而个人并不一定都有。
好消息是,现在有很多公益 frp 网站提供免费的中转节点,帮你省掉自己买服务器的成本。有些站已经稳定跑了好几年,对个人临时访问来说是个可行的选择。
[!note] 使用公益 frp 前请想清楚:最好的方式始终是用自己的服务器,不要拿公益节点跑重要服务 —— 毕竟你的流量要经过别人的服务器中转,既不占带宽优势,也存在被对方查看/中断的风险。个人体验、测试用途最合适。
先搞懂 frp 的工作原理
很多人把 frp 当成"魔法",配置照抄能用,一出问题就完全不知道从哪查。花两分钟理解它的数据流,后面排查会顺很多:
关键在于连接是谁发起的:
你 NAS 上的
frpc客户端主动出站去连公网上的frps,建立一条长连接(控制通道)。之后外网有人访问
frps的某个端口,frps就顺着这条已经建好的隧道把数据回传给你的 NAS。
所以内网这一侧完全不需要开任何入站端口,也不需要公网 IP,更不用改路由器端口映射。 这也是 frp 能"绕过 NAT"的本质 —— 不是打通了 NAT,而是根本不依赖入站连接。
理解了这一点,很多现象就能自己解释:
现象 | 原因 |
|---|---|
NAS 上 | 隧道是 frpc 主动维持的,客户端一停,通道就没了 |
重启 NAS 后要等一会才能访问 | frpc 需要重新连上 frps 并注册隧道 |
用域名访问走的是别人服务器的带宽 | 数据确实绕路了,frps 是必经之路 |
公益 frp 的信任边界(配之前先想清楚)
这部分原文没展开,但它是决定"能不能用、能用在哪"的前提。
数据流经第三方服务器时,对方能看见什么?
你的本地服务 | frps 能看到 |
|---|---|
自带 HTTPS(如 | 只看到加密后的密文,看不到内容 |
纯 HTTP(如 | 明文,包括请求头、Cookie、登录表单 |
结论很直接:如果你要走公益节点,至少给服务套一层 HTTPS;而不管加不加密,请求发往哪个域名、什么时候发的、发了多少,中转方都是清楚的。所以:
❌ 别穿透网盘、照片库、密码管理器这类含隐私数据的服务
❌ 别穿透生产环境的数据库、管理后台
✅ 临时演示、给别人看个页面、自己在外网取个文件 —— 这类用途合适
实名认证不是"站点麻烦你"。 国内公益 frp 站要求实名,是《网络安全法》对网络服务提供者的要求(需要留存用户真实身份信息与访问日志)。这其实是件好事 —— 会跑路的小站往往不做这一步,愿意做实名、并且能查到公司/主体信息的站,相对更可靠。
为什么"免费节点不适合建站"? 两个硬原因:一是免费节点是多人共享同一条线路和同一个出口 IP,带宽被抢,晚高峰会很难受;二是共享 IP 的历史行为不可控,这个 IP 可能已经被搜索引擎或风控系统标记过,你用它建站,关键词排名和访问体验都受影响。
网站选择
可选的公益 frp 站非常多,有付费也有免费。建议优先选择运营时间长、口碑好的大站,稳定性更有保障。
我自己选的是 ChmlFrp:
免费用户可新建 4 个服务,无限流量;
需要免费实名认证;
NAS 端能用原版 frp 客户端(有些站强制用魔改版客户端,安全性/兼容性存疑,建议避开)。
关于"魔改客户端"这个坑,值得单独说一下。 frp 官方客户端
frpc是开源的,你能审计、能自己编译、能核对哈希。而"魔改版"是站点自己改过的二进制 —— 你既看不到源码,也不知道它除了连隧道之外还做了什么。在一个本来就掌握你全部流量走向的环境里,再运行一个闭源的、由对方提供的可执行文件,风险是叠加的。 遇到强制要求魔改客户端的站,建议直接换一家。
"4 个服务"到底限制的是什么? 是 4 条隧道,也就是最多把 4 个本地端口暴露出去。每条隧道的映射关系大致是:
大多数站会同时给你一个 HTTP 子域名(如 xxx.chmlfrp.cn)和一个 TCP 端口。前者适合网页类服务(自动带域名),后者适合非 HTTP 协议(比如游戏联机、SSH、RTSP)。
如何设置
以在飞牛 NAS 上把一个本地服务(sun-panel)穿透出去为例:
网站注册并完成实名认证(多数公益站出于合规都会要求)。

创建一条隧道,填写本地服务信息。

选择节点。注意:免费用户可选节点通常很少、线路也一般,不适合拿来建站(延迟和稳定性达不到),个人内部访问够用即可。

填写要映射的本地端口。我以
sun-panel(一个 NAS 导航面板)为例,它运行在容器端口3002,这里就填3002。

获取启动代码:隧道创建好后,网站会给你一段 frpc 客户端的启动配置/代码。

复制对应系统的代码:不同客户端(Windows / Linux / NAS 等)的启动代码会略有不同。我是飞牛 os,所以复制适用于飞牛/原版 frpc 的那一段。

本地安装 frpc 服务:飞牛 NAS 为例,直接在它的应用商店里搜索安装 frpc 即可,省去手动折腾。

打开服务并粘贴代码:在 frpc 的配置界面里,把上一步复制的启动代码粘贴进去并保存。

回 ChmlFrp 网站确认状态:提交后回到网站,如果隧道状态从"离线"变成了"在线",说明 frpc 已成功连上中转节点。

访问测试:点击网站给你的链接地址,即可打开 sun-panel 页面。个人自己用用是完全没问题的。

出问题了怎么查
公益 frp 是"黑盒"最多的场景 —— 中转方的东西你看不到,所以排查要按顺序缩小范围:
现象 | 先查这三点 |
|---|---|
隧道一直显示"离线" | ① NAS 上 frpc 进程是否在跑(服务是否启动成功);② 粘贴的配置里 |
隧道"在线"但打不开 | ① 本地端口填错了 —— 先在 NAS 上 |
能开但特别慢 / 频繁断 | 免费节点带宽争抢,换一个节点试;或避开晚高峰验证是否与时段相关 |
昨天还好今天不行 | 节点下线或 IP 变更,在站点后台换节点后重新复制启动代码(节点换了,配置里的地址和端口也会变) |
一个判断技巧:先在 NAS 本机 curl 通,再从外网访问。 本机不通就是你的服务问题,本机通了外网不通就是隧道/节点问题 —— 这一步能立刻把问题范围砍一半。
如果要用在重要场景,还有两条路
公益 frp 适合"零成本解决临时访问",但只要需求往"长期、稳定、在乎安全"方向走,它就不够了。这时候有两个更靠谱的方向:
① 自建 frps 服务端。 如果你手上有任何一台带公网 IP 的机器(比如云服务器),就能自己搭中转,流量只经过你自己的服务器,节点质量、端口、限速全由你控制。完整流程我写在用 frp 自建中转服务器,通过域名访问本地服务这篇里,配置方式和公益站的差别不大,主要是要自己装一次 frps。
② 干脆不用中转服务器 —— Cloudflare Tunnel。 这是目前零成本方案里安全性最高的一种:cloudflared 客户端主动外连 Cloudflare 边缘节点,不开放任何入站端口,也不需要你有公网 IP,连服务器都不用买。代价是 Cloudflare 边缘节点在国内访问偏慢,需要额外做一步"优选 IP 加速"才能跑应用类服务。具体配置我写在无公网 IP 的内网穿透:Cloudflare Tunnel + 优选加速;如果你想先把这套方案的原理和进阶玩法吃透,可以先看这篇总纲:Cloudflare Tunnel 完全指南。
小结与提醒
公益 frp 的价值在于零成本解决"没公网服务器"的内网穿透需求,配置也不难(核心就是:注册实名 → 建隧道 → 本地 frpc 粘贴代码 → 确认在线)。
但要记住三条原则:
别跑重要/敏感服务,数据经过第三方中转,安全边界要心里有数;
别指望它建站,免费节点性能和稳定性有限;
能用自己的服务器 / 官方 frp 就优先用自己的,公益站只当应急和体验的手段。
如果你的宽带支持 IPv6,其实还有更快、更安全的"IPv6 直连"方案,感兴趣可以看我另写的那篇通过 Lucky 走 IPv6 访问内网服务的教程。
相关文章
暂无相关文章