内网穿透系列1:frp 丨开源
大家好,欢迎来到内网穿透工具系列的第一篇。今天咱们聊聊一个经典且强大的开源工具——FRP。
1. 项目地址
github.*******/frp

2. 它是什么?怎么工作的?
简单来说,FRP 是一个专注于内网穿透的反向代理工具。它的工作模式由两部分组成:
服务端 (frps):你需要将它部署在一台拥有公网IP的服务器上(比如你的阿里云)。它的任务就是守在外面,接收来自各处的连接。
客户端 (frpc):将它安装在你需要被访问的内网设备上(比如公司内网的开发机或者NAS)。它的任务是开门,去连接你部署好的公网服务端。

一旦连接建立,FRP就会在两者之间建立起一条通道。当外部用户想要访问你的内网服务时,他只需访问你的公网服务器IP和指定端口,frps就会自动将请求通过这条通道转发给内网的frpc,再由frpc交给最终的内网应用。整个过程对访客和内网应用都是透明的。
3. 它有什么优点
在众多工具中,FRP 之所以备受青睐,主要因为以下几点:
你需要自己准备公网服务器,这意味着数据转发路径完全由你掌控,无需依赖任何第三方中转服务,安全和隐私性更高。
无论是常见的 HTTP/HTTPS 网页服务,还是 TCP/UDP 的数据库、SSH、远程桌面等协议,它都能很好地支持。
支持负载均衡、TCP流复用等高级功能,可以满足从个人到小团队的各种复杂需求。
项目维护积极,社区庞大,遇到问题容易找到解决方案。

4. 怎么用?
下面我们以暴露一个内网Web服务为例,进行简单的配置。
第一步:下载与准备
在FRP的GitHub Release页面,根据你的服务器(Linux x86_64)和内网电脑(例如Windows)的操作系统,分别下载对应的frp压缩包。
第二步:配置文件
服务端配置 (frps.ini):放在你的公网服务器上。

客户端配置 (frpc.ini):放在你的内网电脑上。

第三步:运行
在公网服务器上运行:./frps -c ./frps.ini
在内网电脑上运行:./frpc -c ./frpc.ini
看到类似start proxy success的日志,恭喜你,通道建立了!
5. 验证一下
现在,让一位朋友(或者你自己用手机4G网络)打开浏览器,访问 http://你的公网服务器IP:6000。如果一切顺利,他就能看到你本地 8080 端口正在运行的网站了。

FRP还可以干很多事情,你可以用它来转发SSH实现远程办公,暴露RDP管理内网电脑,甚至通过插件实现点对点文件传输。当然自建来说是要费事一些的,购买服务器,平常需要自己维护,关键还是看需求去选择应用。
如果有任何有趣的用法或问题,欢迎留言交流。下期我们将探索其他穿透方案,下次见!
