免端口访问NAS,还不需要公网ip!白嫖赛博慈善家cloudflare,通过2个小技巧实现访问加速
大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~
前言
买了NAS,但是没有公网,只能在家里玩玩,那体验感也太差了吧!
前几天发了一篇关于拾光坞N3内网穿透的教学,有很多小伙伴留言问能不能写写内网穿透的教程。正好手头把之前的DIY NAS放到办公室,于是便借机写一篇经典的cloudflare tunnel使用教程。
🔻关于NAS的外网访问方法,有内网穿透、异地组网、DDNS等等,下文里全部都给大家介绍了,新手或者对这块不熟悉的可以先看这篇文章,再回来看本文。
本教程除了教大家如何使用cloudflare tunnel实现免费的内网穿透和无端口访问NAS外,还提供了2种cloudflare 加速的方式,一则实现本地加速访问,二则实现互联网端的加速访问。
PS。本文需要注册cloudflare,具体方法不细说了,网上有很多,重点是需要一张双币卡才可以激活,全程0费用(域名不算),主打的就是一个白嫖!
目录
1、NAS部署cloudflare tunnel实现免端口内网穿透访问NAS
2、本地加速cloudflare 访问
3、公网加速cloudflare 访问(对外提供服务)
NSA端配置
一、登录Cloudflare
登录cloudflare,首页选择左侧的【zero trust】

选择【nerworks】——【Tunnels】——【Add a Tunnel】

默认第一个配置,选择下一步,然后随便去个tunnel的名字


在部署环境中选择docker,然后复制下方的部署代码

回到SSH页面,粘贴代码,然后稍微修改一下让容器持久化运行。在docker run 后面增加 -itd –name tunnel
🔻初始指令
docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token XXXXX
🔻修改后指令
docker run -itd --name tunnel cloudflare/cloudflared:latest tunnel --no-autoupdate run --token XXXXX
部署完成以后,点击save,来到配置公网访问环节,输入自定义的二级域名前缀以及自己的域名地址,然后配置服务如【http://NASip:5000】

回到Cloudflare tunnel首页,可以看到绿色的【healthy】表示容器连接成功

二、强制https访问(可选)
如果我们使用了https协议,那就需要给服务器搭配上cloudflare的SSL证书才可以使用,回到CF首页,选择我们解析的域名进入

选择左侧的【SSL/TLS】,选择【概述】,将加密类型选择最高的【灵活】,即可实现浏览器自动将http更改为https访问NAS。

客户端配置(访问加速)
一、优选CF,实现本地快速访问
众所周知,Cloudflare的网络在国内不能算很好,因此我们的客户端(也就是我们的电脑)需要通过公网访问Cloudfalre Tunel的话,还需要部署一套加速服务——CloudflareSpeedTest。
下载地址:https://github.com/XIU2/CloudflareSpeedTest/releases

下载解压后文件如下

双击【CloudflareST.exe】,等待运行,运行结束后会有一些IP地址出现

然后我们修改windows下的hosts文件(路径:C:WindowsSystem32driversetchosts),添加一条DNS解析即可。

🔻对优选CF前后的域名访问情况做一个测试
未设置前

设置后,可以看出延迟和丢包率大幅降低

二、SAAS回流,实现全网快速访问
使用cf优选仅仅实现的是我们本地快速访问NAS,那如果是对外提供服务的情况下呢?这时候就需要用到cloudflare的SAAS服务了。
1.设置新域名,并解析到国内CDN
【阿里云/腾讯云】端,添加一个另外的域名【例:cgakki.com】,必须是和cf的域名不相同。
【Cloudflare端】,选择【SSL/TLS】——【自定义主机名】开始SAAS服务,添加双币卡,免费开通。

【回退源】:这里填tunnel设置的域名

【自定义主机名】:这里填另外一个域名【例:qnap.cgakki.com】,用来给其它人访问使用

回到【Tunnel】页面的【Public Hostname】设置,把新域名也解析到我们的NAS上,这样两个域名都可以访问我们的NAS了。

【阿里云/腾讯云】端,根据运营商线路不同,增加优选CF节点,然后把刚才的TXT解析放进来(需要注意的是主机记录最后有多余的域名后缀,需要删除,具体看图片)。
具体的全国CF优选IP可以看这个网站:https://stock.hostmonit.com/CloudFlareYes

3.使用ITDOG测试连接性
使用tunnel的域名

使用SAAS回流后的新域名

最后
至此,我们就实现了通过cloudflare tunnel内网穿透NAS各种端口提供公网服务,并且使用cf优选实现自己的加速访问,最后通过cf SAAS服务实现不同子域名的全网加速服务。
但是tunnel也有缺点,或者说整个内网穿透都有的缺点,那就是每个服务端口都需要单独配置,因此内网穿透往往是给需要使用家宽提供某个服务的时候使用。
如果我们的目标是在异地随时访问,尤其在需要使用大量的服务时,内网穿透往往就不是很建议了,这里还是建议大家使用异地组网的方式实现访问家里的设备,常用的工具可以看我这篇文章。

欢迎朋友们评论区讨论留言。我会定期更新关注NAS使用方法、开源软件与Docker软件、游戏与生活相关内容,喜欢的朋友请关注、点赞、留言支持。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

校验提示文案
校验提示文案
校验提示文案
2.这个加速是必须有一个其他服务器上有域名么?我这种没有服务器的是不是就不能加速了。
3.博主知道就是之前cfwork的docker加速不是在cf页面下添加自定义域名,比如说我修改了里面的域名:docker.abc.org,也显示了有效,但我访问的时候会变成%2A.abc.org,看了下好像算是访问*.abc.org,这个是哪里设置?我昨天偶然看到意思是要在cf里添加一个cname?意思是cf给出来的docker.xyz.dev这个地址,添加cname 就是访问docker.abc.org会解析到docker.xyz.dev?那没有科学的话不能访问吧。
希望抽空能帮我解惑,搜到的东西不是太旧就是一笔带过说不清道不明的
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
2.这个加速是必须有一个其他服务器上有域名么?我这种没有服务器的是不是就不能加速了。
3.博主知道就是之前cfwork的docker加速不是在cf页面下添加自定义域名,比如说我修改了里面的域名:docker.abc.org,也显示了有效,但我访问的时候会变成%2A.abc.org,看了下好像算是访问*.abc.org,这个是哪里设置?我昨天偶然看到意思是要在cf里添加一个cname?意思是cf给出来的docker.xyz.dev这个地址,添加cname 就是访问docker.abc.org会解析到docker.xyz.dev?那没有科学的话不能访问吧。
希望抽空能帮我解惑,搜到的东西不是太旧就是一笔带过说不清道不明的
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案
校验提示文案