公司的翻墙 “不稳定” 一直成为我的困扰,在仔细梳理透明翻墙过程后,有了如下推测:
dhcp 在分配了可以解析google 的自己搭建的dns的时候,也分配了114.114.114.114 这种,当有客户端使用 114.114.114.114 进行解析就出现了所谓的“翻墙不稳定”的情况。还有就是 使用网线的同学在使用google时明显比使用无线是同学 “稳定” 性高。网线稳定性本来就比无线高,可能使用有线的同学,基本都在使用 192.168.40.254解析,而使用无线的同学,由于无线的不稳定因素导致机器选择备用dns,就导致了“永久性”的 google打不开。
我们通常认为当第一个dns不用时会采用列表中的备用dns,那实际情况是怎样的呢,在网上找到这样一篇文章:
以下内容转载自 http://blog.csdn.net/pastway/article/details/51454389
主、备dns工作现象:
实验:
测试客户端电脑为win10,主dns设置为isp公用dns,备dns设置为内网dns(win2008搭建):
1、查询一个内网的域名(在公网上不存在),会发现是可以查询得到的,这个时候主dns是正常工作的。
2、查询公网的不同域名,测试是否会向备dns查询数据。
捕获数据包显示:
如果主dns在很快的时间答复(没有任何反馈,哪怕主dns是正常的),那么就只会向主dns发送查询;
如果主dns在一定的时间内(目测1秒左右),那么就会同时向备用dns发送查询;
有一定几率主备dns都会回复,就是在主dns回复比较慢的时候。
网络上有说法是,在主dns工作不正常时,才会向备dns查询,这个说法从实验发现是错的。
几种情况下,都会向备dns查询:
1、主dns返回超时或查询不存在;
2、主dns本身在一定时间内未反馈;(有可能会再次向主dns查询)
3、如果上一次是备dns给出反馈,那么下一次查询首先会向备dns查询,而不是理解中的一直是向主dns查询。
见图:
DNS轮询机制:
DNS服务器默认选项中会勾选DNS Robin,也就是DNS轮询机制。
正因为此机制存在,dns查询返回的结果,总是不断轮换的。比如,当前域有3个dns,那么客户端第一次查询domain.com,返回的是第一台dns地址,第二次可能就是第2台,第三次第3台,依此类推。
这个轮询的次序,总是从数字较小的ip开始。
为什么在有主域控和额外域控的多域控情况下客户机登陆到域的时候会随机登陆到任何一台域控上?
这个正是DNS轮询辅助起到的DC负载均衡效果