關於DNS forward三個ip地址的查詢順序及CNAME對forward的影響

 

關於DNS forward三個ip地址的查詢順序及過程說明:緩存

每次域名請求會輪循環三個ip地址,邏輯是:取三個ip地址,隨機使用一個開始請求,若是失敗則隨機取剩下的兩個中的一個,若是再失敗就取最剩下的那個,若是也失敗了,則根據forward的規則判斷下一步怎麼作,若是forward的規則是forward的only模式,那麼就直接返回給用戶解析失敗結果;若是是forward的first模式,則遞歸去查詢請求,而後返回給用戶結果。
 服務器

測試若是其中一個或者兩個IP地址不通的狀況
方法:禁用三個IP地址其中的一個進行測試,
測試結果:在結果中只能抓到請求兩個好的IP地址的結果,禁用的那個未抓到任何結果,結論:若是三個IP地址中用不通的IP地址,DNS服務器壓根不會嘗試這個不通的IP地址(推測多是內部有探測機制)
 ide

一個域名作了CNAME,將不能同時再作A紀錄, 若是同時在bind中配置CNAME 和A紀錄後加載時會報錯。在某些低版本設備上即便能強制並存, A紀錄也不會生效,仍以CNAME生效.測試

BIND的查詢機制是:當一個域名的NS紀錄在DNS服務器上的緩存裏存在時,若是這個域名的權威DNS爲其作了CNAME,則該域名將不會以原始域名進行請求解析,而是以CNAME作爲解析請求(若是作了forward,將以CNAME進行forward),而後把CNAME獲得A紀錄作爲該域名的解析結果spa

說白一點,就是拿着 cname的域名進行forward請求,而不是拿着原始域名進行forward請求了
相關文章
相關標籤/搜索