先有CNAME记录还是A记录?

先有CNAME记录还是A记录?

💡 原文英文,约2000词,阅读约需8分钟。
📝

内容提要

2026年1月8日,1.1.1.1的更新导致DNS解析失败,因CNAME记录顺序变化,部分DNS客户端依赖CNAME在前,导致解析错误。此事件揭示了DNS协议的模糊性,未来将保持CNAME记录顺序。

🎯

关键要点

  • 2026年1月8日,1.1.1.1的更新导致DNS解析失败,因CNAME记录顺序变化。
  • 部分DNS客户端依赖CNAME在前,导致解析错误。
  • 此次事件揭示了DNS协议的模糊性,未来将保持CNAME记录顺序。
  • CNAME记录的顺序变化是为了降低内存使用,但导致了DNS解析失败。
  • 大多数现代软件认为DNS响应中记录的顺序无关紧要,但部分实现依赖于CNAME记录的顺序。
  • 影响的实现包括Linux的glibc中的getaddrinfo函数和某些Cisco以太网交换机。
  • RFC 1034对CNAME记录顺序的规定模糊,未明确要求CNAME记录必须在其他记录之前。
  • RFC 1034中提到的'可能在前'并不使用现代RFC中的强制性词汇。
  • CNAME链的顺序问题不仅限于CNAME记录与其他记录的顺序,还包括CNAME链内部的顺序。
  • 在未来的实现中,将要求CNAME记录在其他记录之前,以避免类似问题。
➡️

继续阅读