如何將一些 A 記錄「新增」到「第 3 方」DNS 區域(使用 BIND)?

如何將一些 A 記錄「新增」到「第 3 方」DNS 區域(使用 BIND)?

所以,我不確定如何準確地表達這個問題,但這就是我想做的...

(我正在嘗試使用 BIND 來做到這一點。)

我的公司有自己的內部名稱伺服器。假設他們對「company.local」具有權威性。我想在本機上託管我自己的 DNS 伺服器(並將我的電腦指向這個新的名稱伺服器),以便在該區域中添加一些記錄 ( company.local)。 (因此,當我的計算機嘗試解析這些新記錄時,這些新記錄就會顯示出來。)

所以,我想補充一點:

mycomputer1.company.local. IN A 192.168.0.11
mycomputer2.company.local. IN A 192.168.0.12

但是,當然,我也希望公司的記錄仍然能夠正確解析。

(不,我無權進行任何類型的區域轉移或類似的操作。)

我怎樣才能做到這一點?

答案1

Bind 的最新版本有一個稱為「回應策略區域」的功能,您可以使用它來覆寫特定記錄。

一個非常常見的用法是覆蓋 www.google.com、www.youtube.com 以強制安全搜尋。

一些連結

答案2

有點麻煩,但您可以簡單地為這些名稱建立區域,並且僅在頂點有 RR。例如:

zone "mycomputer1.company.local" IN {
  type master;
  file "mycomputer1.company.local.zone";
}

mycomputer1.company.local.zone 將包含:

$TTL 86400
@ IN SOA mynameserver.company.local. me.company.local. (
  2019122301  ; serial
  10800       ; refresh
  3600        ; retry
  604800      ; expire
  86400       ; minimum ttl
)
  IN NS   mynameserver.company.local.
  IN A    192.168.1.1

類似的東西用於單一位址的 IN-ADDR.ARPA 委託。看https://tools.ietf.org/id/draft-fanf-dnsop-rfc2317bis-01.html#rfc.section.5

答案3

.local 網域不可在任何註冊商購買,且可供內部使用。也就是說,您可以設定另一個 DNS 伺服器,將其配置為同時託管該company.local區域並將其他請求轉送到另一個 DNS 伺服器,例如 Google 的 8.8.8.8 和 8.8.4.4。

當然,如果您至少可以獲得實際 DNS 區域檔案的副本,那麼您將節省大量工作,這樣您就不必重新寫入所有 A 記錄。如果不能,您可以編寫一個 bash 腳本:

a) 如果網路中的名稱以某種方式結構化(即:admin-01、admin-02),您可以使用該dig實用程式迭代您的網路、對名稱進行名稱解析或;

b) 如果實際名稱伺服器配置了反向區域,您也可以dig透過 IP 位址來解析名稱。

祝你好運。

相關內容