找回密码
 立即注册
首页 业界区 安全 Linux服务器部署FRP及配置Token

Linux服务器部署FRP及配置Token

呼延冰枫 前天 00:07
相关软件

fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
Release v0.64.0 · fatedier/frp
koho/frpmgr: A user-friendly desktop GUI client for FRP on Windows.
Release v1.24.0 · koho/frpmgr
Linux服务器配置frps

准备压缩包

在Release v0.64.0 · fatedier/frp中找到linux版本的压缩包,下载并上传至服务器上。
1.png

或者直接在服务器上下载:
  1. wget -c https://github.com/fatedier/frp/releases/download/v0.64.0/frp_0.64.0_linux_amd64.tar.gz
复制代码
然后解压:
  1. tar -zxvf frp_0.64.0_linux_amd64.tar.gz
复制代码
会产生一个名为frp_0.64.0_linux_amd64的文件夹。
接下来为了方便操作,将文件夹重命名为frp:
  1. mv frp_0.64.0_linux_amd64 frp
  2. cd frp
复制代码
修改frps配置

在frp文件夹中,需要利用到两个文件:服务端frps和服务端配置frps.toml。
  1. nano frps.toml
复制代码
这里展示一份简单的模板:
  1. bindPort = 1xxxx # 监听端口
  2. auth.method = "token" # 验证方式
  3. auth.token = "xxxxxxxx" # 填写token
  4. transport.tls.force = false # 是否强制tls
复制代码
将其粘贴并修改,Ctrl+X保存。
配置systemctl自启动

安全存放frps与frps.toml
  1. cp frps /usr/bin
  2. mkdir /etc/frp
  3. cp frps.toml /etc/frp
复制代码
设置自启动配置文件
  1. nano /etc/systemd/system/frps.service
复制代码
写入如下内容
  1. [Unit]
  2. Description=My Frp Client Service - %i
  3. After=network.target syslog.target
  4. Wants=network.target
  5. [Service]
  6. Type=simple
  7. Restart=on-failure
  8. RestartSec=2s
  9. ExecStart=/bin/bash -c 'frps -c /etc/frp/frps.toml'
  10. [Install]
  11. WantedBy=multi-user.target                        
复制代码
启动
  1. systemctl start frps
  2. systemctl enable frps
复制代码
其他相关的检测指令
  1. # 服务是否在跑
  2. systemctl is-active frps
  3. # 展示systemctl加载的service文件
  4. systemctl cat frps
  5. # 修改service后重新读取并重启frps
  6. systemctl daemon-reload
  7. systemctl restart frps
  8. # 详细状态(打印日志)
  9. systemctl --no-pager -l status frps
  10. # 本次启动以来的关键日志
  11. journalctl -u frps -b --no-pager -n 100
复制代码
其中,最后一条指令可能可以看到类似下面的内容:
  1. Sep 16 16:40:09 bash[2486553]: 2025-09-16 16:40:09.218 [I] [frps/root.go:108] frps uses config file: /etc/frp/frps.toml
  2. Sep 16 16:40:09 bash[2486553]: 2025-09-16 16:40:09.630 [I] [server/service.go:237] frps tcp listen on 0.0.0.0:1xxxx
  3. Sep 16 16:40:09 bash[2486553]: 2025-09-16 16:40:09.631 [I] [frps/root.go:117] frps started successfully
  4. Sep 16 16:40:10 bash[2486553]: 2025-09-16 16:40:10.147 [I] [server/service.go:582] [a7347aa17447b173] client login info: ip [183.247.9.41:9962] version [0.64.0] hostname [] os [windows] arch [amd64]
复制代码
至此,frps配置完毕。
Windows安装FRP管理器

虽然固然本地可以使用windows版的frpc启动frp,但是如果有多个端口需要映射到多台服务器上,并还需要稳定运行、断线重连,那么就需要一个稳定的frp管理器了。
安装frpmgr

本文以Release v1.24.0 · koho/frpmgr为例:
2.png

frpmgr在安装好了之后会随着系统启动而启动,并且没有托盘图标。如果要修改配置,可启动FRP 管理器进行修改。
配置frpmgr

点击左下角的新建配置:
3.png

在基本中填入服务器的名称、服务器的ip地址、服务器监听的端口:
4.png

其中,服务器监听端口就是之前在frps.toml里面填的bindPort。
在认证中选择Token并填入令牌:
5.png

其中,令牌是之前在frps.toml中填写的auth.token。
添加连接

点击添加:
6.png

填写新建代理的名称、本地端口、远程端口:
7.png

点击确定,看到这条连接前面的勾变为绿色,说明代理建立成功。
8.png

通常,类型选择tcp足够用了。
特别地,对于rdp,如果想尝试一下走udp传输数据,可以试试在添加3389端口tcp的代理后,同理添加一条3389端口udp协议的代理。
浅浅测试下,走udp有可能可以降低延迟,但是貌似会导致画面传输的稳定性变差……?感兴趣的朋友可以试一试。
参考文献

公网访问内网中Wsl2服务器(借助frp)_公网访问wsl2服务-CSDN博客
讲述了如何配置frp服务器及systemctl配置(service脚本在其基础上修改),但基于v0.45.0版本,采用.ini配置文件,未配置token,不够安全。
Frp 0.52及以上版本的全系统保姆级教程(包含frps和frpc的搭建与使用) | Mint's Blog
基于v0.52.0版本的frp配置,采用.toml配置文件,但部分配置参数有所变动。
frp同时转发远程桌面的 TCP 和 UDP 端口 - 知乎
提到了使用rdp时使用udp会让移动操作更跟手,评论区有人提出直接添加一条3389的udp即可。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册