域名別名(CNAME)並不是簡單的將一個域名的A記錄轉換成另外一個域名的A記錄。實際上域名別名(CNAME),是將一個域名的全部記錄(A,MX等)都轉向另外的域名。因此,對一個域名設置了別名記錄,再給它設置其它的記錄,是違反DNS協議的。 服務器
例如:對域名」one.com」設置別名(CNAME)讓它指向」two.com」。此時不能再給」one.com」設置郵件交換(MX)記錄,這樣作 是違反DNS協議的(這種錯誤在DNS配置中很常見)。若是將郵件發往」root@one.com」,郵件客戶端將查詢」one.com」的郵件交換 (MX)記錄,將取得」one.com」的別名(CNAME)記錄」two.com」,以後又向DNS查詢」two.com」的郵件交換(MX)記錄,成 功取得」two.com」的郵件服務器後,郵件將被髮向該郵件服務器,若是該郵件服務器沒有設置接受」root@one.com」的郵件,那麼郵件就會被 退回。須要特別注意的是,並不是全部的郵件客戶端都能理解域名別名(CNAME),完成上述過程。即便全部設置都無誤,有的郵件客戶端也會發送失敗。所以, 最好不要對你的根域直接設置別名(CNAME),郵件交換(MX)記錄值最好不是別名(CNAME)。 網絡
如上述過程,域名別名(CNAME)會帶來再次的DNS查詢,會形成延時,會帶來額外的網絡帶寬消耗。所以,除非必要,不然最好不要使用別名(CNAME),大多數狀況下並不須要設置別名(CNAME),能夠直接設置成A記錄。ide