前言
上回说到,通过公网IP,我们已经能使用 ip:端口 的方式,在外网访问到,我们的群晖nas了。
但是面临着两个问题。第一点,公网ip复杂难记,就是你勉强记住了,熟悉了,第二点,ip是会变化的。
这就很难受了。
有没有什么好的解决方案。
答案自然是有的——DDNS。
什么是DDNS
参考百度百科。
DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。
这东西听起来就很符合我们的需求。
开搞。
准备
其实群晖自带也是有DDNS的设置的。在,控制面板-外部访问-DDNS中。
其实,可以申请群晖自己的服务,包括域名那些。
好像是可以免费的。(没折腾过,不清楚,回头试试)
可是我为啥还是选择阿里云。
- 机子支持docker,想玩。(别问我为啥需要docker,因为群晖ddns的设置里面,服务商没有阿里云的)
- 我自己有阿里云服务器;
- 我已经有备案好的自己的域名了。
如果你也想加入阿里云。可以看看这里。双十二还有活动。
如果你也具备这些条件,那就继续往下看。
阿里云设置
1. 登录阿里云控制台,鼠标右上角头像,找到 “accesskey管理”
2. 进去之后选择使用子账号Accesskey
因为就是说,好管理,权限分配的比较明确。这一块,比较推荐这么做。
创建好账号,授权
3. 权限管理-授权
选择就是 管理云解析(DNS)的权限
注意是管理!
4. 将账号的 AccessKeyID、AccessKeySecret 保存下来
有个选择,可以选择下载下来的。
这样不容易忘记。
保存这两个,极其重要。
域名设置
还是在阿里云的控制台,选择就是找到域名解析。
点击“域名”,进去找到就是域名解析。
对自己已经备好案的域名,进行解析的设置。
选择添加记录。
选择类型A-将域名指向一个ipv4地址,
主机记录,补充完整自己的域名。(这个完整的域名下面要用到)
记录值,选择你家的公网ip。
docker跑起来
1. 套件中心下载docker,安装
2. 在注册表中,搜索 “aliyun-ddns”,此处我用的第一个
3. 右键下载安装
如果你下载不了,可能docker需要设置一下。 这个在我折腾jellyfin 的时候,就体验到了。
如果docker下载速度慢,或者失败,你可能需要设置下docker镜像。
关于一个是jellyfin的教程。
4. 等待下载完成,你可以在“映像”中看到
5. 选中,左上角的“启动”,打开设置向导
在”高级设置“中,选择“环境“ ,对应关系
AKID 对应 刚刚保存下来的 AccessKeyID
AKSCT 对应 AccessKeySecret
DOMAIN 对应 (刚刚的完整的)你的域名
6. 应用,启动,
在容器选择你启动的ddns,右键详情,在日志里面找到解析记录的话,就是成功了。
如何访问
当上面都弄好了。你可以通过 域名加端口的方式,访问到你的群晖了。举个栗子。
home.xxxx.xyz:5000
至此,外网访问总算是完美了。
希望对你有帮助。
2020/12/18 补充更新
早上看到阿里云半夜给我发邮件。说是记录值修改了。
可以证明我们的设置没有问题。当公网ip变化的时候,docker的程序能发现这一变化,然后因为有云解析的权限,去修改了这个记录值,保证我们能通过一直通过域名访问到我的群晖啦。
原文链接:https://zhuanlan.zhihu.com/p/337707465