不少童鞋购买nas后想出门在外也能实时访问家里的设备,但要么通过内网穿透,比如nas自带的服务或者frp这些做到从外网访问;要么就是通过公网ipv4/ipv6直接连接家里设备,目前家庭宽带都有公网(ipv6也是公网),用公网直接连接速度更快,但家宽都是动态ip,这里就用docker部署ddns-go服务来实时解析实现实时访问nas。
这里解释一下为什么要自己部署一个ddns-go,虽然威联通自带ddns,但是有时候会遇到域名劫持等情况(dns被神秘力量解析到127.0.0.1导致不能访问),而且解析速度也偏慢,用自己的域名来解析速度就会快很多。
简单介绍下docker,docker是一种开源的容器化平台,可以将应用程序及其依赖打包成一个独立的容器,实现快速部署、可移植性和可扩展性,可以理解成类似于直接安装软件,只需要下载对应的容器简单配置下就可以直接使用,在nas中绝大部分玩法都是用docker实现的,比如pt下载、网盘分享、ddns动态域名解析、影音播放等。
一、安装Container Station登录nas后台管理界面,打开app,搜索Container Station,安装应用。
(可选)二、解决不能拉取docker部分地区网络问题,会导致docker突然不能正常拉取镜像,会提示“获取版本失败”,或者哪怕能拉取速度也非常缓慢,只有几k每秒的速度,解决办法请看《一分钟解决docker镜像拉取失败/缓慢问题》,不修改也可以,直接搜索对应容器名称一样可以。
(可选)三、购买域名
四、部署ddns-go打开Container Station,进入容器,点击创建,映像填入jeessy/ddns-go(ddns-go的映像),点击下一步。
名称可以自定义,然后点击高级设置。
点击网络设置,模式选择自定义host,如果端口有冲突就选择其他模式。
转到存储,选择绑定装载主机路径。
再点击主机旁边的文件夹图标。
选择文件夹,这里的文件夹是用来存储ddns-go的配置文件,点击应用。
容器那一栏填入/root(这里指的是ddns-go容器内部文件),权限需要选择RW(读写),点击应用,再点击下一步。
之后点击完成即可。
三、配置ddns-go浏览器打开nas ip:9876,就可以进入到配置界面。在dns服务商那里选择自己对应服务商即可,然后点击蓝色字体跳转到对应厂商创建密钥等详细,这里我以dnspod为例。
登录dnspod后点击左上角创建密钥,再填入密钥名称。
点击确定之后即可弹出id,token等信息,此信息只会显示一次,请妥善保管。
返回到ddns-go配置界面,填入id以及token。 之后填入自己的域名。 请注意,如果家里没有公网ipv4只有ipv6,请不要启用ipv4,否则在特殊情况下会导致无法连接。 在docker网络模式为host情况下,ipv4除非是在路由器上直接部署,这时候可以选择通过网卡获取ip,否则一律通过接口获取;ipv6选通过网卡获取;如果是非host模式,均选择通过接口获取。 提醒:ipv6与ipv4不能互通,如果公司只有v4且家里仅有v6,这时候是无法访问,如果有这种需求请考虑额外搭建隧道或者使用内网穿透,也可以利用cf等做到v4和v6互访,具体教程过段时间再出。
(可选)三、配置推送有时候想要及时掌握家里ip变动情况,这时候就可以配置相关推送,当ip变动之后可以及时知晓,在特殊情况比如dns记录没有生效等情况下就可以直接用ip连接设备。
转到Key&API设置,复制自己的key。
转到ddns-go Webhook配置,填入以下url,请自行更换自己刚刚复制的key。
https://sctapi.ftqq.com/[SendKey].send?title=你的公网IP变了&desp=主人IPv4变了#{ipv4Addr} , #{ipv6Addr},域名更新结果:#{ipv4Result}, #{ipv6Result}
四、保存配置并验证ddns完成上述步骤后点击save保存。此时即可查看日志确认配置是否生效,如果配置了推送也会收到相应推送。
登录域名服务商也可以发现ddns已经生效。
ddns会每隔一段时间检测ip是否有变动,此时就可以安心使用域名访
|