自建内网穿透 FRP 服务

软件应用 浏览 14 评论 0

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
压缩包里是自带服务端和客户端的,里面的 frpsfrps.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 取里面的 frpcfrpc.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

0
分享

评论

还没有评论,快来抢沙发吧!