背景简介
本地作为一个测试用服务器,通过云端一个拥有公网IP的服务器进行内网穿透,供外网访问。
环境配置
- 系统:6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux
- FRP: 0.56.0
详细步骤
下载安装包
下载指令:wget -c (启用断点续传)
wget -c https://github.com/fatedier/frp/releases/download/v0.56.0/frp_0.56.0_linux_amd64.tar.gz
解压:tar -xvzf
tar -C frp/ -xvzf frp_0.56.0_linux_amd64.tar.gz
移动至目标路劲:mv frps* /server/frps/ (假设目标路径为/server/frps)
mv frp/frp_0.56.0_linux_amd64/frps* /server/frps/
使用 systemd 模式管理服务
创建 frps.service 文件:vim
vim /etc/systemd/system/frps.service
写入内容
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /server/frps/frps -c /server/frps/frps.toml
[Install]
WantedBy = multi-user.target
激活服务:systemctl enable
systemctl enable frps
配置 frp 服务端 - frps
更新配置文件:vim /server/frps/frps.toml
配置服务端绑定端口
# 服务端口
bindPort = 7000
# 服务鉴权
auth.method = "token"
auth.token = "your_token"
# log settings
log.to = "/server/frps/log/frps.log"
log.level = "info"
log.maxDays = 14
# web dashbard configuration
webServer.addr = "127.0.0.1"
webServer.port = 7001
webServer.user = "frps_user"
webServer.password = "frps_password"
bindPort
: 服务端监听的端口号auth.method
: 鉴权方式,这里使用“token”方式进行鉴权。auth.token
: 鉴权使用的token,需要替换为你的实际token。log.to
: 日志文件的存储路径,这里设置为服务器上的/server/frps/log/frps.log。log.level
: 日志级别,这里设置为“info”,表示记录信息级别的日志。log.maxDays
: 日志文件保留的最大天数,这里设置为14天。webServer.addr
: Web服务监听的地址,这里设置为本地地址127.0.0.1。webServer.port
: Web服务监听的端口号,这里设置为7001。webServer.user
: 访问Web服务的用户名,这里设置为frps_user。webServer.password
: 访问Web服务的密码,这里设置为frps_password。
重启 frps 服务使配置生效
systemctl restart frps
查看状态
root@frp-server:~# systemctl status frps
● frps.service - frp server
Loaded: loaded (/etc/systemd/system/frps.service; enabled; preset: enabled)
Active: active (running) since Fri 2024-03-29 16:58:12 CST; 10 months 24 days ago
Main PID: 5384 (frps)
Tasks: 7 (limit: 2025)
Memory: 230.5M
CPU: 5d 7h 28min 34.845s
CGroup: /system.slice/frps.service
└─5384 /server/frps/frps -c /server/frps/frps.toml
Mar 29 16:58:12 frp-server systemd[1]: Started frps.service - frp server.
配置 frp客户端 - frpc
下载方式同上,将客户端配置移动到自己需要的目录,例如
myserver@docker-main-server:~$ mv frp/frp_0.56.0_linux_amd64/frpc* /server/frpc/
基于frps的配置,更新 frpc.toml
myserver@docker-main-server:~$ sudo nano /server/frpc/frpc.toml
myserver@docker-main-server:~$ cat /server/frpc/frpc.toml
serverAddr = "your_address"
serverPort = 7000
# 服务鉴权
auth.method = "token"
auth.token = "your_token"
# log settings
log.to = "/server/frpc/log/frpc.log"
log.level = "info"
log.maxDays = 14
[[proxies]]
name = "server_ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 20333
配置 frpc service,新建配置文件 /etc/systemd/system/frpc.service
myserver@docker-main-server:~$ sudo nano /etc/systemd/system/frpc.service
myserver@docker-main-server:~$ cat /etc/systemd/system/frpc.service
[Unit]
# 服务名称,可自定义
Description = frp client
After = network.target syslog.target
Wants = network.target
[Service]
Restart=always
RestartSec=30
StartLimitInterval=0
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /server/frpc/frpc -c /server/frpc/frpc.toml
[Install]
WantedBy = multi-user.target
启动 frpc 服务
myserver@docker-main-server:~$ sudo systemctl enable frpc --now
查看 frpc 服务
myserver@docker-main-server:~$ sudo systemctl status frpc
● frpc.service - frp client
Loaded: loaded (/etc/systemd/system/frpc.service; enabled; preset: enabled)
Active: active (running) since Tue 2025-02-11 10:20:47 HKT; 1 week 3 days ago
Main PID: 87615 (frpc)
Tasks: 6 (limit: 2307)
Memory: 14.8M
CPU: 2min 44.789s
CGroup: /system.slice/frpc.service
└─87615 /server/frpc/frpc -c /server/frpc/frpc.toml
Feb 11 10:20:47 docker-main-server systemd[1]: Started frpc.service - frp client.
以上便是本文的全部内容,感谢您的阅读。