Linux 下 FRP 客户端安装与配置教程(AMD64)

本教程指导您在 Linux 系统(AMD64 架构)上安装并配置 FRP(Fast Reverse Proxy)客户端(frpc),包括从 GitHub 下载最新版本、设置自定义目录、配置 frpc.toml 文件以及实现开机自启动。

小暑

步骤 1:确认 Linux 版本与架构

检查您的 Linux 发行版和系统架构,确保与 AMD64 兼容。

uname -m
cat /etc/os-release

确认架构为 x86_64(即 AMD64)。本教程以 AMD64 系统为例。

步骤 2:从 GitHub 下载最新版 FRP

访问 FRP GitHub 发布页面,找到适用于 linux_amd64 的最新版本。例如,假设最新版本为 0.63.0,执行以下命令:

cd /tmp
wget https://github.com/fatedier/frp/releases/download/v0.63.0/frp_0.63.0_linux_amd64.tar.gz

注意:请根据实际最新版本替换 0.63.0

步骤 3:创建目录并解压文件

/opt 下创建 frpc 目录,并将下载的压缩包解压到该目录。

sudo mkdir -p /opt/frpc
sudo tar -zxvf frp_0.63.0_linux_amd64.tar.gz -C /opt/frpc --strip-components=1

--strip-components=1 参数会移除压缩包中的顶层目录(例如 frp_0.63.0_linux_amd64)。

步骤 4:删除服务端相关文件

删除服务端相关的二进制文件(frps)和配置文件(frps.tomlfrps_full.toml),因为客户端无需这些文件。

sudo rm /opt/frpc/frps /opt/frpc/frps.toml /opt/frpc/frps_full.toml

步骤 5:编辑 frpc.toml 配置文件

编辑 frpc.toml 文件以配置 FRP 客户端。将 x.x.x.x 替换为您的 FRP 服务端公网 IP 地址,YOUR_SECRET_TOKEN 替换为服务端 frps.toml 中设置的令牌。

sudo vim /opt/frpc/frpc.toml

示例 frpc.toml 配置(用于暴露 SSH 服务):

[common]
serverAddr = "x.x.x.x"
serverPort = 7000
auth.method = "token"
auth.token = "YOUR_SECRET_TOKEN"

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 6000

编辑完成后,按 :wq 并回车保存退出 vim。

步骤 6:设置 systemd 服务实现开机自启动

创建 systemd 服务文件,确保 frpc 在系统启动时自动运行,并等待网络配置完成以避免错误。

sudo tee /etc/systemd/system/frpc.service > /dev/null <

After=network-online.target 和 Wants=network-online.target 确保服务在网络配置完成后启动,避免启动错误。

设置开机自启,请新建一个frpc的系统服务frpc.service

vim /etc/systemd/system/frpc.service

然后在 frpc.service 内填入:

[Unit]
Description=FRP Client Service  # 服务描述
After=network-online.target    # 等待网络完全启动后再启动(解决网络未加载导致的连接失败)
Wants=network-online.target     # 依赖网络服务,确保网络可用

[Service]
Type=simple                    # 简单服务类型(前台运行,systemd会监控进程)
ExecStart=/opt/frpc/frpc -c /opt/frpc/frpc.toml  # 启动命令(绝对路径,需匹配你的frpc和配置文件位置)
Restart=on-failure             # 服务失败(如网络断开)时自动重启
RestartSec=5s                  # 重启间隔5秒(避免频繁重启)
User=nobody                    # 以低权限用户运行(可选,提升安全性,需确保nobody对/opt/frpc/有读取权限)
WorkingDirectory=/opt/frpc/    # 工作目录(日志、临时文件会生成在此目录)

[Install]
WantedBy=multi-user.target     # 多用户模式下开机自启(符合大多数Linux系统的启动逻辑)

无注释版本:

[Unit]
Description=FRP Client Service
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/opt/frpc/frpc -c /opt/frpc/frpc.toml
Restart=on-failure
RestartSec=5s
User=nobody
WorkingDirectory=/opt/frpc/

[Install]
WantedBy=multi-user.target

步骤 7:FRP 客户端命令

systemctl enable frpc       #开启开机自启动frpc服务
systemctl disable frpc      #关闭开机自启动frpc服务
systemctl start frpc        #启动frpc服务
systemctl stop frpc         #停止frpc服务

检查服务运行状态:

systemctl status frpc

总结

您已成功在 Linux 系统(AMD64 架构)的自定义目录(/opt/frpc)中安装并配置了 FRP 客户端(frpc)。客户端已设置为开机自启动,并确保在网络配置完成后启动,运行稳定可靠。

如需更高级的配置,请参考FRP GitHub 仓库。