1. 自建 FRP 服务前提
有公网 IP 的 VPS 一枚
VPS 防火墙开 TCP 端口
2. 搭建 FRP 服务端
下载和运行服务端
Github 下载对应系统和 CPU 架构的服务端:https://github.com/fatedier/frp/releases/tag/v0.65.0
比如我的 VPS 是 Ubuntu server amd64,就下载 frp_0.65.0_linux_amd64.tar.gz
目前最新版本是 0.65
压缩包里是自带服务端和客户端的,里面的 frps
和 frps.toml
是服务端需要的文件。frps
是执行文件,frps.toml
是配置文件,自定义配置文件后上传这两个文件到 VPS 服务器,使用下面的命令启动 FRP 服务
sudo ./frps -c ./frps.toml
服务端配置文件参考
# frps.toml
# ip默认
bindAddr = "0.0.0.0"
bindPort = 7000
# kcp 绑定的是 UDP 端口,可以和 bindPort 一样
kcpBindPort = 7000
# 默认为 127.0.0.1,如果需要公网访问,需要修改为 0.0.0.0。
webServer.addr = "0.0.0.0"
webServer.port = 7500
# dashboard 用户名密码,可选,默认为空
webServer.user = "admin"
webServer.password = "admin"
log.to = "./frps.log"
log.level = "info"
log.maxDays = 3
auth.method = "token"
auth.token = "token"
allowPorts = [
{ start = 6000, end = 7000 },
]
服务端自启动设置
新建 frps.service
sudo vi /etc/systemd/system/frps.service
配置文件内容
#frps.service
[Unit]
Description = frp server
After = network.target syslog.target
Wants = network.target
[Service]
Type = simple
# 修改服务执行文件地址和配置文件
ExecStart = /path to frps -c /path to frps.toml
ExecStop = /bin/kill $MAINPID
Restart = always
RestartSec = 5
[Install]
WantedBy = multi-user.target
刷新服务
sudo systemctl daemon-reload
启用服务
sudo systemctl start frps
查看服务
sudo systemctl status frps
查看服务web端: http://服务器 IP :7500
3. 客户端安装
客户端下载
假设本地是 Windows 系统,则需要下载这个压缩包 frp_0.65.0_windows_amd64.zip
取里面的 frpc
和 frpc.toml
文件,根据服务端的信息修改本地配置文件 frpc.toml
,然后通过终端使用以下命令连接 FRP 服务端:
sudo ./frpc -c ./frpc.toml
没有其他意外,则外网可以访问本地的 Windows 机器了。
客户端配置文件参考
#frpc.toml
serverAddr = "服务端IP地址"
serverPort = 7000
loginFailExit = true
#对应服务端密码
auth.method = "token"
auth.token = "token"
[[proxies]]
name = "Hugo"
type = "tcp"
localIP = "127.0.0.1"
localPort = 1313
remotePort = 6100
[[proxies]]
name = "app2"
type = "tcp"
localIP = "127.0.0.1"
localPort = 81
remotePort = 6081
项目地址:https://github.com/fatedier/frp
项目文档:https://github.com/fatedier/frp/blob/dev/README_zh.md https://gofrp.org