一、概念介绍
edns 扩展的dns协议,主要支持的功能,
其中edns-client-subnet需求,意思是client在查询请求的时候,可以在dns协议中写入自己的请求地址,这样local-dns,进行dns查询的时候,可以把这个地址传给权威dns,dns根据来源地址可以进行更加准确的调度。权威根据用户的ip调度比根据local dns 的出口ip调度更加准确。在dns智能调度和cdn中使用比较常见。
二、实验
1、bind版本选择
目前yum下来的版本不支持,需要自己编译。
编译过程
版本问题和dns权威配置:
https://blog.csdn.net/zhiyuan_2007/article/details/48930449
2、实验方法
自建权威dns,注册到dnspod上面
为了防止local dns缓存,每次可以使用不同的域名探测。在权威的dns请求日志中获取local-dns的来源IP。
client使用命令
dig www.baidu.com +client=local-dnsIP
4、结论
在client访问出口公网不变的情况下,edns解析出来的解析是一致的,假如client所在网络的local-dns的出口频繁变化,是没法拿到一样的结果的。在整体的cdn场景下的效果,还需要结合实际的情况,因为对用户的出口是否改变的情况,没有办法准确的判断。接下来,调研各家cdn厂商是否使用了edns进行调度。
网友评论