↓ 跳过正文

frp 内网穿透 2024:入门科普

·2273 字·5 分钟
作者
吾便宜
frp 内网穿透科普

插图来源:Storyset

家里有台 NAS,想在公司访问;本地起了个开发服务,想给异地的同事看;但家里没有公网 IP——这就是内网穿透要解决的问题。frp 是这个领域最有名的开源工具,2024 年依然是入门首选。这篇科普原理和场景。

清单:frp 是什么
#

  • 全称:fast reverse proxy,高性能反向代理。
  • 作用:把内网的服务"穿"出去,让外网能访问。
  • 原理:一台有公网 IP 的服务器(frps 服务端)当中转,内网设备(frpc 客户端)主动连出去建隧道,外网访问服务器的端口,就转到了内网。
  • 一句话:内网主动向外打洞,绕过没有公网 IP 的限制。

需要什么
#

  1. 一台有公网 IP 的 VPS:当服务端,便宜的就行,带宽看需求。
  2. 内网设备:NAS、树莓派、旧电脑,跑 frpc 客户端。
  3. 半小时:改两个配置文件,frp 的上手难度中等。

常见用途清单
#

  • 访问家里 NAS:出差看家里的文件、照片。
  • 远程桌面:内网电脑的 RDP/向日葵走 frp 穿出来。
  • 开发联调:本地服务给异地同事/客户演示,不用部署到服务器。
  • 个人博客/服务:家里旧电脑当服务器,博客跑在家里。
  • 摄像头:老家的摄像头,外出也能看。

配置极简示例
#

服务端(frps.ini):

[common]
bind_port = 7000

客户端(frpc.ini):

[common]
server_addr = 你的服务器IP
server_port = 7000

[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000

这样,访问服务器的 6000 端口,就等于访问内网设备的 22 端口。举一反三,NAS 的 5000 端口、摄像头的端口都这么配。

完整配置:穿透 NAS 和远程桌面
#

服务端 frps.ini(VPS 上):

[common]
bind_port = 7000
# 面板(可选)
dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = 强密码
# token 鉴权
token = 自己设个复杂的

客户端 frpc.ini(家里 NAS/电脑上):

[common]
server_addr = VPS的IP
server_port = 7000
token = 和服务端一致

[nas]
type = tcp
local_ip = 127.0.0.1
local_port = 5000
remote_port = 6001

[rdp]
type = tcp
local_ip = 127.0.0.1
local_port = 3389
remote_port = 6002

这样,访问 VPS_IP:6001 就是家里的 NAS,VPS_IP:6002 就是远程桌面。举一反三,摄像头、博客都这么配。

安全加固:穿透了就要守住
#

frp 把内网暴露出去,安全是第一位的:

  1. token 鉴权:服务端客户端都设 token,复杂度拉满,防止别人蹭你的 frps。
  2. 面板密码:dashboard 别用默认密码,端口也改掉。
  3. 防火墙:VPS 上只开放 7000 和用到的 remote_port,其他全关。
  4. 内网服务密码:NAS、路由器的密码全部设强,穿透出去的服务等于裸奔在公网。
  5. 日志监控:frps 日志开着,异常连接早发现。

frp vs nps:选哪个
#

frpnps
热度更高小众
配置ini 文件Web 面板
功能够用更全(主机管理)
2024 状态持续更新更新慢

新手选 frp,教程多、遇到问题好搜。要 Web 面板管理多台的,nps 也可以,但 2024 年更新不如 frp 勤快。

2024 年的替代方案
#

frp 是经典,但 2024 年有了更省心的选择:

方案难度需要 VPS适合
frp中等要爱折腾、要完全掌控
Tailscale极简不要新手、家庭组网
Cloudflare Tunnel简单不要建站、暴露 Web 服务
ngrok极简不要临时演示

新手直接上 Tailscale,三分钟搞定(教程看异地组网 2024)。想建站的看 Cloudflare Tunnel,免费又稳定。

让 frp 开机自启
#

frpc 挂了穿透就断了,设个开机自启+守护:

  • Linux:写个 systemd service,Restart=always,挂了自动拉起来。
  • Windows:用 NSSM 把 frpc 注册成服务,后台运行。
  • NAS:群晖/威联通的任务计划里加开机脚本。

别用 nohup 裸跑,VPS 重启就没了,自己还不知道。

FRP 高级玩法:2024 年
#

TCP 映射:不只是 HTTP,SSH、RDP、数据库,都能映射。内网的任何 TCP 服务,FRP 都能穿透。

UDP 映射:游戏、语音,UDP 也能穿。2024 年,FRP 的 UDP 支持已经很稳定了。

多用户:FRPS 配多用户,每个用户独立认证、独立限速。给朋友开穿透,互不干扰。

Dashboard:FRP 自带 Web 面板,看连接数、流量,2024 年的版本更好用了。

P2P 模式:FRP 支持 P2P(点对点),打洞成功后不走服务器,速度起飞。但打洞成功率看网络,NAT 类型是关键。

2024 年,FRP 是"内网穿透"的代名词。别被"穿透"这个词吓到,FRP 的配置,比你想象的简单。

安全提醒
#

  • 穿透 = 暴露:穿出去的服务等于暴露在公网上,弱密码就是送人头,务必设强密码。
  • 最小暴露:只穿透需要的端口,别把整个内网穿出去。
  • 日志:frps 的日志定期看看,有异常连接早发现。

全平台客户端配置可以看这篇教程,流媒体相关看解锁指南。

FRP 的 2024 年:穿透的未来
#

2024 年,FRP 的趋势:

  • 版本:2024 年,FRP 0.60+,配置格式变了(TOML),老用户注意迁移。
  • 替代:2024 年,组网工具(Tailscale)抢了 FRP 的一部分场景。但对外服务,FRP 还是首选。
  • 未来:2024 年,FRP 的定位清晰:对外服务用 FRP,对内组网用 Tailscale。分工明确,别用错。

2024 年,FRP 是"内网穿透"的代名词。2024 年 12 月,FRP 依然能打。对外服务用 FRP,对内组网用 Tailscale。记住:分工明确,工具选对,事半功倍。

一句话:2024 年学内网穿透,frp 是理解原理最好的教材,Tailscale 是解决问题的最快路径。先懂原理,再选工具。2024 年,FRP 和组网工具,各有分工,别用错。2024 年 12 月,内网穿透的格局清晰:对外 FRP,对内组网。记住这个分工,2024 年,穿透不再难。

2024 年 12 月:FRP 的配置技巧
#

2024 年,FRP 好用,但要配对:

  1. token:frps 和 frpc 的 token 要一致,2024 年,安全第一。
  2. 端口:别用默认 7000,换个冷门的,2024 年,扫描器多。
  3. 日志:开日志,异常早发现,2024 年,安全靠细节。
  4. 备份:配置文件备份,换机器直接导入,2024 年,别重复造轮子。

2024 年 12 月,FRP 配置不难,细节决定成败。记住:安全、备份、日志。