记录域名被莫名其妙停止解析两天的心路历程
风和日丽的一天下午,我正在开心的码代码,突然操作系统提示连接家里路由的VPN断开了,我想着可能又是网络波动,没当一回事, 于是继续快乐的干活,后来无意发现我网站也访问不了,然后ping了一下域名,甚至连域名也解析不了了,我这才发现特么的事情严重了。
查看域名发现是个serverhold状态,被注册局锁定,想着我一码农工作者积极向上思想健康,热爱国家拥护我dang,不偷不抢不写病毒木马不用域名做跳转乱搞事,不至于滥用被封,再加上域名是serverhold状态不是clienthold那大概率可能性就是实名问题?然后在这不明就理的情况下我就被停止解析了两天。
当然后续问题也解决了,貌似是因为域名注册实名的地址信息需要和身份证上的一致,跟供应商工单不停交涉了两天,我确实重新提交实名就解封了。
这其中交涉定位问题完全是靠自己,这让我觉得DNS解析要么找个靠谱的服务商,要么不要简单的受制于人,于是写了这个心路历程,主要是想记录解决办法。
-
搞个不需要实名的DDNS
一般这个得用国外的服务提供商,这样除了只能提供二级域名不是很爽外,还有一个重要的问题是解析问题,很多路由高级设置里只支持国内几家,比如花生壳,公网云之类,国外的解析可能需要自己写代码来解决了。
好在大部分DDNS的解析API都是非常简单的,我举个栗子,如果用noip,支持OAuth 2.0认证,在curl中和go语言中都可以很简单的搞定,具体代码我就懒得写了,以下思路可以解决问题:
-
访问外网拿到WAN口IP,这类查询外网IP的网站特别多比如ip.cn等等
-
一定时间内轮循比对记录下的WAN口IP,一旦发现有改变,就提交更新
-
OAuth 2.0认证在go中这么写
|
|
noip服务更新IP的API接口是这个 http://dynupdate.no-ip.com/nic/update?myip=%s&hostname=%s
, 是不是简单到代码都呼之欲出了。
-
转域名到dnspod
对于顶级域名,目前除了花生壳,还没有其他家支持,其实顶级域名要自己解析还可以转入到dnspod下。
dnspod下解析方案也跟如上类似,但也有以下不同的地方。
-
通过 https://dnsapi.cn/Domain.List 拿到域名对应的id号
-
对应的ID号以http post json的方式提交注册,对应API地址是 https://dnsapi.cn/Record.Ddns ,具体可查dnspod的文档
这种就稍微麻烦一些,但是好处可以把顶级域名解析控制在我们自己手里,不至于受制于人。