将你的 Jetson 变为全功能公网服务器------使用Cloudflare_Tunnel方式实现
前言:为什么要折腾这个?
你的 Jetson 不仅能跑 YOLO 做推理,它本质上就是一台拥有强大性能的 ARM 计算机。把它做成一台 24 小时运行的"小型边缘服务器"有无数的玩法:
- 个人网站/API 服务:托管你的项目主页或远程 API。
- 物联网中心 (MQTT Broker) :收集例如 ESP32、机器人等远程设备的实时数据。
- AI 监控:把 YOLO 识别出的报警信息推送到外网。
- 随时随地写代码:从公司随时连回设备调试 ROS2 脚本。
传统上,让家里的电脑具备"公网访问"功能,意味着你需要有一个危险的静态 IP,或者在路由器上开一个不安全的"洞"(端口转发)。
本教程采用目前最流行的安全方案------Cloudflare Tunnel 。它的逻辑是:Jetson 主动连外网,建立一个"秘密地下通道",外部黑客完全扫不到你家里的网络,既安全又免费,还自带 CDN 代理加速!
1. 第一阶段:硬件准备与安全
1.1 硬件清单与散热
服务器是需要长期运行的。对于新手来说,硬件的稳定性是第一位的。
- 存储: 强烈建议使用 NVMe SSD 替代 microSD 卡。服务器需要大量的读写操作(日志、数据库),microSD 卡极易损坏。
- 网络: 尽量使用 千兆网线。WiFi 虽然方便,但不稳定,作为服务器是不合格的。
- 散热: 服务器需要 24 小时开启。确保配置好风扇自动控制。
1.2 系统安全(关键防护)
在进行任何公网配置前,必须完成这一步!
- 修改默认密码: 绝对不要用
nvidia作为nvidia用户的密码。使用强密码。 - (高级)禁用密码 SSH,改用 SSH Key 登录。这是服务器最稳健的防线。
1.3 必备软资产:准备一个专属域名
Cloudflare Tunnel 的核心魔法,就是把你的内网服务绑定到一个公网网址上。因此,在开始折腾网络之前,你必须拥有一个属于自己的域名。
- 去哪里买 :国内推荐去 阿里云(万网) 或 腾讯云,国外推荐 Namecheap 或 Cloudflare 本身。
- 买什么样的 :作为个人测试服务器,不要去花大价钱买
.com。直接搜一些冷门后缀,比如.top、.site,或者国内常用的.cn,首年通常只要几块钱到十几块钱,非常划算。 - 注意 :如果你是在国内平台(如阿里云)购买的,购买后必须按照平台指引完成实名认证(通常上传身份证扫个脸,几个小时就通过了)。如果不实名,域名是无法进行后续 DNS 解析的。
2. 第二阶段:云端铺路(注册与 DNS 托管)
这一阶段在自己电脑浏览器里完成。我们将使用自己注册的域名。
2.1 注册 Cloudflare 并添加站点
- 注册并登录 Cloudflare 官网。
- 在左边的导航中,点击 Domains → Overview ,之后点击右上角的Onboard domain

- 输入你刚买的域名,点击继续。其它配置与图片一直即可。之后点击Continue。

2.2 选择 Free(免费)套餐
- 在套餐选择页面,Cloudflare 可能会把你推向收费版。我们直接选 Free 套餐 ,它包含了无限流量的内网穿透(Cloudflare Tunnel),个人使用完全足够。

2.3 确认 DNS 记录扫描
Cloudflare 会全自动扫描你现有的旧 DNS 记录,直接点击继续。

2.4 核心:去域名注册商修改 DNS (名称服务器)
这是将域名所有权实际"接入"Cloudflare 骨干网的关键一步。Cloudflare 会给你分配两个专属的名称服务器。

- Cloudflare 页面显示需要移除旧的名称服务器(因为我是阿里云买的域名,所以旧的是
hichina.com)。 - 复制 Cloudflare 提供的地址(例如
arely.ns.cloudflare.com)。 - 前往阿里云(或你购买域名的平台)后台: 在域名管理里找到"修改 DNS 服务器",替换为 Cloudflare 提供的两个地址。

完成这一步后,回到 Cloudflare 页面,点击最下方的蓝色按钮"I updated my nameservers",然后耐心等待几分钟到一小时,等它彻底生效。成功激活后你通常会收到一封邮件。

3. 第三阶段:打通隧道(在 Jetson 敲命令)
趁着 DNS 在后台生效,我们来打通连接 Jetson 的隧道。
3.1 创建 Tunnel 隧道
- 在 Cloudflare 左侧菜单栏,一直往下拉,在 Protect & Connect 组里找到并点
左侧的 Networks -> Tunnels。 - 点击页面上的蓝色按钮
+ Create Tunnel。给隧道随便起个名(比如Jetson-Orin-Nano-Super),然后点击 Save。

