Lucky+cloudflared实现NAS内网穿透
cloudflared内网穿透的第一种方案
互联网大善人cloudflare有很多免费产品供大家使用,其中内网穿透就是其中之一,使用起来也非常简单:
cloudflare上设置;
根据使用的平台进行部署,例如NAS可以安装docker版本;
建立好连接后,在cloudflare上设置你需要穿透的本地服务。
以上是官方的使用方法,我之前也使用过,但后来放弃了,主要问题是设置好以后开始没问题,过了一两天后发现在外就无法连接家里的NAS服务了,必须重启NAS上安装的cloudflared容器才可以,网上没有找到确切的答案,我猜测可能是因为国内不论是否有公网IP,家宽的IP地址都会发生变化,一旦IP发生变化后就连接不上了。
Lucky+cloudflared
某天偶然发现部署在NAS上的Lucky也可以连接cloudflare建立隧道,实现内网穿透,之前只是将Lucky用作域名解析,ssl证书续签来使用,其实还有很多功能我都没研究。
采用Lucky+cloudflared实现内网穿透的好处在于不需要在NAS上再部署cloudflare的官方服务cloudflared了,最重要的是通过几天观察,没再出现连接不上的问题。
前提条件
不打算从0开始讲如何设置了,假设:
域名已经托管到cloudflare;
明白简单的cloudflare操作;
NAS上已经部署Lucky,并且已经成功设置好DDNS;
存疑:我家有ipv6公网IP,此方法是否适合完全没公网IP的尚不明确。
我之所以有公网IP还需要进行穿透,主要是因为公司的网不稳,经常ipv6无法访问,另外此方法也适合想把一些NAS服务暴露到公网,但又不想在网址后面跟着端口号的。
开始
1. cloudflare上设置
在cloudflare左侧菜单里找到“Zero Trust-网络-连接器”,在右侧页面选择创建隧道;

选择cloudflared

名称随意,点击保存。

接下来的页面就是官方提供的各种平台(操作系统)下客户端的安装方法,我们可以忽略,只要记住令牌就行,就是下图install后面的一长串字符(不包含install)

点击下一步,这里暂时设置不了,点击左侧菜单“连接器”回到上一步,这里刚设置的连接器会显示没有连接成功。
2. NAS上设置
打开NAS上安装的Lucky,左侧菜单找到cloudflared,点击添加实例

接下来的界面,实例备注随便填,令牌处填入上一步中从cloudflare中拷贝的令牌,其他保持默认,点击添加实例

回到cloudflare页面,现在可以看到刚设置的连接器已经显示连接成功了,至此隧道已经创建成功。

使用
点击上图连接器后面的三个点,选择配置,然后选择“已发布应用程序路由”-“添加已发布应用程序路由”

按下图所示填写需要穿透的服务,1处填写你需要的二级域名;2处选择你已经托管到cloudflare的域名;3处是NAS上的服务协议(一般为http);4处是NAS上的服务IP地址+端口号。填写完保存就行了;

设置成功后不需要再去域名添加记录,会自动添加的,同样在这里删除服务后相应的域名记录也会删除。
此时上述示例的NAS上服务在公网访问的地址就是https://test.whrr.cc,无需端口号。
祝大家玩的开心
这个设置比较简单,观察了几天也没有出现连不上的问题,应该是IP地址更换后Lucky会采取措施吧,再次感谢互联网大善人cloudflare,笔芯❤️❤️❤️❤️