怎么实现

虽然可以使用QuickConnect从公网连接家里的群晖,但是访问速度会受限制,且不容易记住。
如果可以将自己买的域名解析到群晖上就好了。
但是这么做要解决两个问题:
1、家用宽带的公网IP是动态的,过两天就会分配一个新的IP
2、家用宽带的80和443端口默认被运营商屏蔽了
第二个问题可以通过使用其他端口解决,第一个问题就要通过下面的方法来实现:动态域名解析(DDNS)--定时探测群晖最新的公网地址,将域名解析的A记录改成当前IP

安装docker

在群晖套件中搜索安装docker
file
安装完毕后,打开docker,并单机注册表,然后搜索“aliyun",选择第一个搜索结果aliyun-ddns-cli并按第一行的下载,下载该映像
file
在左侧单机映像,然后选中刚刚下载的映像,单机第一行的启动
file

创建映像

点击启动后会自动进入创建容器窗口。
file
这里我点击左下角的高级设置按钮,然后进入配置窗口,在配置窗口中单击环境选卡:
file
file

获取阿里云accesskey

现在我们需要从阿里云中获取AKID、AKSCT两项内容,他们是登录阿里进行ddns设置的用户权限,这个需要从阿里云的accesskey获取。

登录阿里云的控制台,把鼠标放到右上角头像上会弹出子窗口,选择Accesskey管理
file
此时会弹出提示窗口,建议使用子用户创建。所以我们点击开始使用子用户,进入到RA访问控制后,点击开始使用子用户AccessKey
file
勾选open API选项就可以了,这个账户不需要控制台登录权限的。
file
完成后,刷新页面,单击刚刚创建的用户名,点权限管理
file
新增授权
file
选择授权AliyunDNSFullAccess
file
完成后,可以看到已经被赋予dns管理权限
file
回到认证管理页,可以看到一开始已有一个accesskey id了,但是看不到密码,而且这个密码也无法再重新查看了,只能后面新建一个Accesskey id
file
创建AccessKey会弹出新建的id和secret,这个id和secret就是群晖里面需要的信息。
file

配置映像

回到群晖,在环境选项卡中输入我们得到的id和secret
AKID:自己域名的AccessKey ID
AKSCT:自己域名的Access Key Secret
Domain:设置访问的域名,可以根据自己的喜欢设置一级或二级域名。
REDO:设置多少分钟更新一次dns设置,我这里设置的300秒,即5分钟
file
设置端口
file
存储空间映射(将docker的目录映射到容器中)。也可以选择不映射
file

启动容器

映像创建成功后,在容器中可见该容器,并对其可以启停
file
在域名解析列表中可见已自动生成一条A记录的解析
file
该条A记录的IP会根据容器的公网IP变化

配置映射

通过上面的方法可以将公网的请求引导家门口,但是还需要告诉访问者是请求的哪个内网IP和端口,所以需要在出口路由器配置一个端口映射。每个品牌路由器的配置界面不同,主要输入:公网端口,内网IP,内网端口
比如要访问控制台(默认端口5000)
配置公网端口(任意,除了80和443):5566,
内网IP:192.168.1.2,
内网端口:5001
这样,访问刚配置的域名nas.boxbull.com:5566就可以访问到内网的192.168.1.2:5001了
file

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。