Joh*_*ene 6 domain-name-system bind dns-hosting internal-dns
在典型的隐藏主 DNS 网络布局中,基本上有两个组件:
从属 DNS 服务器上的区域文件通常没有(也不应该)向这个隐藏的主 DNS 服务器提供信息。但是,这些相同的从DNS服务器确实需要使用像某些DNS选项server,allow-update,allow-transfer,和一些访问控制列表。
起初,那些需要server并且allow-update似乎需要 IP 地址匹配列表。这将named.conf作为此类隐身信息的主要来源(即隐藏主控的 IP 地址)。
是否可以通过使用密钥而不使用named.conf文件中的任何 IP 地址来进一步限制将 IP 地址暴露给隐藏的主 DNS 服务器?
我正在寻找的关键答案是我们是否可以最大限度地减少隐藏主服务器在其配置文件级别以及区域数据库中的暴露。
从属 DNS 服务器上的区域文件通常没有(也不应该)向这个隐藏的主 DNS 服务器提供信息。
他们可以在他们的区域文件中有 A 记录来指向这个隐藏的 DNS 主服务器。服务器被称为“隐藏”不是因为没有人知道它,而是因为它没有在任何使用 NS 记录的地方列出,因此客户端无法查询它们。
编辑:试图避免从您的配置文件中对这个隐藏的主人的所有引用是没有意义的。一旦有人访问了这个文件,它就会假设他们无论如何都可以访问您的服务器,这听起来比他们知道隐藏主服务器的 IP 地址要大得多。
但是这些相同的从 DNS 服务器确实需要使用某些 DNS 选项,例如服务器、允许更新、允许传输和一些 ACL。
从 DNS 服务器确实需要知道隐藏 DNS 服务器的存在。可以masters仅使用键进行定义,然后masters在allow-notifyetc 语句中引用这些键。这样您就不需要指定隐藏主服务器的 IP 地址。
该server声明是这样的:
server <netprefix> {
...
};
Run Code Online (Sandbox Code Playgroud)
因此,它需要隐藏主站的 IP 地址。
然而,似乎像allow-update,allow-transfer等语句需要address_match_listwhich (BIND 9.11.4-P1 文档,第 51 页):
(...)为一个或多个列表
ip_addr,ip_prefix,key_id,或acl_name元素,请参阅6.1节。
因此,您只能在这些命令中输入密钥,从配置的这些部分中排除隐藏主机的 IP 地址。