自建權威DNS服務器,觀察請求會發現有大量的NS請求出現,但是什么場景下會有NS請求發出呢?用戶來權威查詢的應該都是域名的A記錄。所以懷疑NS記錄查詢不是用戶自己觸發的而是local dns的行為。
正想理解,用戶查詢一個域名的過程:
用戶————》 local DNS ————》.根記錄
————》.com記錄
————》域名NS記錄
————》返回A記錄
但是要如何獲取域名的NS呢?就是從.com返回的結果如何知道NS記錄呢?
幾種情況:
一、glue記錄存在,local dns不主動發起NS查詢的功能,local dns 會把glue記錄當作NS記錄,之后NS緩存期之內,都會去glue里面記錄的NS去查詢;
二、glue記錄不存在,local dns還需要查詢NS自己的解析記錄在哪里,會重新問.com,NS記錄的解析是什么;
三、glue記錄存在,local dns具有主動發起NS查詢的功能,就是說當local dns收到了.com返回的帶有gule記錄的NS的時候,local dns還會主動查詢一次域名的NS記錄,這樣,local dns就會以查詢到的NS記錄,作為 NS緩存期之內,查詢的NS;
這種做法是三種里面最優的。
bind默認answer section比Addtion records里面的權威優先級更高。所有有第三種情況的出現,就會發現自建權威DNS上有很多NS查詢記錄。基于這種機制,可以做NS基于來源IP的智能解析,不足之處在于,local DNS都在運營商側,不是我們能夠控制的。