随着时代的发展,越来越多的人学会了折腾各类数码产品,比如nas。因此就有了外网访问设备的需求。
访问方法有很多,对于有公网Ip的朋友们,这是一种福利,对于没有公网ip的,也不要气磊,因为Ipv6的公网已经来啦~!
域名是一定要有的。国内服务商有很多,例如腾讯、阿里。有很多活动域名。例如xyz域名,腾讯这边经常有活动,首年相当便宜。当让,如果你实在不想花钱,也有很多免费的顶级域名可以注册,例如tk域名。。当然,本文就不再说明如何注册了。
域名是需要解析才会生效的,因此需要配置dns解析商。国内的话,腾讯/dnspod、阿里 都是比较常见的解析服务提供商。本文提到的ddns服务 支持的是 腾讯云、dnspod.cn、阿里云 这3中 api的解析服务。
本文讲述的是我自己写的ddns服务,哈哈。目标就是简化客户端的配置和代码量,主要是方便我以前的路由器能实时更新ddns,那是多年前的事情了,那时候各类插件并不全,因此就自己写了个。
1、scjtqs服务站的ddns功能:
a、ipv4的ddns批量更新
b、ipv6的ddns更新
c、ip变化之后会收到qq通知
d、部署简单,只要你的路由器/设备支持 wget 或者 curl之类的url访问工具,并支持定时任务 (例如crontab )就行。
e、支持docker化。
g、支持dnspod.cn、阿里云dns服务,腾讯云dns服务。有其他解析服务需求的,欢迎联系我,我添加支持。
2、注册scjtqs服务站账号:
a、打开 https://wx.scjtqs.com 的注册网址 (目前只开放了qq授权登录,微信的登录应该还没过期,还能用,后续不打算续期了,每年300大洋,腾讯真坑)
c、输入验证码(随便输4个字母就行了,我取消了验证,走个形式)激活ddns服务。
3、配置使用ipv4的ddns服务
a、配置ddns服务信息,打开 https://wx.scjtqs.com/ddns/user/dnstype 选择你的api的授权和信息。目前我只支持了阿里云、腾讯云 以及dnspod.cn的api。别认为腾讯云和dnspod.cn合并了,他们的api就是一个了。他们的api是分开的,dnspod.cn的api到2012年就没更新了。推荐dnspod.cn的用户使用腾讯云的api的key,放心,他们是一家的,不用改解析,点击对应的“获取地址” 取得对应的key:
其中token验证码,随便填一些数字就行。(个人推荐使用腾讯云 的api这一套,因为我自己用的就是,有bug我自己就发现并修复了,其他的部分未经严格测试)。
c、配置qq消息推送(可选服务):https://wx.scjtqs.com/ddns/user/qq 使用该服务,需要添加机器人的qq号为好友,然后输入你的接收端的qq好进行确认就行。如果一直提示验证失败,那么请确认你 是否添加了好友,如果确认已添加了好友,那么将好友删掉重新添加一下。(如果多次尝试未成功,可以联系我处理该“bug”。
d、到这里ipv4的ddns基本完成得差不多了,就剩下客户端对应起来了。
在你的设备 上 可以是 路由器,也可以是nas上面,配置上定时任务,使其每分钟 定时访问你的 私密链接 这样一旦你的ip变化了,服务器这边会自动更新你的ip解析,并且推送到你的qq上。
4、配置并使用ipv6的ddns服务(仅支持设备具备单独的ipv6公网的,nat6的情况就抱歉了,除非你的路由器支持docker,就可以部署在路由器上)
a、ipv6的部分仅支持 docker方式部署。原因嘛。。我的服务器没有开通ipv6地址,无法获取到客户端的ipv6地址啦,所以只能在客户端获取了ipv6地址之后上报。放心,过程也简化了滴!同样的docker镜像配方,下载 我给你生成好的php文件,-v到docker内就行了~!
b、重要消息说3遍:
要使用ipv6的ddns服务,docker一定要使用 host网络模式~~!!
要使用ipv6的ddns服务,docker一定要使用 host网络模式~~!!
要使用ipv6的ddns服务,docker一定要使用 host网络模式~~!!
因为只有Host模式,才能获取到当前服务器的ipv6地址。
原文链接:https://jose.scjtqs.com/docker/2020-04-12-1596/%E7%AE%80%E5%8C%96%E5%BC%8F-ddns-%E5%8A%A8%E6%80%81%E5%9F%9F%E5%90%8D-%E6%9C%8D%E5%8A%A1.html