Linux

帶綁定的 DNS 層次結構

  • June 24, 2014

我正在做一個類項目,我想在其中模擬一個作為全球網際網路 dns 層次結構的 dns 層次結構。結構是這樣的:

等級制度

因此,所有請求都將發送到根伺服器,根伺服器將返回 edu 伺服器的 ip,並且根伺服器將根據請求返回 kevin 或 bech 伺服器的 ip。

我使用 bind 手動配置了所有伺服器,如下所示:

$TTL    604800
@       IN      SOA     kevin.edu. root.kevin.edu. (
                             1         ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;

       IN      NS      dns.kevin.edu.

www     IN      A       1.1.1.7
kgs     IN      A       1.1.1.8
dns     IN      A       1.1.1.5

我現在的問題是我想遞歸解決這個問題,主機只會知道根 dns 伺服器的 ip,當他想知道 www.kevin.edu 的 ip 時,首先會向根詢問 edu ip,然後kevin.edu 到 edu,最後 www.kevin.edu 到 kevin。

知道我該怎麼做嗎?

編輯:

根 dns 伺服器的配置文件:

$TTL    604800
@       IN      SOA     . root.kevin.edu. (
                             1         ; Serial
                        604800         ; Refresh
                         86400         ; Retry
                       2419200         ; Expire
                        604800 )       ; Negative Cache TTL
;

       IN      NS      dns.

edu     IN      A       1.1.1.4
dns     IN      A       1.1.1.3

如問題所示,您的根區域不包含任何授權資訊edu,僅包含一條A記錄。根據這個定義edu,它不是一個單獨的區域,而只是一個名稱,它是根區域的一部分。

為了匹配您對您想要的內容的描述,edu A記錄不應該在根區,而是應該有委託NS記錄+粘合A/AAAA記錄,以便可以跟隨委託。

例如這樣的:

edu.    IN  NS  ns.edu.    ; delegation
ns.edu. IN  A   1.1.1.4    ; glue

匹配記錄也應該存在於權威區域(edu本例中的區域)中。

在確保所有不同區域之間確實存在委派之後,讓解析器伺服器與您的自定義 DNS 樹一起工作應該非常簡單。這應該只是為您的自定義根區域提供根提示(NS+膠水A/AAAA記錄),並可能禁用/覆蓋與真實根區域的簽名方式相關的任何 dnssec 設置。

引用自:https://serverfault.com/questions/607560