Frp

下载

  1. 访问官方下载地址:https://github.com/fatedier/frp/releases
  2. 根据系统选择对应安装包(示例:Linux 服务器选 frp_0.65.0_linux_amd64.tar.gz

目录结构说明

解压后核心文件如下(多余文件可删除,仅保留以下核心文件):

文件名 作用 适用端
frps 服务器端主程序 服务器
frps.toml 服务器端配置文件(v0.50+) 服务器
frpc 客户端主程序 内网设备
frpc.toml 客户端配置文件(v0.50+) 内网设备
frps.ini 旧版服务器配置文件(可选) 服务器(兼容旧版)
frpc.ini 旧版客户端配置文件(可选) 客户端(兼容旧版)

服务器端(frps)配置

frps.toml
# 绑定监听地址(默认 `0.0.0.0` 代表监听所有 IP)
bindAddr = "0.0.0.0"
bindPort = 20001

# Web 控制台(Dashboard)配置
webServer.addr = "0.0.0.0"
webServer.port = 7500
webServer.user = "moxi"
webServer.password = "abc123"

#  认证方式(防止未经授权的客户端连接)
auth.method = "token"
auth.token = "aabbcc112233"

# 端口限制
allowPorts = [
  { start = 20000, end = 20010 }
]

启动服务器端

临时启动(测试用)

./frps -c ./frps.toml

后台启动(生产环境)

创建服务文件:

cat > /etc/systemd/system/frps.service <<EOF
[Unit]
# 服务名称,可自定义
Description = frp server
After = network.target syslog.target
Wants = network.target

[Service]
Type = simple
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /data/frp_0.65.0_linux_amd64/frps -c /data/frp_0.65.0_linux_amd64/frps.toml

[Install]
WantedBy = multi-user.target
EOF

启动并设置开机自启

# 重新加载系统服务
systemctl daemon-reload

# 启动frps
systemctl start frps

# 设置开机自启
systemctl enable frps

# 查看状态
systemctl status frps

客户端(frpc)配置

frpc.toml
# 服务端信息
serverAddr = "公网ip,服务端地址"
serverPort = 20001

# 连接协议
transport.protocol = "tcp"

# 认证方式
auth.method = "token"
auth.token = "aabbcc112233"

# 代理配置
[[proxies]]
name = "test_1"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 20002

[[proxies]]
name = "test_2"
type = "tcp"
localIP = "127.0.0.1"
localPort = 5001
remotePort = 20003

启动客户端

临时启动(测试使用)

./frpc -c ./frpc.toml

后台启动(正式使用)

创建服务文件

cat > /etc/systemd/system/frpc.service <<EOF
[Unit]
# 服务名称,可自定义
Description = frp clinet
After = network.target network-online.target
Wants = network-online.target

[Service]
Type = simple
User=root
Restart=always
RestartSec=5
# 启动frps的命令,需修改为您的frps的安装路径
ExecStart = /data/frp_0.65.0_linux_amd64/frpc -c /data/frp_0.65.0_linux_amd64/frpc.toml
ExecReload=/bin/kill -HUP \$MAINPID
KillMode=process
LimitNOFILE=1048576

[Install]
WantedBy = multi-user.target
EOF

启动并设置自启:

systemctl daemon-reload

systemctl start frpc

systemctl enable frpc

systemctl status frpc