对同一个子域名,不应该同时添加 A 记录和 CNAME 记录,也不能添加。更具体的说,在 bind 的同一个 view 中,或“智能解析”的同一个线路下,单个子域名不能同时添加 CNAME 和任何其它类型的记录。
为什么?因为 CNAME 会缓存;并且当请求任何类型的记录时,cache dns 可以以 CNAME 的值响应。
比如你同时添加了 dog.foo.bar 这个子域名的 A 记录 1.1.1.1,和 CNAME 类型记录值
tanronggui.xyz 。若 cache dns 缓存了 CNAME 值
tanronggui.xyz ,当另外有用户向 cache dns 请求解析 dog.foo.bar 的 A 记录时,cache dns 会直接把
tanronggui.xyz 响应。即有些用户请求 A 记录时,获得的并不是你想让他得到的 1.1.1.1
对 CNAME 和其它类型需要共存的一个现实的需求,可能是一个子域名即做网站又做其它应用如邮箱,而网站需要做 cdn 服务,cdn 服务厂商需要你将域名做 cname 指过去~~~