一、请看这里
链接:https://pan.baidu.com/s/101H4AHZJriVj952LaqU6iw
提取码:glnn
--来自百度网盘超级会员V4的分享
最后总结的文档,懒着往网站上贴了。直接下载文档!
二、概念
- 权威dns
提供主机名到IP地址间的映射
- 递归dns
类似于114.。。用于域名查询。迭代权威服务器返回的应答,直到最终查询到ip,返回给客户端。
- 智能dns
可以让用户访问到同线路最近的服务器
三、智能DNS流程
四、开源方案
1. smartdns
smartdns是python语言编写,基于twisted框架实现的dns server,能够支持针对不同的dns请求根据配置返回不同的解析结果。smartdns获取dns请求的源IP或者客户端IP(支持edns协议的请求可以获取客户端IP),根据本地的静态IP库获取请求IP的特性,包括所在的国家、省份、城市、ISP等,然后根据我们的调度配置返回解析结果。
缺点:
13年产品,早已经不维护了
小米开源的基于twisted实现的智能dns系统:Smartdns - smartdns - 服务器软件 - 深度开源 说明文档
2. bind9
作为权威DNS时:
- Response Rate Limiting (RRL):对DNS增强,以减少放大攻击
- Dynamically-Loadable Zones (DLZ):支持从外部数据库获取Zone数据,但不建议使用在高性的权威DNS。
- Minimum Re-load Time:支持配置文件动态加载。
- HSM Support:支持通过原生的 PKCS#11接口或OpenSSL PKCS#11的接口的HSM( Hardware Security Modules)。
- DNSSEC with In-line Signing:支持NSEC与NSEC3的安全协议的签名。
- Catalog Zones:支持多Zone的目录管理。
- Scalable Master/Slave Hierarchy:支持Master+多Slave组网,Slave从Master同步Zone配置。
作为递归DNS时:
- NXDOMAIN Redirect:当查询一个不存在域名时,转向一个Web页面,它依赖于DLZ特征。
- Flexible Cache Controls:对于不正确或过期的域名记录,灵活