[教程] Ubuntu 安装配置 FRP 客户端实现内网穿透
工具 内网穿透 frp ubuntu 1

在机器人开发(如 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/frp

3. 配置文件 (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.target

5. 启动服务

 # 重载系统服务配置
 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.xx

Troubleshooting (常见问题)

  • 连接超时:请检查云服务器(服务端)的防火墙/安全组,确保 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
作者
fnidore
发布于
更新于
许可