前言
前几天发了一篇关于拾光坞 N3 内网穿透的教学,有很多小伙伴留言问能不能写写内网穿透的教程。正好手头把之前的 DIY NAS 放到办公室,于是便借机写一篇经典的 cloudflare tunnel 使用教程。
🔻关于 NAS 访问和异地组网的历史文章,可以看这个。
本教程除了教大家如何使用 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:WindowsSystem32driversetchosts),添加一条 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.com】,用来给其它人访问使用
回到【Tunnel】页面的【Public Hostname】设置,把新域名也解析到我们的 NAS 上,这样两个域名都可以访问我们的 NAS 了。
【阿里云/腾讯云】端,根据运营商线路不通,增加优选 CF 节点,然后把刚才的 TXT 解析放进来(需要注意的是主机记录最后有多余的域名后缀,需要删除,具体看图片)。具体的全国 CF 优选 IP 可以看这个网站:
https://stock.hostmonit.com/CloudFlareYes
使用 ITDOG 测试连接性
使用 tunnel 的域名
使用 SAAS 回流后的新域名