Lucky+cloudflared实现NAS内网穿透

98 4.8~6.2 分钟 2159

cloudflared内网穿透的第一种方案

互联网大善人cloudflare有很多免费产品供大家使用,其中内网穿透就是其中之一,使用起来也非常简单:

  1. cloudflare上设置;

  2. 根据使用的平台进行部署,例如NAS可以安装docker版本;

  3. 建立好连接后,在cloudflare上设置你需要穿透的本地服务。

以上是官方的使用方法,我之前也使用过,但后来放弃了,主要问题是设置好以后开始没问题,过了一两天后发现在外就无法连接家里的NAS服务了,必须重启NAS上安装的cloudflared容器才可以,网上没有找到确切的答案,我猜测可能是因为国内不论是否有公网IP,家宽的IP地址都会发生变化,一旦IP发生变化后就连接不上了。

Lucky+cloudflared

某天偶然发现部署在NAS上的Lucky也可以连接cloudflare建立隧道,实现内网穿透,之前只是将Lucky用作域名解析,ssl证书续签来使用,其实还有很多功能我都没研究。

采用Lucky+cloudflared实现内网穿透的好处在于不需要在NAS上再部署cloudflare的官方服务cloudflared了,最重要的是通过几天观察,没再出现连接不上的问题。

前提条件

不打算从0开始讲如何设置了,假设:

  1. 域名已经托管到cloudflare;

  2. 明白简单的cloudflare操作;

  3. NAS上已经部署Lucky,并且已经成功设置好DDNS;

  4. 存疑:我家有ipv6公网IP,此方法是否适合完全没公网IP的尚不明确。

我之所以有公网IP还需要进行穿透,主要是因为公司的网不稳,经常ipv6无法访问,另外此方法也适合想把一些NAS服务暴露到公网,但又不想在网址后面跟着端口号的。

开始

1. cloudflare上设置

  1. 在cloudflare左侧菜单里找到“Zero Trust-网络-连接器”,在右侧页面选择创建隧道

  2. 选择cloudflared

  3. 名称随意,点击保存。

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

  5. 点击下一步,这里暂时设置不了,点击左侧菜单“连接器”回到上一步,这里刚设置的连接器会显示没有连接成功。

2. NAS上设置

  1. 打开NAS上安装的Lucky,左侧菜单找到cloudflared,点击添加实例

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

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

使用

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

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

  3. 设置成功后不需要再去域名添加记录,会自动添加的,同样在这里删除服务后相应的域名记录也会删除。
    此时上述示例的NAS上服务在公网访问的地址就是https://test.whrr.cc,无需端口号。

祝大家玩的开心

这个设置比较简单,观察了几天也没有出现连不上的问题,应该是IP地址更换后Lucky会采取措施吧,再次感谢互联网大善人cloudflare,笔芯❤️❤️❤️❤️