扔掉TeamViewer!这款开源神器,竟让内网穿透变得如此简单?

FRP(Fast Reverse Proxy)是一款开源的内网穿透工具,用于将局域网内的服务安全地暴露到公网,解决无公网IP或NAT限制导致的访问难题。

什么是 frp

frp 是一款高性能的反向代理应用,专注于内网穿透。它支持多种协议,包括 TCP、UDP、HTTP、HTTPS 等,并且具备 P2P 通信功能。使用 frp,您可以安全、便捷地将内网服务暴露到公网,通过拥有公网 IP 的节点进行中转。

frp 采用 C/S 模式,将服务端部署在具有公网 IP 的机器上,客户端部署在内网或防火墙的机器上,通过访问暴露在服务器上的端口,反向代理处于内网的服务。

核心功能

  • 多种协议支持:客户端服务端通信支持 TCP、QUIC 和 Websocket 等多种协议
  • TCP 连接流式复用:在单个连接上承载多个请求,减少连接建立时间,降低请求延迟
  • 代理组间的负载均衡
  • 端口复用:多个服务可以在同一服务端端口暴露
  • P2P 通信:流量不经过服务器中转,充分利用带宽资源

安装部署

您可以从 Github 的 Release 页面下载最新版本的客户端与服务器二进制文件。

解压 frp

tar -zxvf frp_0.36.2_linux_amd64.tar.gz 

将 frpc 复制到内网服务所在的机器上,将 frps 复制到拥有公网的 IP 地址机器上,并将他们放在任意目录。

  • 服务端配置:
[common] 
bind_port = 7000 
# frp可视化面板访问端口 
dashboard_port = 7500 
dashboard_user = 登录用户名 
dashboard_pwd = 登录用户密码 
vhost_http_port = 8088 
  • 客户端配置
[common] 
server_addr = 101.x.x.x 
server_port = 7000  


[web] 
type = http 
local_port = 8088 
custom_domains = 101.x.x.x 

启动服务器:

./frps -c ./frps.toml 

启动客户端:

./frpc -c ./frpc.toml 

如果需要长期在后台运行,建议结合其他工具,如 systemd、supervisor。

总结

frp 的功能超级强大,远不止文中介绍的这个小功能这么简单。这里也尝试了通过内网穿透 3389 端口实现远程桌面服务(不要吐槽我为啥这么喜欢研究远程桌面哈),也是很好实现的。项目地址和官方文档放到下面啦,大家快去好好研究研究吧。

原文链接:,转发请注明来源!