frp 内网穿透
frp 是一款高性能反向代理工具,可将位于 NAT 或防火墙后的本地服务安全暴露到公网,支持 TCP/UDP/HTTP/HTTPS 及 P2P 模式,配置灵活,社区活跃。
爱鲜报评分
0.0
0 人评分
11k
星数
是
中文
Go
主语言
是
活跃
153
贡献者
人工分析
EDITORIAL推荐理由
frp 是内网穿透领域事实上的标准工具,Go 编写、单二进制部署、配置简单,支持域名转发、P2P、加密压缩等丰富特性。项目拥有超十万 Star 和活跃的中文社区,文档完善,适合开发者快速搭建远程访问通道。
适用场景
- 远程访问家庭或公司内网的 SSH、RDP 服务
- 将本地开发中的 Web 服务临时暴露到公网供演示或调试
- 为 IoT 设备或边缘节点提供反向代理接入
- 跨 NAT 的 P2P 点对点连接
- 内网 DNS、Unix Socket 等特殊协议转发
优点
- 配置简单,单二进制文件即可运行服务端和客户端
- 支持 TCP/UDP/HTTP/HTTPS 多种协议及 P2P 模式
- 提供 Web 管理面板、Prometheus 监控和热重载
- 中文文档完善,社区活跃,问题容易解决
- 支持加密压缩、带宽限制、负载均衡等高级特性
缺点
- V2 版本仍在开发中,与 V1 不兼容,需关注版本选择
- 公网服务端需自行维护,存在一定安全配置门槛
- 部分高级功能(如插件、虚拟网络)文档相对简略
- 大规模部署时需额外考虑高可用和性能调优
上手难度
进阶
frp 是什么
frp 是一款用 Go 编写的快速反向代理工具,能够将位于 NAT 或防火墙后的本地服务器安全地暴露到互联网。它支持 TCP、UDP、HTTP、HTTPS 等协议,并可通过域名转发请求到内网服务,还提供 P2P 连接模式。
核心特性
- 多协议支持:TCP、UDP、HTTP、HTTPS,满足绝大多数内网穿透需求。
- P2P 模式:点对点直连,降低服务端带宽压力。
- 安全与认证:Token 认证、OIDC 认证、TLS 加密、压缩传输。
- 管理能力:服务端 Dashboard、客户端 Admin UI、Prometheus 监控。
- 高级功能:端口复用、带宽限制、负载均衡、健康检查、HTTP 头重写、真实 IP 获取等。
典型使用场景
通过 SSH 访问内网机器
在公网服务器上运行 frps,在内网机器上配置 frpc,即可通过公网 IP 和指定端口 SSH 到内网机器。
# frpc.ini 示例
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 6000
将内网 Web 服务暴露到公网
通过自定义域名将内网 HTTP 服务映射到公网,frp 会自动处理 Host 头。
[web]
type = http
local_port = 8080
custom_domains = example.com
其他场景
- 转发 DNS 查询请求
- 转发 Unix Domain Socket
- 暴露简单的 HTTP 文件服务器
- 为本地 HTTP(S) 服务启用 HTTPS
- 私有化暴露服务(P2P 模式)
部署与配置
frp 由服务端 frps 和客户端 frpc 组成,均以单二进制文件分发。配置文件支持 INI 格式,也可使用环境变量或拆分多个文件。服务端和客户端均提供 Web 管理界面,方便查看状态和动态管理代理。
注意事项
- 项目正在开发 V2 版本,但 V2 与 V1 不兼容,目前建议使用稳定版 V1。
- 公网服务端需做好安全加固,如启用 Token 认证、限制端口范围等。
- 部分高级插件功能需要额外部署和管理独立进程。
评论
- 暂无评论,来写第一条吧。