因为前段时间我住所和办公室的公网IP被回收,而且无法取回,但是我有访问内网自组NAS的需求,于是得找个其他方法来绕过限制,最开始我考虑的是ngrok或者zerotier,但是我ngrok的架设碰了很多钉子,zerotier又必须要随身携带客户端,我也不想用妥协去用境内阿猫阿狗提供的服务,所以我决定用CloudFlare提供的免费穿透。。。
我目前有一台 QNAP TS464C 和 多台自组NAS,考虑到稳定性问题,所以我决定把服务端架在TS464上。但找了一圈也没有找到 适用于QTS搭建Cloudflare Access服务端的方法,于是我只能用相对而言最通用的docker方法来搭建。
前面的准备工作略过。这里主要说明如何在QTS上创建基于Docker的服务端,一共两个方法:
1.ssh创建
最简单的办法,一键搞定
用ssh连接你的nas,然后以admin权限登录,会提示进入了控制台模式,按q退出控制台模式,返回shell模式
输入cloudflare给你的一键命令:
docker run cloudflare/cloudflared:latest tunnel –no-autoupdate run –token 你的token id
然后稍等片刻就部署完毕了。
2.webgui创建
如果你因故不能用ssh连接到你的nas,那么可以用这个方法
打开Container Station,点击容器,然后点击创建
模式选基本模式,镜像写cloudflare/cloudflared
然后点击下一步
然后会让你给容器命名,名称随你喜欢就行,重启策略维持默认,重点来了,点击 [ 高级设置 ]
选择覆盖
在文本框填写cloudflare给你的那段命令中,自 tunnel 起的参数,即tunnel –no-autoupdate run –token 你的token id
然后点击网络,在主机名处填写你想要的主机名(计算机名),NAT模式下可以不写。
如果你有特殊需求,选择使用了Bridge模式,还需要指定网口,填上主机名,MAC地址按需填入。Host模式则以主机服务方式运行,不需要选择网口
然后点击应用,点击下一步
然后点击完成。
之后等待Cloudflare那边的状态变成HEALTHY就OK了。