LocalDNS 授權伺服器

2021-07-05 22:43:47 字數 1644 閱讀 4023

1) dns:網域名稱系統。

2)localdns:提供快取和遞迴的服務。

3)授權dns:提供權威解析。

4)原始問題:使用者傳送的dns請求所查詢的問題。

5)派生問題:在進行遞迴查詢的過程中會不斷派生新問題,稱之為派生問題。

6)活動派生問題:在遞迴的整個過程中已向授權伺服器發出請求,還未收到響應的派生問題。

使用者傳送dns請求到ldns系統,首先到達快取模組,如果快取模組快取有該問題的答案,直接組建dns響應包返回給使用者;如果快取模組沒有該問題的答案,將該請求交給遞迴模組處理,遞迴模組遞迴查詢該問題的答案。遞迴模組在遞迴查詢過程中,有權威伺服器返回問題的答案時,快取模組快取該答案,並將結果返回給使用者。所有來自權威伺服器的dns響應包,需要將包中的記錄快取到快取系統中,以便下一次直接從快取系統中查詢。

快取模組未命中 以baidu.com為例

快取模組在接收到dns請求包時,按請求的內容進行快取查詢未命中時,需要進行遞迴查詢,遞迴查詢可能需要多次遞迴才能返回最終答案,因此需要對使用者的請求問題進行儲存,當遞迴查詢完成之後,將所有遞迴過程綜合起來組織成最終答案,返回給使用者。使用者傳送的dns請求所查詢的問題為原始問題請求,在進行遞迴查詢的過程中會不斷派生新問題,稱之為派生問題;在遞迴的整個過程中已向授權伺服器發出請求,還未收到響應的派生問題稱為活動派生問題。問題管理模組主要涉及以下5點:

1. 問題儲存

2. 問題建立

3. 問題刪除

4. 問題派生

5. 活動派生問題

問題建立

快取未命中時,建立問題,交由遞迴模組進行遞迴,若已建立原始問題,則不再重複建立。

問題刪除

當接收到對當前活動派生問題的響應時,會判斷原始問題是否可解,如果此次響應可以解決原始問題的請求;將會依據原始問題中記載的請求和派生問題所收到的響應進行組包,以響應使用者原始請求;組包響應完成後,將派生問題和對應的原始問題刪除。

問題派生

當使用者的dns請求的網域名稱存在cname記錄時,一次遞迴並不能響應使用者的請求;此時需要根據遞迴流程,不斷建立派生問題;每次接收到遞迴模組的響應後,將檢查此次遞迴響應是否是最終問題答案,即不再需要派生問題,如果不再需要派生問題的話,將結合整個派生問題和原始問題鏈,組建dns響應傳送給使用者。

活動派生問題

接收到遞迴響應後,為快速的定位是哪個派生問題導致的此次遞迴,會對所有的派生問題進行管理,將已導致傳送遞迴請求的派生問題標記為活動派生問題,並放入對應的管理結構

IDEA 搭建授權伺服器

引用位址 今天突出發現基本公開的啟用位址都被遮蔽了 idea 2017.3 版本 記錄一下 docker pull ilanyu golang reverseproxy docker run d p 8888 8888 ilanyu golang reverseproxy 使用 ip 8888 埠 ...

兩台伺服器ssh授權

兩台機子ip 192.168.171.23 192.168.171.22 目標要實現 ssh www 192.168.171.22 hostname 不要輸入密碼 23機子操作 ssh keygen t rsa直接3個回車 cd sshscp r id rsa.pub 192.168.171.22 ...

與授權伺服器的對接方案

之前的專案已經上線了,對於客戶有點數控制要求,因此要接入公司的授權服務,進行客戶端登入點數的控制。公司的授權服務主要是針對客戶端應用程式的,針對web應用程式的授權控制需要在伺服器端進行操作,與客戶端的控制還是有一些區別的。web端使用的使用者識別符號 不同於單機的exe產品,可以方便地讀取pc的硬...