黑群晖服务使用 Cloudflare tunnel 进行内网穿透教程
date
Oct 15, 2023
slug
nas-cloudflare-tunnel
status
Published
tags
路由器
summary
使用cloudflare tunnel免费配置黑群晖内网穿透
type
Post
上一篇提到了给蜗牛星际升级到了7.2版本的黑群晖系统,迫于家中网络没有内网环境,但路由器端已经安装了ShellClash,想到了cloudflare 免费提供了tunnel 功能,用来内网穿透,完全可以运用到黑群晖上。 目前基本上ssh 、 http、tcp、smb等服务都可以通过此方式外网使用。
创建Cloudflare Tunnel
Nas 安装 cloudflared
网上的相关教程大多推荐使用矿神的套件源去安装,但是亲测不是很稳定,这里更推荐使用docker 去安装,安装过程如下
- Container Manager 中找到官方的 cloudflare/cloudflared,下载最新版本
- 在映像中双击下载好的镜像,进入配置
- 勾选
启用自动重新启动
下一步
,设置网络为host,命令为tunnel --no-autoupdate run --token <复制的token>
- 下一步启动即可,此时返回cloudflare 的tunnel 页面,应该可以看到 连接状态为 HEALTHY,说明链接成功。
配置内网服务域名
需要有一个域名,这样所有的内网服务都可以配置一个域名,cloudflare提供了https证书,很方便。
先确定群晖上的服务类型和端口是什么,如HTTP、HTTPS、TCP、SSH、SMB、RDP等,不确定的话可以在群晖的
控制面板
- 信息中心
-服务
中查看当前的服务的端口信息。然后在cloudflare 上配置想要映射到公网的服务的相应的
Public hostnames
和对应的Service
。强烈建议先阅读下官方的文档。
Web服务
理论上支持所有的HTTP服务,群晖的内部服务或Docker安装的服务
如群晖 DiskStation Manager (登录页)使用了5000 端口,服务类型是HTTP,在新建的tunnel
nas
中新增一条public hostname
,配置如下保存后,浏览器打开刚设置好
public hostname
,输入用户名和密码,现在你可以通过浏览器
公网访问到家中的nas了,并且可以管理群晖的内部服务如Photo、Drive、Download Station 等。 IOS端的应用如
群晖管家
、群晖Photo
、群晖Drive
也通过支持此域名进行登录。如果是其他的HTTP服务,比如你安装了Aria2 或 Transimission 的WebUI服务,或者是WEBDAV server也可以按照这种方式配置,选择服务类型为 HTTP,URL 为 localhost:<端口号>即可。
TCP 服务
TCP类型的服务,需要在
客户端侧安装cloudflared 服务/或Warp
,然后才能通过域名访问。Synology Drive Client
群晖Drive(Synology Drive) 使用了
6690
端口,协议为TCP
,Public Hostname
设置如下网上有很多关于群晖Drive Client搭配cloudflare tunnel的教程,但都试过了客户端均提示无法连接。查看了下cloudflare 的官方文档后发现,对于TCP协议的服务,需要进行额外的操作,以Mac 为例,安装cloudflared,然后开启服务。
此时打开Synology Drive Client 客户端,按照下面填写127.0.0.1:6690,用户名和密码,连接即可。
SSH服务
SSH服务默认端口为22,cloudflare 特别支持了SSH协议,可以参考文档配置,Public hostname 参数配置如下
同样的,在Mac下安装cloudflared ,通过运行
vim ~/.ssh/config
编辑ssh的配置文件。然后就可以通过 ssh username@<配置的hostname> 进行远程ssh 进Nas了
SMB服务
SMB服务默认端口为445,配置不多赘述,如下
同样的,在Mac下安装cloudflared ,终端运行下面的指令
然后打开Finder(访达)-连接服务器,然后输入
smb://127.0.0.1:8445
即可挂载SMB。Openwrt 安装Cloudflared
顺便记录下openwrt 路由器(红米AX6S,arm64)安装cloudflared 和配置公网访问管理平台的过程
请先确保你有足够的存储空间(33.2MB),并在cloudflare上新建了一个tunnel,命名为router,复制好
token
,cloudflared 软件包地址为 可以查看最新的版本号,我用的是2023.8.2ssh 进入路由器,先下载cloudflared
然后设置开机自启服务文件
编辑脚本 vim /etc/init.d/cloudflared
运行并设置开机自启
查看日志和进程是否运行
打开
<设置的public host>
即可公网访问家里的路由器管理页面。使用体验
当然,cloudflare 支持的平台很多,你也可以在内网的机器上安装对应平台的cloudflared 程序。 然后参数的配置可以参考上面。
cloudflare 虽然提供了免费的tunnel,但是访问速度不是太快,大约有20Mb,日常使用没什么问题,我用cloudflare tunnel 设置了 ssh、smb、webdav、Synology Drive、群晖门户、Openwrt路由器等服务的公网域名,目前使用感觉还不错,推荐使用。