1.准备
首先你需要一个服务器,我的是腾讯云主机。
这里使用CentOS。
然后设置域名(用在内网穿透)指向你的 服务器IP。
我的是使用了一个二级域名和多个三级域名,即 frp.xxx.com和 *.frp.xxx.com都使用A记录指向腾讯云主机IP地址。
2.开始安装
先去GitHub看看最新版本:https://github.com/fatedier/frp/releases
当前教程使用版本为:v0.36.2。
# 下载frp可执行包
wget https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz
# 解压
tar zxf frp_0.36.2_linux_amd64.tar.gz
# 进入文件
cd frp_0.36.2_linux_amd64/
# 修改配置
vi frps.ini
# 内容如下:
[common]
server_addr=0.0.0.0
bind_port = 7000
kcp_bind_port = 7000
# dashboard图形管理页面
dashboard_port = 81
# http和https
vhost_http_port = 88
vhost_https_port = 8443
# 连接认证token
token = 123456789
max_pool_count = 50
tcp_mux = true
# 子域名
subdomain_host = frp.xxx.com
# 自定义404 页面,要用绝对路径哦!
custom_404_page = /frp/404.html
dashboard_user = admin
dashboard_pwd = 123456
# ---设置完成----
# 启动
./frps -c frps.ini
这里有2个重点:
- 7000这个端口既需要TCP协议,也需要UDP协议
- 88这个端口,不能和宝塔面板冲突才这样,可是你要的是80端口,原理举例说,你在宝塔面板新增网站xxx.frp.xxx.com,给网站反向代理,指向了http://127.0.0.1:88,然后这个88是frp在监听,监听到以后,就要转给frp的客户端,而有个客户端启动时配置了自己是xxx.frp.xxx.com的目的地。
3.设置frps服务自启动
创建后台启动模版
vi /etc/systemd/system/frps.service
内容如下:
# 创建后台启动模版
vi /etc/systemd/system/frps.service
# 内容如下:
[Unit]
Description=frps
After=network.target
[Service]
ExecStart=/root/frp_0.36.2_linux_amd64/frps -c /root/frp_0.36.2_linux_amd64/frps.ini
[Install]
WantedBy=multi-user.target
启动测试
systemctl start frps.service
查看启动状态
systemctl status frps.service
开机自启
systemctl enable frps.service
4.腾讯云及宝塔开放端口
7000 udp tcp
81 tcp
88 tcp
8443 tcp
5.在宝塔新建网站及设置反向代理
6.根据需要使用frp客户端
这里使用的是路由器自带的frp客户端转发