一日接到站点报修,一个程序访问CDN地址的缓存缓慢,经常有卡死显现,按照常规思路开始排查

远程桌面问题电脑

开始——运行——CMD

nslookup images.xxxx.com

服务器: XXX-rod-01

Address:  10.10.10.10

非权威应答:
名称:    yd.xdwscache.glb0.lxdns.com
Addresses:  123.103.14.237
          221.233.79.237
Aliases:  images.xxxx.com
          images.xxxx.com.cdn20.com

当ping两个地址的发现211.233.79.237不通,由于CDN地址经常变化,以为是常规故障,于是在防火墙上对此地址进行了放行,可以ping通了,但是访问依然缓慢,从本站点看,网络正常,服务器的DNS解析正常,于是问题陷入一个僵局。

后联系CDN提供商的工程师,那边工程师回馈我们访问的地址是一个联通地址,而解析出来访问缓慢的地址是电信的地址,于是有了思路。

 

返回的地址经查询为电信地址,而现场的Internet出口为联通,跨网段访问自然缓慢,考虑到CDN的智能DNS,会根据出口地址的来源来返回相应的电信/联通IP地址,而公司的DNS是多出口,于是登录DNS服务器,对images.xxxx.com做了一条条件转发器到联通的公网DNS做解析。

清除DNS缓存,重新解析时发现可以正常解析为联通地址,可是奇怪的是几分钟后,地址重新解析为电信地址,这让我十分的费解,于是重新进入DNS服务器查找,发现转发器默认的解析地址指向了电信的服务器,当更改为联通服务器后正常。

总结,1、智能DNS解析是看你的解析服务器的地址

            2、条件转发器级别是高,但是转发器会在后面做递归查询,重新刷新DNS缓存导致异常

            3、临时解决办法可以在PC机上绑定HOST文件来解决。