实验环境

1.公网服务器(Debian12.5.0)

2.内网设备(群晖)

配置公网服务器

首先,执行 uname -a 命令来查看系统的架构,并根据系统架构下载相应的 Releases 包。

uname -a

下载 Frp 至本地:

wget https://mirror.ghproxy.com/https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz
tar -xzvf frp_0.54.0_linux_amd64.tar.gz
cd frp_0.54.0_linux_amd64
./frps -h

如果输入帮助命令后能够出现相关的帮助信息,则说明下载的包没有问题;否则,说明下载的包与系统架构不对应。

修改配置文件 frps.toml,示例如下:

bindPort = 7000 # {必选} 客户端端口
log.to = “console” # {可选} 日志配置
vhostHTTPPort = 7100 # {可选} HTTP代理需要,当访问该端口时跳到对应本地frpc代理
vhostHTTPSPort = 7200 # {可选} HTTPS代理需要,当访问该端口时跳到对应本地frpc代理
transport.tcpMux = true # TCP流多路复用(优化传输,需一致)

身份验证

auth.method = “token” # {可选} 身份验证方式
auth.token = “password” # token设置密码,用于通过身份验证创建连接

Frp服务仪表板配置

webServer.port = 7300 # {也可自行修改端口}
webServer.addr = “0.0.0.0” # 公网IP或者域名
webServer.user = “admin” # 登录用户名{可自行修改}
webServer.password = “admin” # 登录密码{可自行修改}

启动服务端:

./frps -c frps.toml

配置客户端

同样地,修改 frpc.toml 文件:

serverAddr = “1.2.3.4” # [必选] 服务器IP地址/域名
serverPort = 7000 # [必选] 要连接的Frp服务器端口
auth.token = “password” # 与服务端校验的令牌(需一致)
transport.tcpMux = true # TCP流多路复用(优化传输,需一致)

示例

[[proxies]]name = “web” # 代理名称(随便填)
type = “tcp” # 代理类型
localIP = “192.168.0.105” # 代理地址,要转发到哪个地址
localPort = 5500 # 代理端口,要转发到哪个端口
remotePort = 7001 # 远程端口(和远程Frp服务器哪个

图片[5]-Frp最新版本使用指南:简易配置与高效运用-山海云端论坛

启动客户端:

./frpc -c frpc.toml

开机启动Debian使用systemctl

nano frps.service 

输入以下代码:

[Unit] 
Description=Frps 
After=network.target  
[Service] 
ExecStart=/usr/local/frps/frps -c /usr/local/frps/frps.toml
Type=simple  
[Install] 
WantedBy=default.target

输入以下命令:

mv frps.service /etc/systemd/system/frps.service
systemctl enable frps.service