相关软件
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版本的压缩包,下载并上传至服务器上。
或者直接在服务器上下载:
wget -c https://github.com/fatedier/frp/releases/download/v0.64.0/frp_0.64.0_linux_amd64.tar.gz
然后解压:
tar -zxvf frp_0.64.0_linux_amd64.tar.gz
会产生一个名为frp_0.64.0_linux_amd64
的文件夹。
接下来为了方便操作,将文件夹重命名为frp
:
mv frp_0.64.0_linux_amd64 frp
cd frp
修改frps配置
在frp文件夹中,需要利用到两个文件:服务端frps
和服务端配置frps.toml
。
nano frps.toml
这里展示一份简单的模板:
bindPort = 1xxxx # 监听端口
auth.method = "token" # 验证方式
auth.token = "xxxxxxxx" # 填写token
transport.tls.force = false # 是否强制tls
将其粘贴并修改,Ctrl+X
保存。
配置systemctl自启动
安全存放frps
与frps.toml
cp frps /usr/bin
mkdir /etc/frp
cp frps.toml /etc/frp
设置自启动配置文件
nano /etc/systemd/system/frps.service
写入如下内容
[Unit]
Description=My Frp Client Service - %i
After=network.target syslog.target
Wants=network.target[Service]
Type=simple
Restart=on-failure
RestartSec=2s
ExecStart=/bin/bash -c 'frps -c /etc/frp/frps.toml'[Install]
WantedBy=multi-user.target
启动
systemctl start frps
systemctl enable frps
其他相关的检测指令
# 服务是否在跑
systemctl is-active frps# 展示systemctl加载的service文件
systemctl cat frps# 修改service后重新读取并重启frps
systemctl daemon-reload
systemctl restart frps# 详细状态(打印日志)
systemctl --no-pager -l status frps# 本次启动以来的关键日志
journalctl -u frps -b --no-pager -n 100
其中,最后一条指令可能可以看到类似下面的内容:
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
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
Sep 16 16:40:09 bash[2486553]: 2025-09-16 16:40:09.631 [I] [frps/root.go:117] frps started successfully
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为例:
frpmgr在安装好了之后会随着系统启动而启动,并且没有托盘图标。如果要修改配置,可启动FRP 管理器
进行修改。
配置frpmgr
点击左下角的新建配置
:
在基本
中填入服务器的名称
、服务器的ip地址
、服务器监听的端口
:
其中,服务器监听端口就是之前在frps.toml
里面填的bindPort
。
在认证
中选择Token
并填入令牌
:
其中,令牌
是之前在frps.toml
中填写的auth.token
。
添加连接
点击添加
:
填写新建代理
的名称
、本地端口
、远程端口
:
点击确定,看到这条连接前面的勾变为绿色,说明代理建立成功。
通常,类型选择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即可。