我原来以为评论区的小伙伴说出Lucky的时候,我只是单纯的觉得它可能也只是一个单纯的反代工具,搭建之前我其实并没有对它抱有很大的希望,毕竟这类很多工具都是免费开源的,有些编程基础的其实都可以借鉴源码编译出另外一个自己的版本。
不过等我体验之后,才发现它的功能非常丰富,并且因为是国人开发,操作逻辑和易用性也更符合我们国人的使用习惯。
🔺该工具的作者为@gdy666,再此再次对互联网所有的无私奉献者表示感谢!!!
至于该工具的作用,我直接引用作者自己的介绍:
1.替代socat,主要用于公网IPv6 tcp/udp转 内网ipv4
支持界面化(web后台)管理转发规则,单条转发规则支持设置多个转发端口,一键开关指定转发规则
单条规则支持黑白名单安全模式切换,白名单模式可以让没有安全验证的内网服务端口稍微安全一丢丢暴露到公网
Web后台支持查看最新100条日志
另有精简版不带后台,支持命令行快捷设置转发规则,有利于空间有限的嵌入式设备运行.(不再提供编译版本,如有需求可以自己编译)
2.动态域名服务
在ddns-go的基础上主要改进/增加的功能有
1.同时支持接入多个不同的DNS服务商
2.支持http/https/socks5代理设置
3.自定义(Callback)和Webhook支持自定义headers
4.支持BasicAuth
5.DDNS任务列表即可了解全部信息(包含错误信息),无需单独查看日志.
6.调用DNS服务商接口更新域名信息前可以先通过DNS解析域名比较IP,减少对服务商接口调用.
其它细节功能自己慢慢发现...
没有文档,后台各处的提示信息已经足够多.
支持的DNS服务商和DDNS-GO一样,有Alidns(阿里云),百度云,Cloudflare,Dnspod(腾讯云),华为云.自定义(Callback)内置有每步,No-IP,Dynv6,Dynu模版,一键填充,仅需修改相应用户密码或者token即可快速接入.
看了介绍之后,我原本以为NAS有了ddns-go就天下无阻了,没想到Lucky比它更猛!
到底怎么样,盘起来再说吧!
👉安装前的准备
🔺打开NAS的文件管理器,在 docker 文件夹中(威联通默认为Container文件夹),创建一个新文件夹【goodluck】,用于存放它的相关数据。
👉正式安装和部署
今天使用的安装方式为SSH终端部署,演示的NAS为威联通。至于SSH工具请自行解决,Putty,XShell,FinalShell等都可以,我个人使用的是FinalShell。
🔺使用SSH终端工具连接到NAS之后先改用管理员模式登录,输入命令“ sudo -i ”回车,提示输入密码,密码就是我们NAS的登录密码,输入的时候不会有显示,输入完成后直接点回车即可。
🔺然后还需要在出现上图界面的时候输入“Q”和“Y”(群晖和华硕NAS没有这步操作)。
🔺接着输入Docker run命令:
docker run -d --name lucky --restart always --net=host -p 16601:16601 -v /docker/goodluck:/goodluck gdy666/lucky
以上命令需要改动的为:
-p 16601:16601:冒号前面改为本地没被占用的端口;
-v /docker/goodluck:/goodluck:冒号前面对应我们前面新建“goodluck”文件夹的本地实际路径
🔺如果没有问题在NAS的Docker容器列表中就能看到lucky容器已经正在运行了,说明部署成功。
直接在浏览器中输入 【http:// NAS的局域网IP:端口号】 就能看到OneNav的登录界面了。
第一步:设置账号和密码
🔺默认的账号和密码均为“666”,先“登录”进去。
🔺主界面确实做的挺简洁的,还有帮助说明。并且功能也远远比我想象的更要多,并且几乎都是我们在折腾NAS的时候需要的,比如除了今天要说的DDNS与反向代理,还有端口转发,内网穿透,网络唤醒等多个功能。
🔺为了安全起见,我们进入容器的第一步就是在“设置”中更改默认的账号和密码。
第二步:设置DDNS(动态域名解析)
🔺在左侧点击“动态域名”,选择“添加DDNS任务”。
🔺这里默认你已经有了自己的域名,以下信息是你需要填写的:
DDNS任务名称:自己随意填
DNS服务商:选择自己域名的服务商,我这里是腾讯云,如果你是阿里云就选择阿里的
Token:这个就填入自己在域名服务商那里获取到的数据,不知道的可以去下面文章里学习下~
公网IP类型:有IPv4的当然选IPv4,没有的选IPv6
域名列表:需要填两行,第一行是主域名,第二行是泛域名,也就是在前面加上“ *. ”即可。
其它的直接保持默认即可,最后点“添加”。
🔺返回到页面之后,在“任务列表”这里看到“同步结果”显示为“成功”,就说明我们前面的设置没有问题。
🔺这个时候我们就能用自己的这个域名远程访问自己的NAS了!不过这里显示的是“不安全”,其实是我们还没建立更安全的HTTPS连接,也就是没有部署SSL证书。
其实到这里,我们就已经实现了DDNS-GO容器的效果了,并且通过这次体验,有一说一,我个人觉得它的体验确实好过DDNS-GO。
第三步:部署SSL证书
🔺点击左侧的“安全管理”,选择“SSL证书添加”。
🔺以下信息是你需要填写的:
备注:随意填一个
添加方式:选择“ACME”
证书颁发机构:选择“Let's Encrypt”,选择它的目的是因为虽说它的SSL证书有效期仅为三个月,但是Lucky会一直自动帮我们续签,这个够意思吧!
DNS服务商:和前面一样,选择自己域名的服务商
API秘钥:这里人家提示的很清楚,是腾讯云API秘钥,而不是前面的Token
域名列表:和前面一样,需要填两行,第一行是主域名,第二行是泛域名
勾选:“DNS查询强制IPv4”和“DNS查询仅使用TCP通道”
其它的直接保持默认即可,最后点“添加”。
🔺证书的申请可能需要等一会,一般在一分钟到三分钟之间。我们可以点开“日志”看它申请的过程,当出现“证书申请成功”和“已保存到配置” 的显示的时候,就说明证书部署成功。
🔺部署成功的证书会显示ACME信息,以及颁发时间和到期时间。
第四步:设置安全的反向代理
🔺反代就比较简单了,选择左侧的“Web服务”,点击“添加Web服务规则”。
🔺以下信息是你需要填写的:
Web服务规则名称:随意填
监听类型:同理,有IPv4的当然选IPv4,没有的选IPv6(其实两个都选也没问题)
监听端口:自己随意改,只要本地端口没被占用即可
TLS:因为我们前面设置好了SSL,为了安全的反向代理,这里必须启用
其它的直接保持默认即可,接着点“添加Web服务子规则”。
🔺其实这个子规则就是我们外网访问NAS的某项服务时,我们需要隐藏的这个服务。需要填写的信息为:
Web服务子规则名称:随意填
Web服务类型:当然是“反向代理”了
前端域名/地址:填写从外网访问该服务的二级域名,简单来说就是在我们前面填写的自己域名前面随意添加一个自己能记下来的前缀即可
后端地址:这个就必须是NAS中该服务的局域网页面地址了,一般就是“内网IP+端口号”组成,直接在页面的地址栏复制粘贴过来即可。注意,前面是有“http://”的。
BasicAuth认证:这个和NginxWebUI那个加密功能是一样的,就是我们外网访问的时候需要先输入账号和密码才能打开,相当于在安全上又多了一层屏障,看个人需求吧~
如果这个时候你只需要这一个反向代理服务,这个时候你就可以直接点击右下角的“添加”按钮即可。如果你有其它服务需要反向代理,则需要直接点击“添加Web服务子规则”继续。
我这里顺便也演示一遍吧。
🔺比如说我这里添加了第二个需要反代的服务,其实操作和前面的一模一样,需要更改的只是前端域名的前缀即可,只要和前面的不冲突随意改。
🔺设置好之后再“服务列表”就能看到我们前面设置好的规则。反代之后的好处就是我们以后访问家里NAS中的所有服务都不需要记端口号了(因为端口号都是一样的,或者说有那位老6测试80和443端口可以使用,端口号就不用记了,直接使用域名访问),我们只需要记下域名的前缀即可(前缀我们尽量设置简单点,并且和对应的服务有关联性)。
🔺最后别忘了在路由器将反代的端口号做一个端口转发。
🔺看下效果:已经可以HTTPS外网访问,并且前面也正常显示安全小锁,此次折腾成功!
通过前面的折腾可以看出,Lucky这款工具确实不错!可以说是它集中了NAS中两大神器:DDNS神器【DDNS-GO】和反向代理神器【Nginx Proxy Manager】,并且在使用体验上也是有所优化。可能是我折腾太多有了一些经验,我个人完成今天教程所有的操作真的还没用到10分钟,真的是快捷又方便!
再次感谢@gdy666大佬,分享出这么好的工具!
好了,以上就是今天给大家分享的内容,我是爱分享的Stark-C,如果今天的内容对你有帮助请记得收藏,顺便点点关注,我会经常给大家分享各类有意思的软件和免费干货,咱们下期再见!谢谢大家~
来源微信公众号: Stark324