[教程] Ubuntu 安装配置 FRP 客户端实现内网穿透
在机器人开发(如 NVIDIA Jetson Orin/vim)或边缘计算场景中,我们经常需要远程连接到位于内网的设备。本文记录了在 Ubuntu ARM64 架构下安装 frp-client (v0.58.1+) 并配置 SSH 穿透的完整流程。
1. 环境确认
首先确认设备的 CPU 架构,以确保下载正确的安装包。
uname -m
# 输出 aarch64 代表是 ARM64 架构 (常见于 Jetson、树莓派)
# 输出 x86_64 代表是 AMD64 架构 (常见于普通 PC/服务器)本文以 NVIDIA Jetson (aarch64) 为例。
2. 下载与安装
前往 FRP GitHub Releases 获取最新版本。
# 1. 下载 ARM64 版本安装包 (以 v0.58.1 为例)
wget https://github.com/fatedier/frp/releases/download/v0.58.1/frp_0.65.1_linux_arm64.tar.gz
# 2. 解压
tar -zxvf frp_0.58.1_linux_arm64.tar.gz
# 3. 进入目录
cd frp_0.58.1_linux_arm64
# 4. 安装:将二进制文件移动到系统路径
sudo cp frpc /usr/bin/
sudo chmod +x /usr/bin/frpc
# 5. 准备配置目录
sudo mkdir -p /etc/frp3. 配置文件 (TOML 格式)
新版 FRP (v0.52.0+) 推荐使用 .toml 格式替代旧的 .ini。
创建并编辑配置文件:
sudo vim /etc/frp/frpc.toml配置内容模板:
请根据实际情况修改 serverAddr、token 和端口信息。
# ================= 基础配置 =================
# FRP 服务端公网 IP
serverAddr = "182.150.xx.xx"
# FRP 服务端监听端口 (默认7000,这里根据服务端配置修改)
serverPort = 8001
# ================= 鉴权配置 =================
auth.method = "token"
# 鉴权密钥 (必须与服务端 frps.toml 中的 token 一致)
auth.token = "这里填写你的复杂Token字符串"
# ================= 代理配置 =================
[[proxies]]
# 代理名称 (必须唯一,建议包含设备名)
name = "ssh-orin-dev"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
# 远程访问端口 (即之后 SSH 连接时使用的端口)
remotePort = 8003注意:保存后,可以使用
./frpc -c /etc/frp/frpc.toml临时运行测试,如果显示start proxy success则说明配置无误。
4. 设置开机自启 (Systemd)
为了让 frpc 在后台稳定运行并随系统启动,我们需要创建一个 systemd 服务。
创建服务文件:
sudo vim /etc/systemd/system/frpc.service写入以下内容:
[Unit]
Description=Frp Client Service
Documentation=https://github.com/fatedier/frp
# 确保在网络就绪后启动
After=network.target syslog.target
Wants=network.target
[Service]
Type=simple:
# 启动命令 (注意路径要与第2步安装的位置一致)
ExecStart=/usr/bin/frpc -c /etc/frp/frpc.toml
Restart=on-failure
RestartSec=5s
[Install]
WantedBy=multi-user.target5. 启动服务
# 重载系统服务配置
sudo systemctl daemon-reload
# 启动 frpc
sudo systemctl start frpc
# 设置开机自启
sudo systemctl start frpc
# 查看运行状态
sudo systemctl status frpc如果状态显示绿色的 active (running),则安装完成。
6. 远程连接测试
现在,你可以通过公网 IP 和映射的端口(remotePort)来连接你的设备了:
# 端口对应配置文件中的 remotePort = 8003
ssh -p 8003 username@182.150.xx.xxTroubleshooting (常见问题)
连接超时:请检查云服务器(服务端)的防火墙/安全组,确保 serverPort (8001) 和 remotePort (8003) 均已放行。
Token 错误:确保客户端和服务端的
auth.token完全一致。
[教程] Ubuntu 安装配置 FRP 客户端实现内网穿透
https://fnidore.top/archives/jiao-cheng-ubuntu-arm64-jetson-an-zhuang-pei-zhi-frp-ke-hu-duan-shi-xian-nei-wang-chuan-tou