默认线路下CNAME记录缓存导致解析调度不准如何解决?
DNS解析配置场景
- 配置“全网默认”线路类型的CNAME类型解析记录。
 - 配置非“全网默认”线路类型的其他类型(不含CNAME)的解析记录,例如A、AAAA、TXT、MX等类型。
 
| 
          域名  | 
        
          线路类型  | 
        
          记录类型  | 
        
          记录值  | 
       
|---|---|---|---|
| 
          hwtest-example.com  | 
        
          电信默认  | 
        
          AAAA  | 
        
          ff03:x:x:x:x:x:x:x  | 
       
| 
          hwtest-example.com  | 
        
          电信默认  | 
        
          A  | 
        
          1.x.x.x  | 
       
| 
          hwtest-example.com  | 
        
          全网默认  | 
        
          CNAME  | 
        
          www.huaweicloud.com  | 
       
    解析调度不准原因分析
| 
         请求的解析记录类型  | 
       
         对应线路下包含的解析记录类型  | 
       
         返回结果  | 
      
|---|---|---|
| 
         A  | 
       
        
  | 
       
         返回默认线路下CNAME类型的解析记录,并缓存在LocalDNS中。 由于CNAME类型的解析记录具有最高优先级,在TTL到期时间内,即使发起了A或AAAA查询请求(非默认线路下配置了A或AAAA类型的解析记录),域名查询请求均仍然会被缓存命中,返回默认线路下的CNAME解析记录,从而造成调度不准的情况。  | 
      
        
  | 
      ||
| 
         AAAA  | 
       
        
  | 
      |
        
  | 
      ||
| 
         MX  | 
       
         不存在:MX  | 
      |
| 
         TXT  | 
       
         不存在:TXT  | 
      
解决方案
- 配置非“全网默认”线路类型下子域名的A、AAAA类型的解析记录。
 - 配置非“全网默认”线路类型(与1中的线路类型保持一致)下主域名的CNAME记录类型的解析记录,将其解析到A、AAAA类型解析记录对应的子域名。
 
以域名hwtest-example.com为例:
先为域名www.hwtest-example.com配置“电信”线路下的A和AAAA类型的解析记录,分别解析到IPv4和IPv6的地址;
再为域名hwtest-example.com配置“电信”线路下CNAME类型解析记录,将其解析到www.hwtest-example.com。
 
    - www.hwtest-example.com仅作为示例,实际配置时根据您的业务需求选择其他未配置解析记录的二级域名。
 - 务必先添加A和AAAA解析记录,再添加CNAME解析记录,否则可能会导致解析中断。
 - 初始配置的主域名下的CNAME解析记录保持不变。
 
| 
          域名  | 
        
          线路类型  | 
        
          记录类型  | 
        
          记录值  | 
       
|---|---|---|---|
| 
          hwtest-example.com  | 
        
          电信默认  | 
        
          CNAME  | 
        
          www.hwtest-example.com  | 
       
| 
          www.hwtest-example.com  | 
        
          电信默认  | 
        
          AAAA  | 
        
          ff03:x:x:x:x:x:x:x  | 
       
| 
          www.hwtest-example.com  | 
        
          电信默认  | 
        
          A  | 
        
          1.x.x.x  | 
       
| 
          hwtest-example.com  | 
        
          全网默认  | 
        
          CNAME  | 
        
          www.huaweicloud.com  | 
       
 
     “全网默认”线路和非“全网默认”线路下均存在CNAME记录类型,且优先级相同。当请求非“全网默认”线路下MX、TXT等类型解析记录且对应线路下并没有配置对应类型的解析记录时,则返回的解析记录为空,不会出现缓存污染导致解析调度不准。
    
      