将你的 Jetson 变为全功能公网服务器——使用Cloudflare_Tunnel方式实现

将你的 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 系统安全(关键防护)

在进行任何公网配置前,必须完成这一步!

  1. 修改默认密码: 绝对不要用 nvidia 作为 nvidia 用户的密码。使用强密码。
  2. (高级)禁用密码 SSH,改用 SSH Key 登录。这是服务器最稳健的防线。

1.3 必备软资产:准备一个专属域名

Cloudflare Tunnel 的核心魔法,就是把你的内网服务绑定到一个公网网址上。因此,在开始折腾网络之前,你必须拥有一个属于自己的域名。

  • 去哪里买 :国内推荐去 阿里云(万网) 或 腾讯云,国外推荐 Namecheap 或 Cloudflare 本身。
  • 买什么样的 :作为个人测试服务器,不要去花大价钱买 .com。直接搜一些冷门后缀,比如 .top、.site,或者国内常用的 .cn,首年通常只要几块钱到十几块钱,非常划算。
  • 注意 :如果你是在国内平台(如阿里云)购买的,购买后必须按照平台指引完成实名认证(通常上传身份证扫个脸,几个小时就通过了)。如果不实名,域名是无法进行后续 DNS 解析的。

2. 第二阶段:云端铺路(注册与 DNS 托管)

这一阶段在自己电脑浏览器里完成。我们将使用自己注册的域名。

2.1 注册 Cloudflare 并添加站点

  1. 注册并登录 Cloudflare 官网。
  2. 在左边的导航中,点击 Domains → Overview ,之后点击右上角的Onboard domain
  1. 输入你刚买的域名,点击继续。其它配置与图片一直即可。之后点击Continue。

2.2 选择 Free(免费)套餐

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

2.3 确认 DNS 记录扫描

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

2.4 核心:去域名注册商修改 DNS (名称服务器)

这是将域名所有权实际"接入"Cloudflare 骨干网的关键一步。Cloudflare 会给你分配两个专属的名称服务器。

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

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

3. 第三阶段:打通隧道(在 Jetson 敲命令)

趁着 DNS 在后台生效,我们来打通连接 Jetson 的隧道。

3.1 创建 Tunnel 隧道

  1. 在 Cloudflare 左侧菜单栏,一直往下拉,在 Protect & Connect 组里找到并点左侧的 Networks -> Tunnels。
  2. 点击页面上的蓝色按钮 + Create Tunnel 。给隧道随便起个名(比如 Jetson-Orin-Nano-Super),然后点击 Save。

3.2 在 Jetson 安装客户端并启动后台服务

这是最神奇的一步,不需要你手动配置复杂的密钥。

  1. 在安装页面的操作系统选项里,选择 Debian。
  2. 架构务必选择 arm64! (Jetson 是 ARM 架构,如果手滑选了默认的 64-bit,代码敲进去会直接报错无法运行)。
  1. 分两步执行命令 :通过局域网 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 测试服务。

  1. Public Hostname :填入子域名,如 api(组合成 api.xxxx.xxx)。
  2. Service :Type 选择 HTTP ,URL 填 localhost:8080。
  3. 点击 Save。
  • 测试 : 断开你手机的 WiFi,用 5G 网络在浏览器访问 api.xxxx.xxx,你会发现秒连家里的服务,且自带 HTTPS 安全小绿锁!

4.2 玩法二:跨越公网的丝滑 SSH 与 VS Code 远程开发

注意:Cloudflare 的 SSH 隧道是高度加密的,直接在浏览器里输入网址是打不开终端的,会报错!我们需要在控制端电脑上配一个"翻译官"。)

第一步:在 Cloudflare 网页端添加路由

  1. 重新添加一条路由记录。

  2. Public Hostname :填入子域名 ssh(组合成 ssh.xxx.xxx)。

  3. Service :Type 选择 SSH ,URL 填 localhost:22。点击 Save。

第二步:在你的 Windows 电脑上配置(一次性操作) 想要在外面随时连进去写 C++ 或调 ROS2,需要在你平时用来写代码的 Windows 电脑上做一点微调:

  1. 安装 cloudflared :打开 PowerShell,运行 winget install Cloudflare.cloudflared。(如果报错找不到 winget,你也可以去 Cloudflare 官网下载 cloudflared-windows-amd64.msi 双击安装。)

    也可以点击这个官方链接下载安装包 : 👉 cloudflared-windows-amd64.msi (点击直接下载)

    下载完成后,双击运行这个 .msi 文件,一路点击"Next"直到安装完成。(它会自动帮你把程序配置到系统的环境变量里)。

  2. 修改 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% 的延迟感,体验极其丝滑!

相关推荐
Decay__1 小时前
05_MySQL 常用 SQL 大全 —— 诊断、管理、优化辅助 SQL 与三大系统库速查
运维·数据库·sql·mysql·架构
JIAOZHANZHISHIKU2 小时前
机器人外壳粘接性价比怎么选?3M VHB 胶带与结构胶解决方案
经验分享·机器人·工业胶粘剂·3m胶粘剂
贞明电子3 小时前
工业三色报警灯怎么接入项目系统?开关量与RS485控制应用指南
运维·网络·微信公众平台·贞明电子
HideF4 小时前
Linux
linux·服务器·网络
万联WANFLOW4 小时前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
sbjdhjd4 小时前
网工进阶笔记:H3CSE 园区网全栈技术与协议汇总
网络·笔记·云计算·ssh·网络工程·vlan·aaa
Ruiery6 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
乌恩大侠6 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
Decay__7 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
海绵宝宝的月光宝盒7 小时前
14-AutoCAD-阵列命令应用与案例实战(AR)
经验分享·笔记·自动化·课程设计·制造·学习方法·cad