如何添加额外的 DNS 服务器来处理我自己的 TLD 域?

如何添加额外的 DNS 服务器来处理我自己的 TLD 域?

我已经设置了 BIND9 来解析我的工作组使用的域名,它包含:

  • 公共域名:*.my-company.com
  • 我们自己的顶级域名*.top

但我不知道如何设置客户端来添加额外的 DNS 服务器。

我将我的 DNS 服务器称为DNS-mine,并且从宽带接入作为DNS-system

由于网速原因和用户偏好,我不能转发DNS-system。 (用户分布在世界各地,位于美国)。DNS-mineDNS-mine

我尝试了几种方法,如下:

  1. 将 (1.2.3.4)的 IP4 添加DNS-mine到 resolv.conf:

    nameserver 8.8.8.8   # DNS-system
    nameserver 1.2.3.4   # DNS-mine
    

    但是,DNS-mine从未被查询。如前所述,resolv.conf(5)仅当第一个名称服务器超时时才会查询第二个名称服务器,但是DNS-system这里从未超时。

    并且resolv.conf也被网络管理器重置。

  2. 将区域添加'*.top.my-company.com'DNS-mine,并使其与.my-company.com区域相同。然后在每个客户端中更改/etc/hostnamea1.my-company.coma2.my-company.com等。其工作原理如下:

    www.top -> www.top.my-company.com == www.my-company.com
    

    DNS-mine但是,我必须同时添加所有客户端主机名,否则客户端将卡住:

    127.0.0.1 a1.my-company.com
    127.0.0.1 a2.my-company.com
    127.0.0.1 a3.my-company.com
    

    客户端没有 WAN IP,因为它们位于防火墙后面。新客户端可能随时加入。

  3. 与上面相同,但不要改变/etc/hostname,而是添加到/etc/resolv.conf

    domain my-company.com
    

    这非常有效,但是该/etc/resolv.conf文件会被网络管理器自动重置。

  4. 将所有名称添加*.top/etc/hosts文件中,然后忽略DNS-mine,这种方法效果很好,但难以维护。

答案1

为了添加 ICANN 尚未识别的新 TLD(例如您),您必须在 DNS 解析链中放置一个认为自己具有权威性的 DNS 服务器。实际上,这意味着第一跳。为了在内部使用您的 *.top 域,您必须将所有客户端指向您自己的 DNS 服务器,或者维护 /etc/hosts 文件。两者之一。

至于 top.my-domain.com,您有一些选择。任何对 my-domain.com 具有权威性的 DNS 服务器(您没有说)都将能够提供 top.my-domain.com。为了简单起见,这可能是您最好的选择。让您的(假定的)DNS 托管服务添加该子域并添加您需要的条目。

但是,托管本地 DNS 服务器其实并不是一个坏主意。它们被称为缓存 DNS 服务器,可以缓存解析的名称,因此检索它们的速度比从互联网上获取的速度更快。如果您将 *.top 域名添加到其中,它将满足您的所有需求。

答案2

我会设置所有工作组计算机来查询您的 DNS 服务器,如果您的服务器不知道查询的答案,则让 DNS 服务器将其转发到 Internet DNS 服务器。这样,您就可以让 Internet DNS 服务器解析您的特殊域(或覆盖/过滤)域。

我使用 DHCP 来推送我的 DNS 设置,但任何可行的方法都可以。

答案3

您需要做的就是将 *.top.my-company.com NS 查找委托给您的自定义 DNS-mine 服务器。客户端无需进行任何更改,这只是一个引用查找。

DNS 默认

top  IN  NS  DNS-mine.my-company.com

这一切都在这里得到了详细的回答:

我究竟应该如何设置 DNS 来委派子域名的权限?

相关内容