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

 

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

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

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

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

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

說白一點,就是拿着cname的域名進行forward請求,而不是拿着原始域名進行forward請求了
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章