域名停放系统架构

访问域名原理

1.访问域名假设”zhujunwu.cn”;

2.查看是否存在于本地DNS列表,如果本地不存在则联网查询该域名的DNS,查询到解析记录,假设为A记录”172.173.174.175″;

3.本地与”172.173.174.175″服务器进行通信;

域名处理

1.域名DNS:用来将域名解析至服务器,从而使用”域名”代替”IP地址”来进行双方通信;

2.因为域名太多,所以手动修改很不理想,那么现在的处理方法有2种:使用自己的NS服务器 或 编写脚本来批量修改解析记录,确实大部分IDC确是提供了修改的API接口,后斟酌一二决定采用前者;

3.还是因为域名太多,如果采用市面上的DNS服务器软件,还是需要手动或脚本来达到修改解析记录的目的,而且因为停放系统的缘故,兹决定用python手写一个DNS服务器脚本,假设服务器IP为”172.16.100.1″参,没什么问题;

4.将某域名注册到DNS服务器:由域名商提供,假设将”ns1.zhujunwu.cn”与”ns2.zhujunwu.cn”指向”172.16.100.1″;

5.更改注册程序的某些配置,使日后新注册的域名默认使用”ns1.zhujunwu.cn”与”ns2.zhujunwu.cn”作为DNS解析服务器; 编写脚本用来批量修改域名的whois中的NS记录,指向我们自己的DNS服务器;

服务器处理

1.DNS服务器:Windows服务器安装python环境 或 打包上述的DNS服务器脚本,Linux服务器因为自带python无需任何操作; 将该DNS服务器脚本设置为开机启动;

2.域名停放服务器:因为单个停放域名的访问量通常不大,兹决定暂时使用单独一个服务器进行压力试验; 绑定域名是不现实的,考虑将该服务器配置”默认网站”。

停放程序

1.需考虑到单个域名的访问量、时间、地点、来源、广告关键词等;

2.后台能够非常直观的查看信息报表;

3.域名黑名单,需考虑是否建立黑名单机制用来避免恶意将域名解析;

@todo more, continue!

总结

1.编写DNS服务程序,并配置到DNS服务器,且添加到cron;

2.注册域名DNS服务,指向DNS服务器IP;

3.域名商API接口编写修改NS记录程序,为我们自定义的DNS服务器;

4.编写停放程序,并配置到停放服务器;

架构简图

域名停放系统