DNS 各地解析结果不一样正常吗?
大多数情况下正常,而且这正是你花钱买 CDN 想要的效果。
为什么会不一样
因为 DNS 支持按来源返回不同结果。
权威服务器能看到是哪个地区的递归服务器来问的,于是可以针对性地返回最近的机房 IP。电信用户给电信节点,联通用户给联通节点,海外用户给海外节点。
这套机制叫智能解析或者 GeoDNS,CDN 厂商基本都在用。所以你在全国各地查同一个域名,拿到不同 IP 是设计好的行为,不是故障。
怎么判断是调度还是异常
看 IP 的归属。
如果返回的 IP 分属不同机房、不同地域,而且跟访问来源大致对应(华南的节点给华南 IP),那就是正常的智能调度。
如果返回的 IP 跟你的业务毫无关系、落在保留地址段、或者某些地区指向一个明显的错误地址,那才是异常。
再一个判断标准是「有没有规律」。智能解析是按线路来的,规律很清晰;污染和劫持往往是零散的、随机的。
什么时候该查
三种情况值得警惕:
一是换了 CDN 之后,某些地区还解析到旧 IP,那可能是缓存没到期,也可能是调度配置没更新。
二是某个地区返回的 IP 根本 ping 不通,而其它地区都正常,那要看看那个节点是不是下线了但没从解析里摘掉。
三是海外解析到国内 IP,或者国内解析到海外 IP,这种跨区错配会直接拖慢访问。
怎么验证
用 DNS 查询工具跑一遍全国节点,把结果按地区列出来,跟 CDN 厂商的调度策略对一下。
如果对不上,先确认是不是缓存问题(看 TTL),再联系厂商核对配置。
如果一切对得上,那就别纠结了,差异本身就是正常工作的证明。