Domain-Name-System

如何將 bind9 配置為僅無法訪問 Internet 的本地 DNS?

  • January 6, 2012

我想將 bind9 配置為僅沒有 Internet 訪問權限的本地 DNS。所以我的虛擬域 xy.com 中有 5 台 PC。在此域內無法訪問 Internet。

DNS 伺服器具有以下條目:

  • pc1.xy.com 在 10.1.1.1
  • pc2.xy.com 在 10.1.1.2
  • .
  • .
  • pc5.xy.com 在 10.1.1.5

綁定配置正確,但是當我在 DNS 伺服器上執行“dig @localhost pc1”時,它不起作用,因為他無法聯繫根伺服器。但我只希望他是本地的並回答 pc1 有哪個 IP。

我怎樣才能做到這一點?

為此,您需要創建一個假根區域來替換通常配置的“root.hints”區域。

named.conf這個:

zone "." IN {
       type master;
       file "fake.root";
};

fake.root把這個:

$TTL    300
.               IN      SOA ns. hostmaster.xy.com. (
                       20120101 1800 900 604800 86400
               )
.               IN      NS      ns
ns              IN      A       127.0.0.1

這將阻止所有嘗試訪問 Internet 以獲取真正的根提示。

您也可以將pcN.xy.com條目直接放入該根區域 - 無需將它們放在自己的xy.com區域文件中,因此您只需將以下內容附加到fake.root

$ORIGIN xy.com.
pc1             IN      A       10.1.1.1
pc2             IN      A       10.1.1.2
pc3             IN      A       10.1.1.3
pc4             IN      A       10.1.1.4
pc5             IN      A       10.1.1.5

除了options { }您可能需要的任何東西(ACL?),僅此而已 - 不需要其他任何東西。

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