我們有一個在 FreeBSD 中使用 Unbound 的內部網路 DNS 伺服器。我們還有另一台具有多個網路 IP 的檔案伺服器,第一個是10.10.10.10
,第二個是 192.168.10.10
.
有沒有辦法讓 DNS 伺服器根據客戶端網路為該檔案伺服器提供不同的 IP?
例如:對於來自 10.10.xx 網路的用戶,檔案伺服器 ip 應該是10.10.10.10
對於來自 192.168.xx 網路的用戶,檔案伺服器 ip 應該是192.168.10.10
。
答案1
如何根據客戶端網路為伺服器提供不同的IP
行話通常是“水平分割 DNS」。
在 Unbound 是透過「標籤和視圖” 功能。這些使得可以根據客戶端的 IP 位址發送特定的 DNS 答案。
標籤功能使得可以將用戶端來源位址劃分為類別(標籤),並為這些特定標籤使用本機區域和本機資料資訊。
視圖是配置選項的命名清單。支援的視圖配置選項是 local-zone 和 local-data。
視圖是使用視圖子句配置的。可能有多個視圖子句,每個視圖子句都有一個唯一的名稱。例如:
view: name: "firstview" local-zone: example.com inform local-data: 'example.com TXT "this is an example"' local-zone: refused.example.nl refuse
…
可以使用 access-control-view 元素將視圖對應到客戶端:
access-control-view: 10.0.5.0/24 firstview