NAS内网穿透工具lucky & CloudFlare Tunnels分享
本文阅读大约3-5分钟
🌙前言
hello大家好我是反调,由于飞牛云支撑docker,所以可以安装自己喜欢的docker程序。这里我以LibreTV为例。去做一个内网穿透。飞牛云本身是带有内网穿透这个功能的。但是免费版本只能实现基础外网访问 NAS、备份相册等场景。若是docker部署的程序,是无法通过免费版本的FN Connect去实现外网访问的。付费版本的可以看:https://www.fnnas.com/fn-connect 。这里介绍lucky和 CloudFlare Tunnels的使用。
🌙自带内网穿透
飞牛云自带免费的内网穿透功能实现。
1、直接点击UI界面的绑定飞牛云账号的登录按钮。注册飞牛云登录即可。
2、在系统设置的远程访问中开启FN Connect,开启时会让你填写FN ID,其实就是子域名,如下。等待一会证书申请完毕后就开启了远程访问功能了。

3、创建完毕如下图,这时候是可以搭配飞牛云的app去使用飞牛云的相关功能如相册,备份,存储等。app的使用只需要登录账号输入FN ID就可以连接你的NAS了。只是这个免费版本的有带宽等险种。

当然也可以付费使用飞牛云提供的DDNS功能。
🌙lucky内网穿透
使用飞牛云应用中心就有的lucky应用去实现内网穿透功能(我觉得挺良心的)。这里我使用的是IPV6的公网做穿透。在应用中心搜索lucky点击安装即可,这时候Web UI界面会出现lucky的图标。点击就能进去。同样的这个是一个web应用。
记得在路由器的设置界面关闭IPV6的防火墙。
这里我通过docker部署LibreTV应用再使用lucky实现外网可访问。docker安装LibreTV的步骤这里省略。因为飞牛云的Web UI界面中是可以直接去创建docker应用的。
lucky官方网站:https://lucky666.cn/
1、在lucky管理页面中的动态域名 解析中去添加任务。任务名称随意填写,任务开关和操作模式默认即可。在DNS服务商设置中,选择你域名所属的服务商。并点击创建AccessKey根据提示去创建,创建完成后填写AccessKey ID 和AccessKey Secret 栏目。类型选择IPV6 ,获取公网方式选择通过网卡获取如下,在域名列表中填写匹配的域名信息。*.suxichuan.icu这个域名表示匹配这个域名下的所有子域名。然后点击添加任务按钮。

2、添加成功完成后,在任务列表在IPV6的栏目中可以看到dns信息与记录值一致。表示配置完成了,两个项都可以查看配置成功。

3、这时候在阿里云的域名解析中就可以看到两条指向IPV6的信息如下,其实就是lucky通过AccessKey去创建的。当然你也可以直接通过手动添加的方式去添加域名解析的记录值。IPV6的地址可以直接在系统设置的网络设置中看到。
其实直接在域名中加上IPV6的解析以后,在外网访问域名时就可以访问了,由于我的LibreTV程序开放的端口是8899。http://tv.suxichuan.icu:8899就能直接访问了。只是通过http的协议去访问的。所以最好是使用https。

4、在安全管理 中去添加证书。添加方式勾选:ACME ,证书的颁发机构选择:Let's Encrypt ,验证方式选择阿里云 。这里同样是需要填写阿里云的AccessKey ID 和AccessKey Secret 栏目的,根据上面添加任务一样填写,更多设置 栏目和代理设置栏目默认即可。稍等片刻证书就是生成成功如下图
一般来说是可以成功的,但是我这使用zerossl失败了,所以直接登录了zerossl的官网去直接申请证书。申请完成然后下载证书,并把证书上传到lucky的安全管理模块。
如果你遇到一些问题可以直接在日志中去查看什么原因失败,然后接合lucky官方文档的SSL证书模块去排查错误即可。或者是像我一样直接去官方手动申请。

