frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
frp 主要由 客户端(frpc) 和 服务端(frps) 组成,服务端通常部署在具有公网 IP 的机器上,客户端通常部署在需要穿透的内网服务所在的机器上。它们的概念具体可查看官方文档:https://gofrp.org/docs/concepts/
服务端(部署于有公网IP的服务器)
购买腾讯轻量云服务器后,安装宝塔Linux面板 7.5.2 腾讯云专享版系统
根据提示获取登录账号:
进入面板后,创建frp的目录,进入Github 的 Release 页面中根据你的系统下载到最新版本的客户端和服务端文件并且解压
编辑frps.ini文件,添加以下一行内容启用HTTP 类型的代理
vhost_http_port = 7080
在软件商店中安装堡塔应用管理器:
添加应用并启动
在宝塔面板后台和腾讯云后台分别放行相关服务端口:
然后还需要进行客户端的部署,才能实现内网穿透
客户端(部署于内网服务器)
在内网的服务器中,同样安装好宝塔面板,创建frp的目录,进入Github 的 Release 页面中根据你的系统下载到最新版本的客户端和服务端文件并且解压,安装好堡塔应用管理器(上文已提及)。
下面分别以穿透本地SSH服务、本地web网站、宝塔面板程序来演示
- 本地SSH服务
编辑frp目录下的frpc.ini文件,添加如下内容
[common]
server_addr = 替换为frps服务器IP
server_port = 7000
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 7022
本地web网站
[common]
server_addr = 替换为frps服务器IP
server_port = 7000
[web]
type = http
local_port = 80
custom_domains = 替换为你的域名
宝塔面板程序
[common]
server_addr = 替换为frps服务器IP
server_port = 7000
[panel]
type = http
local_port = 8888
custom_domains = 替换为你的域名
然后进入堡塔应用管理器,设置进程守护:
映射成功