3.2 在 Jetson 安装客户端并启动后台服务
这是最神奇的一步,不需要你手动配置复杂的密钥。
- 在安装页面的操作系统选项里,选择
Debian。 - 架构务必选择
arm64! (Jetson 是 ARM 架构,如果手滑选了默认的 64-bit,代码敲进去会直接报错无法运行)。

- 分两步执行命令 :通过局域网 SSH 登入你的 Jetson Orin Nano 终端。
-
第一步(安装软件) :完整复制页面上
Install cloudflared下方的那一大段代码,粘贴回车。它会自动添加源并安装。

-
第二步(注册系统服务) :等第一步跑完后,复制下方
Install as service里的那行代码(包含你专属的超长 Token),粘贴回车。 (注意:采用注册服务的方式,Jetson 每次通电开机就会自动连上外网,不需要手动启动!)
-
只要终端没报错,稍微等个 10 秒钟,回到 Cloudflare 网页底部,你会看到原本的 "No connection detected yet" 变成了绿色的 "Connected" 状态。恭喜,你的边缘计算板已成功接入全球骨干网!
4. 第四阶段:实战远程连接
隧道通了,最后一步是把你的本地服务"路由"到刚刚绑定的你的域名上。在刚才建好的 Tunnel 页面点击右下角的 Next ,进入 Route Traffic (路由配置) 页面,点击 Add a public hostname。
4.1 玩法一:远程访问 Web 面板或 API
假设你在 Jetson 上跑了一个端口为 8080 的 Web 测试服务。
- Public Hostname :填入子域名,如
api(组合成api.xxxx.xxx)。 - Service :Type 选择
HTTP,URL 填localhost:8080。 - 点击 Save。
- 测试 : 断开你手机的 WiFi,用 5G 网络在浏览器访问
api.xxxx.xxx,你会发现秒连家里的服务,且自带 HTTPS 安全小绿锁!
4.2 玩法二:跨越公网的丝滑 SSH 与 VS Code 远程开发
注意:Cloudflare 的 SSH 隧道是高度加密的,直接在浏览器里输入网址是打不开终端的,会报错!我们需要在控制端电脑上配一个"翻译官"。)
第一步:在 Cloudflare 网页端添加路由
-
重新添加一条路由记录。
-
Public Hostname :填入子域名
ssh(组合成ssh.xxx.xxx)。 -
Service :Type 选择
SSH,URL 填localhost:22。点击 Save。
第二步:在你的 Windows 电脑上配置(一次性操作) 想要在外面随时连进去写 C++ 或调 ROS2,需要在你平时用来写代码的 Windows 电脑上做一点微调:
-
安装 cloudflared :打开 PowerShell,运行
winget install Cloudflare.cloudflared。(如果报错找不到 winget,你也可以去 Cloudflare 官网下载cloudflared-windows-amd64.msi双击安装。)也可以点击这个官方链接下载安装包 : 👉 cloudflared-windows-amd64.msi (点击直接下载)
下载完成后,双击运行这个
.msi文件,一路点击"Next"直到安装完成。(它会自动帮你把程序配置到系统的环境变量里)。 -
修改 SSH 配置 :打开电脑的
C:\Users\你的用户名\.ssh\config文件(没有这个文件,就新建一个文件),在最末尾追加以下代码,实现本地代理转发:
Plaintext
Host xxx-remote
HostName ssh.xxx.xxx
User xxx
Port 22
ProxyCommand cloudflared.exe access ssh --hostname %h
# 暂时使用密码认证
PreferredAuthentications password
UserKnownHostsFile ~/.ssh/known_hosts
StrictHostKeyChecking accept-new
- 测试 :现在,无论你身在何处,只要打开 Windows 终端输入
ssh xxx-remote,或者直接在 VS Code 的远程资源管理器里点击xxx-remote,就能瞬间穿越回你的 Jetson 终端!配合 VS Code 的本地渲染,几乎感觉不到跨国节点的网络延迟,开发体验拉满!
5. 结语:边缘计算,现在才刚刚开始
到这里,你的 Jetson 已经不再是一台只能在局域网吃灰的开发板,而是一台真正意义上、随时随地待命的"公网边缘服务器"了!
有了 Cloudflare 隧道的加持,你不仅省下了买公网 IP 和昂贵云服务器的钱,还顺便给设备套上了一层企业级的安全防护。以后不管是远程跑 ROS2 节点、随时抓取相机数据,还是作为智能小车的远程大脑,哪怕身在异地,也能像坐在设备旁边一样畅快开发。
注意: 由于 Cloudflare 免费套餐的节点多在海外,纯命令行敲击(特别是跨国数据回传)可能会有 100-200ms 的延迟。但这并不是翻车,只要像教程最后那样,搭配 VS Code Remote-SSH 插件使用,依靠本地界面渲染,你可以完美抵消掉 90% 的延迟感,体验极其丝滑!