啰嗦一下zerossl手动创建证书,在Certificates模块点击创建新的证书,Domains:填写所要申请证书的域名。Validity:选择90days。因为免费版本只有90天。Add-Ons:全部默认即可。Encryption Algorithm:默认RSA 2048 (Maximum Compatibility)选项。Finalize Your Order:默认使用免费的。点击下一步之后会验证域名。这里使用DNS(CNAME)的方式去验证。这时zerossl会给出一个NAME 值和一个Point To如下
Name
_305ed2250d13b86bb719d9685ff1338e.tv
Point To
4e75be2a79807b9e211c74247ff292e7.f0d69c69b62a4f51b4dae23beb378e46.062f030c9a70d74.comodoca.com
在域名解析模块去添加一条记录,如下,然后在验证模块点击验证即可,验证完毕就可以下载证书了。

5、设置反向代理。在Web服务中去添加Web服务规则 。Web服务规则名称随意填写。操作模式 默认简易模式,监听类型 勾选IPV6,监听端口填写未被使用的端口,开启防火墙自动放行。在Web子规则 中去添加规则。Web服务子规则中,Web服务子规则名称随意填写,子规则开关【启用】,Web服务类型选择【反向代理】,前端域名/地址 即域名访问地址tv.suxichuan.icu,后端地址就是LibreTV程序的IP地址和端口就行,其他选项默认。完成这些操作就可以在外网访问飞牛云部署的docker应用程序了。

不过这里还是有一个问题就是必须手动输入https。否则浏览器默认还是http,造成无法访问,所以可以在Web规则中去添加新的规则。操作模式选定制模式,监听类型选择IPV4,监听端口和前面的反代端口保持一致,TLS一定要禁用!然后点击"默认子规则"。Web服务类型:选择【重定向】,默认目标地址:填写https://{host}:{port} ,其他的默认。这样直接输入二级域名加端口号就可以直接访问服务了。
实际上,https协议默认的端口为443。但是目前绝大多数家庭宽带80和443端口都是被运营商封闭的,所以只能选择其他端口。
🌙CloudFare Tunnels穿透
1、登录Cloudflarea官网在Zero Trust模块选择Networks,在该栏目中选择Tunnels,点击创建Tunnels。界面如下

2、隧道类型选择Cloudflare,然后填入隧道名称(随意),保存就行。

3、选择docker部署连接器。然后去飞牛云部署连接器
docker run cloudflare/cloudflared:latest tunnel --no-autoupdate run --token eyJhIjoiNzQxZDE4YTg5NGZiOTRiOWZjMjIzNzY3MzRkNzBmMjAiLCJ0IjoiYzcxOWYwY2ItYWNjNy00MTM3LTkwNTAtMjAyYmVmOTUwMTRhIiwicyI6Ik9XSmhPVGMzWkdNdFkySXdaaTAwT1RReExUaGxNakl0TXpZeE4yWmhPVEl3WXpJdyJ9
或者使用docker-compose,注意替换token
version: '3'
services:
cloudflared:
image: cloudflare/cloudflared:latest
command: tunnel --no-autoupdate run --token eyJhIjoiNzQxZDE4YTg5NGZiOTRiOWZjMjIzNzY3MzRkNzBmMjAiLCJ0IjoiYzcxOWYwY2ItYWNjNy00MTM3LTkwNTAtMjAyYmVmOTUwMTRhIiwicyI6Ik9XSmhPVGMzWkdNdFkySXdaaTAwT1RReExUaGxNakl0TXpZeE4yWmhPVEl3WXpJdyJ9
restart: unless-stopped

4、运行成功以后,连接器列表会显示,点击下一步配置子域名如下。

5、完成上述步骤,也可以通过外网去访问飞牛云里的docker程序。
🌙总结
当然也有很多其他的工具,但是我使用下来,觉得lucky还是不错的,飞牛云应用商城还有很多好用的工具可以使用,是一个不错的NAS系统。好了今天的分享就到这里。