Lazy loaded image
复盘Cloudflare Tunnel实现内网穿透
字数 1117阅读时长 3 分钟
2025-4-15
2025-4-15
type
status
date
slug
summary
tags
category
icon
password

一、尝试Cloudflare Tunnel缘由

由于没有IPv4公网地址,前期已经通过IPv6+DDNS模式实现了内网穿透,无奈只有拥有IPv6地址的终端才能访问,而目前在国内大部分网络并未给局域网分配IPv6地址,虽然移动网络默认会给所有终端分配IPv6地址,但在外面绝大多数WIFI环境都无法远程访问家里的NAS,故决定尝试Cloudflare Tunnel模式。
Cloudflare Tunnel 的核心原理是通过建立 仅出站加密通道 连接本地服务与 Cloudflare全球网络,实现无需公网IP和端口映射的内网穿透。须在服务器端安装Cloudflare程序和在Cloudflare网站上设置。
鉴于其他几种内网穿透方式的缺点,目前都不是想使用:

1. 反向代理(Reverse Proxy)

原理: NAS 主动连接公网服务器,公网访问时由这个服务器转发请求到 NAS。常见于搭配 VPS 使用。
工具: Nginx、FRP、NPS、Ngrok 等。
优点: 无需公网 IP,也能访问;可加 HTTPS,安全性高。
缺点: 需要额外一台公网服务器(如 VPS);设置较复杂。

2. ZeroTier / Tailscale(虚拟局域网 VPN)

原理: 在 NAS 和远程设备间建立一个虚拟局域网,像是在同一个内网一样访问。
优点: 配置简单,安全性好;穿透能力强。
缺点: 有一定延迟;依赖第三方服务。需要在服务器和终端都安装软件,专业性太强,使用比较繁琐,不适合小白家人使用。

3. 第三方内网穿透平台


原理: 使用如花生壳、蒲公英、向日葵等商业服务进行穿透。
优点: 操作简单,适合小白。
缺点: 免费版限制多;隐私与安全性要考虑

二、操作方法

  1. 在Cloudflare主页,进入左边菜单栏“Zero Trust”
notion image
  1. 网络→Tunnels→创建隧道
notion image
  1. 选择隧道类型→Cloudflared
notion image
  1. 为隧道命名,什么名字都可以,点击保存隧道。
notion image
  1. 操作系统选择Docker,复制下方命令代码。保存到一个txt文档内,等一下要用到。以下是我的代码。每个隧道都不一样。
点击下一步。
notion image
  1. 为访问NAS选择和设置自己的域名。服务类型选择HTTP,URL填写localhost:5666,点击保存主机名。注意服务类型不要选HTTS.
notion image
  1. 重新返回到隧道首页,刚刚新建的ThinkNAS隧道还处于关闭状态,那是因为在NAS端还没有安装cloudflare tunnel的docker项目。
notion image
  1. 进入飞牛NAS,打开Docker→Compose→新增项目→设置项目名称→设置保存路径→创建yml.
    1. 将以下代码模板替换成自己的container_name和command内容,粘贴到yml文本框中,选择立即启动,确定。
      💡
      注意代码中command后的内容时从tunnel --no-autoupdate run --开始的。
notion image
  1. 等待后台拉取镜像构构建项目。如果网络环境好的话,一分钟之类就可以拉取好,如果网络环境不好,要耐心等待一会儿。
notion image
  1. 构建完成后会自动启动。平时使用前,也需要保持启动状态。
notion image
notion image
  1. 我们再回到Cloudflare隧道页面,可以看到隧道已处于“正常”状态。
notion image
那么此时,我们就可以使用刚设置好的域名thinknas.thinkxyz.top 访问NAS了。
notion image

三、注意事项

在NAS安全性设置里,端口的高级设置中,不能勾选强制HTTPS连接。
notion image

四、Cloudflare Tunnel模式的优缺点

  1. 优点:免费,客户端无需设置,可自定义域名访问。
  1. 缺点:速度慢,测试时最快只有几百KB。
遂,放弃该模式。
 
上一篇
How to Make a USB Laptop Keyboard Controller
下一篇
手机使用WiFi时,通过域名无法访问 NAS,手机使用移动数据时,可以访问 NAS。

评论
Loading...