首先是Frp的文档地址↗,尽管写的很简陋,但总比没有强。此外还参考了另一份教程:Frp 0.52及以上版本的全系统保姆级教程。
首先要注意的是因为Frp
会向外链接,很符合病毒定义,所以百分百报毒,加入白名单即可。
其次是Frp
只有打包好的二进制文件,没有安装包,注意权限。
编写配置时Frp
版本为0.59。
该配置用于穿透公网服务器80、443端口至本地服务器,暴露本地已配置的私有服务。
本地服务器已经配置HTTPS。
建议使用systemd
管理Frps
、frpc
,以Frps
配置为例。
[Unit]
# 服务名称,可自定义。
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
User = root
# 启动frps的命令,需修改为您的frps的安装路径。
ExecStart = /path/to/frps -c /path/to/frps.toml
[Install]
WantedBy = multi-user.target
对于客户端,为防止其掉线,可加入以下内容。
[Service]
#强制无限制重启
Restart=always
#规定重启间隔,时间单位为秒。
RestartSec=60
Frp
服务端配置如下。
#服务监听端口
bindPort = 7000
#鉴权方法
auth.method = "token"
#鉴权密匙
auth.token = "token"
注意字符串必须包在双引号内。
Frp
客户端配置如下。
#远程服务器地址
serverAddr = "127.0.0.1"
#远程服务端口
serverPort = 7000
auth.method = "token"
auth.token = "token"
[[proxies]]
name = "http"
type = "tcp"
localIP = "127.0.0.1"
localPort = 80
remotePort = 80
[[proxies]]
name = "https"
type = "tcp"
localIP = "127.0.0.1"
localPort = 443
remotePort = 443
客户端多个配置无需写结尾即可隔开,其中名称是唯一的。
注意,该配置中的80、443为特权端口,需要配置systemd
用户为root用户才能占用。
最后,不要忘了:
sudo systemctl enable frps.service
sudo systemctl enable frpc.service