工具 · 2023/01/17 0

群晖、威联通通过 Cloudflare Zero Trust 内网穿透教程

v2-38dd142ba0dcef5a7e5cff730da763cc_1440w

内容适用于有远程穿透连接服务需求的场景,需要:

  • 外币信用卡 / Paypal
  • 非常基础的动手能力和意愿
  • 能够正常访问 Cloudflare

步骤

Step1:申请 Cloudflare 帐号

Cloudflare:https://www.cloudflare.com/

Step2:准备一个域名

推荐 namesilio、Google Domains,6-9位数字.xyz域名价格约为 $1/年,且续费同价。

将域名转入 Cloudflare。

购买域名和域名转入 Cloudflare 网上都有教程,比较简单,不做赘述。

Step3:完成 Cloudflare Zero Trust 认证

在 Cloudflare 用户主页,点击左下的 Zero Trust 跳转到 Zeor Trust页面完成认证,需要绑定信用卡或 Paypal,选择 0元/月的层级。

cloudflared-1

Step4:创建 Tunnels

点击左侧的 Tunnels(隧道),新建一个 tunnel,未使用此功能时界面不一样,但同样是 Create a tunnel 按钮。

给你的 tunnel 起一个名字,这个名字可随时修改,点击 Save tunnel。

cloudflared-2

cloudflared-3

Step5:获取认证密钥

新页面会让你选择使用平台,可用于 Windows / Mac / Debian / Redhat / Docker,并提供了教程。

不同平台上的密钥是一样的,比如选择 docker,密钥就是--token 后面的整串字符eyKhLjoi...WVR0aSJ9,把它记下来,然后点击 Save。(注:下方 Refresh token 按钮可以重置密钥,图中是已被废弃的 token)

cloudflared-4

Step6:填写域名和本地信息

新页面中 Public hostname 是外网地址,域名为 Subdomain.Domain/Path 的格式,Path 不是必须的,例如图中的 nervboard.030040.xyz,这就是访问服务的域名,其中 030040.xyz 是我购买的域名,nervboard 是我的子域名名称,Cloudflare 自动把此处的子域名加入DNS解析。

Service 部分填本地服务的地址,比如群晖的管理页面 http://192.168.1.6:5000

点击下方的 Save 隧道名 tunnel 按钮保存。

cloudflared-5

Step7.1:在群晖上安装 Cloudflared

找一个有 Cloudflared 的源,例如 https://spk.imnks.com/,更新一下,在 套件中心>社群 中找到 Cloudflared 安装 → 弹出窗口提示输入上面取得的密钥 → 保存。

然后访问自己设定的子域名,比如上面的 nervboard.030040.xyz,就跳转到了局域网中的服务。

Step7.2:在其他设备上安装 Cloudflared

各平台在获取密钥的页面都有安装教程,而且支持 docker,粘贴运行脚本就行了。

docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token 密钥

威联通在 qnap.club 源中有 Cloudflared CLI。在 Container Station 中可以用 Docker Compase,或选择 cloudflare/coudflared 镜像,将 --no-autoupdate run --token 密钥 填入命令, 高级设置中网络选择 Host 模式(NAT也行),如图所示:

cloudflared-9

Step8:添加新的服务

只需要在 tunnels 中 Add a public hostname 就行了,每一个服务需要一个新的子域名。

cloudflared-8

体验

速度怎么样?

至少不会输给 Teamviewer、ToDesk、绝大部分免费或付费的 frps,感觉 Cloudflared 比我自建的 frps 还快,但在晚高峰大概会有更高的延迟,而且不同地区不同运营商可能会有较大差异,例如部分地区部分网络无法访问 Cloudflare。

我可以长久地使用它么?

Cloudflare 是世界上最大的网络服务商之一,在全球有数百个数据中心,为数百万网站处理互联网请求。它也是一家市值上百亿的纽交所上市公司(NYSE:NET),罗素1000指数的成分股之一,Cloudflare 有能力提供这种服务,从过去看也确实能够长期提供免费层。

安全性

数据从你的内网设备到 Cloudflare 是经过加密的,从 Cloudflare 到你加上了 SSL(https)。

你可以在 Cloudflare Zero Trust 创建更多的安全策略。

我对这些内容几乎一无所知,能说的简单点让我理解么?

这是官方的示意图:

能说的更简单点儿么?

cloudflared

你可以认为,你的设备上装了一个 cloudflared 程序,通过 token 认证是你,并不断向 cloudflare 汇报设备的网络地址。当你用域名地址访问时,cloudflare 会找到这个设备,设备的数据加密传输到 cloudflare,再由 cloudflare 加密传输给你。
Cloudflare 就像一个邮差和搬运工,你告诉它你要家里的什么东西,Cloudflared 客户端告诉它家在哪,它把信息带到,并把东西带回给你。