从0.52版本开始支持 TOML、YAML 和 JSON 进行配置。请注意,INI 已弃用,并将在未来版本中删除。
项目地址:https://github.com/fatedier/frp
服务器UBUNTU 22.04,使用root权限(sudo -i)
1. Golang(Go)一键安装,安装/更新最新版Golang
source <(curl -L https://go-install.netlify.app/install.sh)
2. 查看安装的go版本
go version
3. 下载frp到/root/文件夹下,本文以搭建v0.57.0为例,若后期有新版出现,请将下列代码中所有的版本号更改至最新版的版本号
wget https://github.com/fatedier/frp/releases/download/v0.57.0/frp_0.57.0_linux_amd64.tar.gz
4. 解压并将文件夹改名为frp,解压到/root/frp/文件夹下
tar -zxvf frp_0.57.0_linux_amd64.tar.gz
mv frp_0.57.0_linux_amd64 frp
5. 进入/root/frp目录
cd frp
6. (可选)删除frpc和frpc.toml,此两个文件为客户端上需要的配置文件,服务端上用不上,防止碍眼,个人喜欢删除,当然你也可以不删除,留着也无妨
rm -rf frpc*
7. 编辑frps.toml文件,这里使用vim命令
vim frps.toml
8. 复制下面的模板并按照自己的要求更改
bindPort = 7000 #{必选} 客户端与该端口建立连接
log.to = "console" #{可选} 日志配置, 通过打印的方式输出日志
vhostHTTPPort = 7002 #{可选} http代理需要,当访问该端口时跳到对应本地frpc代理
vhostHTTPSPort = 7003 #{可选} https代理需要,当访问该端口时跳到对应本地frpc代理
transport.tcpMux = true #tcp流多路复用(优化传输,客户端与服务端同时配置才有效)
#身份验证
auth.method = "token" #{可选}穿透身份验证方式
auth.token = "1234567890abcdefgABCD" #token设置密码,用于通过穿透身份验证创建连接,请务必修改引号中的内容,引号不得删除
#frp服务仪表板配置
webServer.port = 7001 #{自行修改端口}
webServer.addr = "0.0.0.0" #公网ip或者0.0.0.0或者域名
webServer.user = "admin" #登录用户名{自行修改引号中的内容,引号不得删除}
webServer.password = "admin" #登录密码{自行修改引号中的内容,引号不得删除}
9. 授予/root/frp/frps执行权限
chmod +x /root/frp/frps
10. 如果您的 Linux 服务器上尚未安装 systemd,请使用下面的命令来安装,若已安装,请跳过
apt install systemd
11. 创建一个新的systemd服务文件,这个文件通常位于/etc/systemd/system/目录,这里创建一个名为frps.service的文件
vim /etc/systemd/system/frps.service
输入以下内容,并保存退出
[Unit]
Description=FRP Server
[Service]
Type=simple
ExecStart=/root/frp/frps -c /root/frp/frps.toml
[Install]
WantedBy=multi-user.target
在创建或修改systemd服务文件后,需要重新加载systemd配置,以确保系统正确地识别和处理新地或更新地服务文件,请输入以下命令
systemctl daemon-reload
12. 启用frps服务
systemctl start frps
13. 设置frps服务开机自动启动
systemctl enable frps
14. 查看frps服务状态,若出现报错,请检查以上步骤和配置参数是否正确
systemctl status frps
15. 若需要,下面指令为重启frps服务
systemctl restart frps
16. 若需要,下面指令为停止frps服务
systemctl stop frps
至于客户端搭建,请自行在NAS系统里的DOCKER或OPENWRT里下载现成的frpc进行,这里不予赘述,需要技术支持,请下方留言,谢谢!