实现无公网IP,免端口访问NAS及相关服务——cloudflare tunel
本文最后更新于 2024-06-28,文章内容可能已经过时。
大家好,这里是Cherry,喜爱折腾、捡垃圾、玩数码,热衷于分享NAS、docker玩耍经验~
前言
前几天发了一篇关于拾光坞N3内网穿透的教学,有很多小伙伴留言问能不能写写内网穿透的教程。正好手头把之前的DIY NAS放到办公室,于是便借机写一篇经典的cloudflare tunnel使用教程。
本教程除了教大家如何使用cloudflare tunnel实现免费的内网穿透和无端口访问NAS外,还提供了2种cloudflare 加速的方式,一则实现本地加速访问,二则实现互联网端的加速访问。
PS。本文需要注册cloudflare,具体方法不细说了,网上有很多,重点是需要一张双币卡才可以激活,全程0费用(域名不算),主打的就是一个白嫖!
目录
1、NAS部署cloudflare tunnel实现免端口内网穿透访问NAS
2、本地加速cloudflare 访问
3、公网加速cloudflare 访问(对外提供服务)
NSA端配置
登录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,因此需要给服务器搭配上cf的SSL证书才可以使用,回到CF首页,选择我们解析的域名进入
选择左侧的【SSL/TLS】,选择【概述】,将加密类型选择最高的【灵活】,即可实现浏览器自动将http更改为https访问NAS。
客户端配置
一、优选CF,实现本地快速访问
众所周知,Cloudflare的网络在国内不能算很好,因此我们的客户端(也就是我们的电脑)需要通过公网访问Cloudfalre Tunel的话,还需要部署一套加速服务——CloudflareSpeedTest。
下载地址:https://github.com/XIU2/CloudflareSpeedTest/releases
下载解压后文件如下
双击【CloudflareST.exe】,等待运行,运行结束后会有一些IP地址出现
然后我们修改windows下的hosts文件(路径:C:\Windows\System32\drivers\etc\hosts),添加一条DNS解析即可。
🔻对优选CF前后的域名访问情况做一个测试
未设置前
设置后,可以看出延迟和丢包率大幅降低
二、SAAS回流,实现全网快速访问
使用cf优选仅仅实现的是我们本地快速访问NAS,那如果是对外提供服务的情况下呢?这时候就需要用到cloudflare的SAAS服务了。
设置新域名,并解析到国内CDN
【阿里云/腾讯云】端,添加一个二级域名【例:qnap2.cgakki.top】,因为一级域名解析在CF上了,所以会提示需要TXT验证,点击蓝字后到CloudFalre操作即可。
【Cloudflare端】,将txt验证中的信息填入对应的框体,域名不需要,只需要【主机记录】和【记录值】。
接着增加两条NS解析,分别解析到【ns1.alidns.com】和【ns2.alidns.com】
【阿里云/腾讯云】端,可以看到解析完成域名上方的DNS解析已经变绿色
设置SAAS,实现全网CF优选
【Cloudflare端】,选择【SSL/TLS】——【自定义主机名】开始SAAS服务,添加双币卡,免费开通。
【回退源】:这里填tunnel设置的域名
【自定义主机名】:这里填刚才我们设置的二级访问域名【例:qnap2.cgakki.top】,用来给其它人访问使用
回到【Tunnel】页面的【Public Hostname】设置,把新域名也解析到我们的NAS上,这样两个域名都可以访问我们的NAS了。
【阿里云/腾讯云】端,根据运营商线路不通,增加优选CF节点,然后把刚才的TXT解析放进来(需要注意的是主机记录最后有多余的域名后缀,需要删除,具体看图片)。
具体的全国CF优选IP可以看这个网站:https://stock.hostmonit.com/CloudFlareYes
使用ITDOG测试连接性
使用tunnel的域名
使用SAAS回流后的新域名