11

【新生指南-004】内网穿透1-使用Lucky实现ipv6动态解析+HTTPS访问NAS服务(喂奶级)

发表于:2024-10-13 13:17:04 Docker 5402
本帖最后由 madrays 于 2024-10-14 00:34 编辑

       之前介绍了非常好用的导航页SunPanel,可是大多数时候希望将SunPanel部署在家中的服务器或NAS中,现在家宽基本上没有公网ipv4,那么如何在外网访问家中部署的SunPanel服务就亟待解决了,本文介绍一种通过Lucky来进行ipv6动态解析实现域名+端口访问家中NAS中的各项服务的方法,并尝试部署证书实现HTTPS访问。需要注意的是,请保证NAS拥有公网ipv6。


🌎️前言
🧭Lucky官方介绍
Lucky最初是作为一个小工具,由开发者为自己的个人使用而开发,用于替代socat,在小米路由AX6000官方系统上实现公网IPv6转内网IPv4的功能。Lucky的设计始终致力于让更多的Linux嵌入式设备运行,以实现或集成个人用户常用功能,降低用户的硬件和软件操作学习成本,同时引导使用者注意网络安全。随着版本更新和网友反馈,Lucky不断迭代改进,拥有更多功能和更好的性能,成为用户值得信赖的工具。
Lucky 的核心程序完全采用 Golang 实现,具有高效、稳定、跨平台等优点。其后台前端则采用 Vue3.2 技术进行开发,具有良好的用户体验和响应速度。此外,Lucky 的管理后台采用前后端分离的架构,第三方开发者也可以自由使用OpenToken轻松调用Lucky的各种功能接口。
🗻功能模块
目前已经实现/集成的主要功能模块有
  • 端口转发
  • 动态域名(DDNS)
  • Web服务
  • Stun内网穿透
  • 网络唤醒
  • 计划任务
  • ACME自动证书
  • 网络存储


🏜️Lucky部署
本次依然使用docker,在飞牛上部署Lucky。
🛑拉取镜像
首先连接飞牛SSH(不会的看前面帖子哈),这里使用Xshell,输入sudo -i,接着输入密码进入root模式(输密码不显示字符,直接回车就好):

  1. sudo -i
复制代码
  1. username@XXX:/$ sudo -i
  2. Password:
  3. root@XXX:~#
复制代码
显示上面的代码就可以了,接着拉取镜像:
  1. docker pull gdy666/lucky
复制代码



🛩️docker部署

🛑路径创建
建议将docker项目的配置文件都放在飞牛自带的应用文件中,不过这个页面我们无法新建文件夹,所以进入管理员视角:


文件管理器中找到你设置的docker所在存储空间中的appshare文件夹,这个就是前面的应用文件,新建一个lucky文件夹,接着在lucky文件夹中新建一个luckyconf文件夹,文件树如下图所示:

🛑一键部署
使用SSH 命令一键部署即可,记得需要root权限
#注意这里与官方命令不一样的是前面的本机路径,请根据自己的实际情况选择刚刚新建的luckyconf文件夹的真实地址,对这个不太了解的同学可以看下我的之前docker简介帖子哈 #
  1. docker run -d --name lucky --restart=always --net=host -v /vol1/@appshare/lucky/luckyconf:/goodluck gdy666/lucky
复制代码
显示如下界面表示已经部署成功了,访问127.0.0.2:16601(127.0.0.2替换为飞牛的ip地址)即可进入lucky的webui界面了。
  1. root@xxx:~# docker run -d --name lucky --restart=always --net=host -v /vol1/@appshare/lucky/luckyconf:/goodluck gdy666/lucky
  2. 5e088d9018a5845165b1f95aed39437e8121b2733f8d540a096a32dbfeb5e1a5
  3. root@xxx:~#
复制代码
默认账号密码

账号:666

密码:666

登录后记得更改账号密码。


🛑AccessKey获取
登录后先别着急,先要去获取域名解析的AccessKey,这里以阿里云为例,各大服务商大差不差:


🛑DDNS任务添加
获取到AccessKey记得保存好,回到lucky,添加DDNS任务,填入对应托管服务商的AccessKey信息,选择ipv6类型,建议通过接口获取公网ip,域名的话这里建议使用泛域名,方便后期添加SSL证书。

添加任务后我们看两个地方来确认任务生效,一个是lucky的任务列表,成功的话应如下图所示,可以获取到公网ipv6地址了:

第二我们要去域名解析服务处查看,是否自动增加了一条泛域名的AAAA记录,记录值与lucky获取的公网ipv6一致:

🛑SSL证书获取
使用lucky自带的证书申请模块:

申请成功后如下图所示:

🛑Lucky配置反向代理

服务规则中需要注意的是我们只勾选tcp6就可以了,监听端口自行设置不存在冲突的端口,这个端口举个例子,你想用A.example.com:8888访问内网中的127.0.0.1:3002的Sunpanel服务,那么这里的监听端口就需要设置为8888;
同时我们开启TLS,由于我们提前申请了泛域名解析,下图中别的都不用动,包括默认规则。

接着编辑子规则,选择反向代理,输入自己想要访问的二级域名,注意这里不要加端口,但是最后访问的时候需要以sunpanel.example.com:8888进行访问,这里的8888就是前面的监听端口,别的都不用动。

可以增加多个子规则,一次性解决所有服务哈哈


到这里已经可以使用了。

不过还没完呢,为了实现http自动跳转https,从而实现免输入https://,我们接着新增一条web服务规则,监听上面设置的8888端口,但是不要开启TLS:

默认规则中选择重定向,默认目标地址输入https://{host}:8888,别的都不要动,保存即可。

全部设置完成后页面如下图所示:


🛑万事大吉
这下子真的万事大吉了!




收藏
送赞 11
分享

发表回复

评论列表(56)

有需要的看看哈
2024-10-14 15:05:11 回复
顶顶顶顶
2024-10-14 18:06:39 回复

顶顶顶顶
2024-10-14 21:41:16 回复
太需要了,搞半天~
2024-10-14 22:17:51 回复
总是喂奶,难道是奶牛不成?
产奶量高,不错觉悟高
2024-10-16 08:37:36 回复
大佬,按照你的这篇文章操作,完成后局域网内可以HTTPS自动跳转访问,可是外网不行,不能访问请问是什么原因?
2024-10-17 13:25:17 回复
先用地址加端口访问判断地址是否外网可用,可用的话检查防火墙,还有种可能是浏览器缓存  详情 回复
2024-10-17 15:39
先用地址加端口访问判断地址是否外网可用,可用的话检查防火墙,还有种可能是浏览器缓存
2024-10-17 15:39:19 回复
404 page not found为啥成这样
2024-10-17 16:12:21 回复
报404的可能太多了啊  详情 回复
2024-10-17 16:14
报404的可能太多了啊
2024-10-17 16:14:27 回复