frp 在目前理解是一个提供端口转发的工具。不管是 windows 版本还是 linux 版本都同时提供了 frps 服务端与 frpc 客户端两个应用,分别对应 frps.toml 与 frpc.toml 两个配置文件。
下载地址
服务端
服务端需要有公网ip,接收请求转发到对应的客户端服务上。
启动 frps 后会在默认 7000 端口监听请求,当客户端启动 frpc 时会先连接服务端,连接成功后会注册端口 proxies 到服务端,可以在服务端的 dashboard 上查看(默认7500端口)。
这就是服务端的全部配置,具体的端口对应关系在客户端配置。
frpstoml_13">服务端配置 frps.toml
# 全部配置文档
# https://github.com/fatedier/frp/blob/dev/conf/frps_full_example.toml
[common]
# 监听端口
bind_port = 7000
# 面板端口
dashboard_port = 7500
# 登录面板的账号密码(修改成自己的)
dashboard_user = admin
dashboard_pwd = admin
# 与客户端认证的key,两端保持一致即可
token = 123456
# 允许客户端使用的端口,默认为全部放开
# allowPorts = [
# { start = 2000, end = 3000 },
# { single = 3001 },
# { single = 3003 },
# { start = 4000, end = 50000 }
# ]
启动命令
# 直接启动进行测试
./frps -c frps.toml
# 后台启动
./frps -c frps.toml > frps.log 2>&1 &
配置自启动
-
新建service文件
vim /etc/systemd/system/frps.service
-
添加配置
[Unit]
#服务描述
Description=frpc service
After=network.target syslog.target
Wants=network.target[Service]
Type=simple
#日志
StandardOutput=file:/data/frp/frps.log
StandardError=file:/data/frp/frps.log
#执行命令
ExecStart=/data/frp/frps -c /data/frp/frps.toml[Install]
WantedBy=multi-user.target
-
重载服务
systemctl daemon-reload
-
启动服务测试
systemctl start frps
-
查看服务状态
systemctl status frps
-
设置服务为自启动
systemctl enable frps
客户端
frpctoml_85">客户端配置 frpc.toml
# 全部配置文档,支持配置心跳,加密压缩等,文档提供了多种协议的配置样例
# https://github.com/fatedier/frp/blob/dev/conf/frpc_full_example.toml
# 服务端地址
serverAddr = "127.0.0.1"
# 服务端端口
serverPort = 7000
# 与服务端认证的key,两端保持一致即可
auth.token = "123456"# 代理配置
[[proxies]]
# 配置名称
name = "test-tcp"
# 类型
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000
如果使用云服务器作为服务端,记得放开云服务器 6000 端口安全策略。
启动客户端
打开 CMD 命令行,移动到文件路径,执行命令
frpc.exe -c frpc.toml
启动成功后,会看到日志
login to server success, get run id[xxxxxxx]
proxy added: [test-tcp]
start proxy success
配置客户端自启动
在 windows 平台,使用 nssm 工具进行服务注册,将 fprc.exe 注册成服务。工具下载地址
工具支持命令行的方式进行配置,也支持图形化的配置方式。
命令行方式
使用 CMD 命令行,执行以下命令,将文件目录替换为自己的目录。
nssm install frpc "D:\frp\frpc.exe" "-c D:\frp\frpc.toml"
nssm set frpc DisplayName "frp client"
nssm set frpc AppStdout "D:\frp\frpc.log"
nssm set frpc AppStderr "D:\frp\frpc.err.log"
nssm start frpc
图形化方式
图形化方式也很简单明了,选择应用,选择启动目录,添加配置,设置服务名称后 Install Service 即可。
查看效果
在任务管理器,服务一栏可以看到名称为 frpc 的服务。