使用Cloudflare Tunnels为Unraid构建安全的远程访问通道
Cloudflare Tunnels(以前称为Argo Tunnels)是一款强大的工具,通过在你的环境中部署轻量级连接器,提供了一种安全、仅出站的连接方式,让你的服务与Cloudflare之间建立联系。无需再头痛地在防火墙上开洞或验证来自Cloudflare IP的流量。
支持作者
如果你觉得这个教程有用,并想表示感谢,请考虑购买一杯咖啡:https://www.buymeacoffee.com/aeleos
注意事项
本指南只适用于遗留隧道。对于当前的隧道,只需按照官方CF指南操作,并修改启动容器的命令,使其以你的密钥而不是配置文件运行。然后你可以在Cloudflare面板中创建隧道和路由。
示例命令:
tunnel run --token ${CF_TUNNEL_TOKEN}
视频教程
想要观看详细操作视频的用户,可以查看IBRACORP的教程:https://www.youtube.com/watch?v=RQ-6dActAr8
先决条件
为了进行此设置,你需要拥有一个由Cloudflare管理的域名,免费计划即可。
设置步骤
- 在Unraid终端,运行以下命令授权cloudflared与你想设置隧道的Cloudflare站点。
docker run -it --rm -v /mnt/user/appdata/cloudflared:/home/nonroot/.cloudflared/ cloudflare/cloudflared:2021.6.0 tunnel login
它会打印出一个链接到Cloudflare的网址。将该链接放在浏览器中,选择你要使用的域名。之后,守护程序会自动获取证书。
- 接下来,我们创建一个隧道。在Unraid终端执行以下命令:
docker run -it --rm -v /mnt/user/appdata/cloudflared:/home/nonroot/.cloudflared/ cloudflare/cloudflared:2021.6.0 tunnel create TUNNELNAME
这会创建你的隧道UUID.json文件,其中包含了用于认证你的隧道连接与Cloudflare的安全密钥。JSON文件仅用于运行隧道,但任何隧道修改都需要cert.pem。关于何时需要什么的更多信息可在此处找到:https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/create-tunnel。
确保复制你的UUID,因为这将在后续步骤中使用。你可以随时通过JSON文件的名字找到它。
-
现在我们需要创建一个
config.yaml
来配置隧道。 -
输入以下内容并调整你的反向代理IP:PORT,隧道UUID和(如果适用的话)域名称:
- 如果你在反向代理上有SSL证书,你需要输入该证书下的域名
- 如果你想代理到HTTP服务器,取消注释-ingress规则
- 如果你想禁用SSL验证,在originRequest下添加noTLSVerify
-
接下来,我们需要在Unraid UI内安装应用程序。
-
修改“后处理参数”。要这样做,需要启用右上角的“高级视图”。
-
启动容器,如果没有错误,你应已有一个运行中的隧道!
-
下一步是编辑你的域名DNS记录。
示例
以下是配置示例:
|类型|名称|值|TTL|状态| | --- | --- | --- | --- | --- | |CNAME|@|UUID.cfargotunnel.com|自动|橙色符号| |CNAME|plex|@|自动|橙色符号| |CNAME|portainer|@|自动|橙色符号| |CNAME|radarr|@|自动|橙色符号| |CNAME|sonarr|@|自动|橙色符号| 现在你应该可以通过不需端口转发的方式访问所有应用!
故障排查
有关证书无效和无法返回ID的问题,以及如何解决的建议,指南中也有详细说明。
应用场景
Cloudflare Tunnels适用于希望在外网轻松访问内部服务器的应用,例如个人云存储、私人媒体服务器(如 Plex)、自动化工具或其他托管在家里的服务。它消除了对公开IP地址和端口转发的需求,使得家庭网络的管理和维护更加简单安全。
项目特点
- 安全性:Cloudflare Tunnels 提供了安全的加密连接,仅允许出站连接,增强网络安全。
- 易于配置:通过简单的命令行操作,即使是对技术不太了解的用户也能快速设置。
- 动态更新:通过修改DNS记录和云flare控制台,可以轻松地添加、删除或更改服务。
- 无端口暴露:由于使用了CNAME记录,无需在路由器上打开任何端口,减少了被黑客攻击的风险。
无论你是技术爱好者还是寻求更安全的家庭网络解决方案的企业用户,Cloudflare Tunnels 都是一个值得一试的优秀工具。立即行动,开始你的无端口转发之旅吧!