下载帮

您现在的位置是:首页 > 教程分享 > NAS教程

NAS教程

nas没有公网ipv4,也可以使用Lucky实现反向代理+Https外网访问家庭NAS

2025-01-03 12:42NAS教程

想从外网(公网)访问家中的NAS,首先最好还是拥有公网IPv4。不过考虑到现在宽带运营商基本上不给公网IPv4,而IPv6则相对比较容易获取,因此此篇以ipv6为例;

官网如下:https://www.lucky666.cn/docs/intro

相比于DDNS-GO,lucky支持端口转发、Web服务、Stun内网穿透、网络唤醒、ACME自动证书等等,本篇主要内容为“使用Lucky实现反向代理+Https外网访问家庭NAS”,其他暂不涉及

一、前提条件

1、有个域名

2、有台nas

3、有个脑子

 

二、docker安装

强烈推荐大家使用docker compose创建项目,省心省力

services:

  lucky:

    image: gdy666/lucky

    container_name: lucky

    volumes:

      - NAS绝对路径:/goodluck

network_mode: host  #在bridge模式下,Lucky不支持IPv6,而且IPv4也可能会出现端口无法访问的情况

    ports:

      - "16601:16601" #若有冲突可修改端口号,一般情况下无需修改

restart: always

三、应用配置

1、容器安装好之后,

默认登陆地址 : http://{IP地址}:16601

默认账号:666

默认密码:666

2、填入后登录,并点击左侧的“设置”选项卡,重新设置一套新的管理账号和密码,确保安全:

 

3、设置DDNS(动态域名解析)

預覽

 

操作模式选择“简易模式”,DNS服务商选择域名对应的服务商,并填入AccessKey ID和 Secret,

获取方式选择通过接口获取,最后域名列表填写两行,第一行是abc.com,第二行是*.abc.com,代表二级域名。其他默认,点击添加即可,

稍等几分钟,看到同步结果为“域名IP和公网IP一致”,就说明DDNS设置成功了

 

4、申请SSL

 

点击左侧“安全管理”选项卡,并点击“添加证书”;

添加方式选择ACME,证书颁发机构选择Let's Encrypt,DNS服务商选择自己的服务商;

AccessKey的ID,Secret,主域名和二级域名,下面的邮箱不动也行,换自己的也行,算法选择默认的RSA2048

「如果你的公网IP是IPv4,就开启DNS查询强制IPv4,同时启用DNS查询仅使用TCP通道。」

其他所有选项全部保持默认,并点击添加完成。

注意:证书申请需要时间较长,耐心等待。成功后就会出现ACME信息,起止时间。每张免费SSL证书的有效期为三个月,但Lucky在证书到期日会自动续签,不用管了。

 

四、反代设置

特别注意,一定要开启TLS,否则无法使用HTTPS。

接下来点击“添加Web服务子规则”。实际上,这个所谓的“子规则”,就是你从外网访问的某项服务,比如qb、mp等等,或者NAS管理页面。名称建议就用应用简称,规则开关开启。Web服务类型选择“反向代理”。

前端域名/地址需要填写你想要从外网访问该服务的二级域名,比如我这个子规则是分配给qb的,那我就写qb.abc.com。

而后端地址则需要写你访问该服务的内网IP和对应服务端口号,前面不要忘记加http://,其他选项全部保持默认。

举例如下:

 

然后在Web服务中添加一条全新的Web服务规则(注意不是子规则)。名称随便,操作模式选定制模式,监听端口和前面的反代端口保持一致,TLS一定要禁用!然后点击“默认子规则”

打开默认子规则界面后,Web服务类型选择重定向,然后在默认目标地址中输入:

https://{host}:{port}

并打开万事大吉开关(自动添加请求头),其他所有选项全部保持默认,添加完成

 

全部设置好以后,我们还需要把反向代理的端口通过路由器映射出去,这里我们只需要映射一个反代端口就可以,不用把每个服务单独的内网端口再映射出去,注意内网端口和外网端口号要保持一致

各家路由器界面不一,仅做举例

 

在外网访问时我们只需要输入xxx.abc.com:端口号,浏览器就会自动跳转到https协议,非常方便。

大功告成!

文章评论