起因:
发现在公司内部访问www.qidian.com的速度有时会变慢,有 时候又很快。
查找原因:
和网宿的技术联系了一下,没有发现异常,初步排除是外面的原因,从内因找起。
我们ping http://www.qidian.com的时候,发现如果访问快 的时候,是到网宿的电信服务器,反之则到了网宿的网通服务器。原因初步找到,那为什么同一个域名,有时会解析到电信,或者网通呢?
很多公司为了提高访问网通(或者电信)的速度,在自己的出口使用了智能路由策略。
很多网站为了提高网通(或者电信)的访问速度,使用了智能DNS功能。
这两项技术做运维的同事都应该知道,就不多说了,但如果碰到一起,会产生什么样的效果呢?
经过一步步跟踪,最终确在:网宿是在qd1st.xdwscache.glb0.lxdns.com这一层做智能解析。
http://www.qidian.com cname 到www.qidian.com.lxdns.com ==》
http://www.qidian.z.lxdns.com ==》qd1st.xdwscache.glb0.lxdns.com
针对qd1st.xdwscache.glb0.lxdns.com这个域名,我们来看一下:
xdwscache.glb0.lxdns.com的ns服务器:
一共有5台dns:
分别是:ns1.glb0.lxdns.com 到ns5.blb0.lxdns.com
其中ns1.glb0.lxdns.com 59.42.255.7 是电信的,ns4的IP:60.28.9.147是联通的,,我们再分别以这两台dns来测试,从公司的网络来访问:
可以看出,同样从公司的网络出去,我们有可能被分配到电信,或者是网通。
由于公司的网通线路是途径某网通机房的,本身带宽比较窄,而电信线路则直接是通过某电信机房,所以如果被分配到网通时,反而降低了我们的访问速度。
结论:
当智能dns碰到智能路由的时候,如果处理不好,反而会降低我们的访问速度。因为智能DNS是跟据来访的IP来确定并分配对应的IP,而公司的智能 路由又人为地改变了到达dns的IP,这样如果对方的dns是在网通的话,就会造成误判。
解决:
- 让IT部门把公司的两台内网的DNS的出口路由改成固定由电信出去,
- 或者自己手工设置自己的DNS为一个公网的电信DNS,当然造成的问题就是可能访问某些内网的服务存在问题。
作者:iammecn