我想设置一个隐藏的主 DNS 服务器,即我在自己的服务器上托管区域文件,但所有请求都应该转到由专用 DNS 公司托管的辅助 DNS 服务器。递归解析器或最终用户不应使用我自己的 DNS 服务器。所述公司将从我的服务器复制带有区域传输的区域文件。理想情况下,没有人应该知道我的服务器存在于这个 DNS 设置中。
当然NS
,这种设置中的所有记录都将指向 DNS 公司的名称服务器。但我不确定SOA
记录。
根据我的理解,这个设置意味着我的服务器是“权限的开始”,因此我必须在其中指定它SOA
- 这将让公众知道我的服务器是真正的主服务器。根据关于 serverfault MNAME的另一个答案,<domain-name>
必须将其设置为“该区域的原始或主要数据源的名称服务器”。
如果可能没有太多麻烦,我宁愿不在 SOA 中列出我的 NS 服务器,而是将 SOA 指向我的名称服务器托管公司。
company.example.com
如果我真的设置为 SOA 而不是我自己的服务器会有什么后果myserver.example.org
?
- 我会违反 RFC 吗?
- DNS 系统的某些部分会不再工作吗?(我看到SOA的入口是动态更新的,但是我不打算接受外国人的动态更新,也不打算自己发)
- 我的域名服务器托管公司会因为我错误地将他们的电子邮件地址指定为主 DNS 的联系人而找我吗?(SOA 的邮件地址字段)
- 我可以在 SOA 中混合不同的主机名和邮件地址来解决一些问题吗?例如,指向
company.example.com
作为 SOA 服务器,但指向[email protected]
邮件联系?
使用外包名称服务器(来自其他域)并不违反 DNS 标准,但这听起来不像是隐藏的主要配置。作为主要输入的 NS
SOA
应该在NS
记录中,但这并不意味着必须配置服务器,以便向世界介绍的主要服务器是数据的实际原始来源。例如,您可能不想将拥有您的私有 DNSSEC 密钥的主服务器公开给全世界。如果公开宣布的主服务器具有其他可能更容易被破坏的功能,例如某些 Web 应用程序,这将特别有用。
让我们举个例子。配置假设 BIND。
隐藏的主人未在区域中列出。
172.16.10.40
。example.com.signed
.它被配置为 的主服务器
example.com
,允许从公共主服务器进行区域传输,但只能使用 LAN(或者它也可以是 VPN)。通知是使用
notify explicit
&手动配置的also-notify
,因为notify yes
只会通知列出的服务器,NS
除了在SOA
. 这根本无法开箱即用。公共主服务器
ns1.example.com
192.0.2.10
和 private172.16.10.20
。它被配置为区域的从属设备,并允许从其他 NS 进行区域传输:
公共辅助服务器
ns2.example.com
&ns3.example.com
.在此示例中,这些服务器完全位于其他位置,提供所需的 网络多样性和地质冗余。
这些服务器从公共主服务器执行区域传输。