是否可以合并 DNS 名称服务器?

是否可以合并 DNS 名称服务器?

问题:是否可以合并 DNS 名称服务器?

在这个例子中,假设我example.com通过服务(godaddyname.com等)租赁域名

我可以选择将此域名及其所有记录指向不同的名称服务器,但是如果我想保留此名称服务器以用于记录等内容A,但将通配符子域名 ( *.example.com) 指向不同的名称服务器,该怎么办?这可能吗?

我查看了NS记录,但那些似乎只是为了在多个服务器之间平衡 DNS 负载。

此外,本例中的“自定义”名称服务器将是一个node应用程序(域名解析

尽管我不确定这是否重要。

进一步解释一下(为了解释,使用本地 IP):

我的要求如下:

这些记录托管在name.com以下位置:
A - example.com to ns1.name.com nameserver
A - api.example.com to ns2.name.com nameserver

这些记录托管在dnsd(不同的名称服务器):
A - *.example.com to 192.168.0.32 nameserver

example.com一个潜在的解决方案是否是为( )定义一个名称服务器ns.example.com,然后将ns的记录指向?*.example.comns.example.com

答案1

DNS 记录是一个层次结构。同一级别的任何内容(v1.example.com、v2.example.com 等)都将由为该级别(example.com)设置的 NS 记录解析

如果您愿意的话,可以为不同的级别/子域设置不同的名称服务器,例如(godaddy 上的 example.com、subdomain1.example.com 网络解决方案、subdomain2.example.com dns 变得简单)。

这称为区域委派。

答案2

正确的做法是设置一个更大的集群,但您可以让 NS 记录指向这样的子域。您可以挖掘这个域,但我不会让它在这个虚拟机上保持活动状态那么久。

$TTL 1m
$ORIGIN foobook.com.
@       IN      SOA     ns1.foobook.com. joeblownonesuch.foobook.com. (
        2016081602
        1m ; refresh
        2m ; update
        2m ; expiry
        2m ; minimum
        )
@       IN      NS      ns1
@       IN      NS      ns2
ns1     IN      A       212.109.220.95 ; glue records
ns2     IN      A       212.109.220.96

@       IN      A       212.109.220.95  ; misc a records for testing
www     IN      A       212.109.220.96
mail    IN      A       212.109.220.95
test    IN      A       212.109.220.95
@       IN      MX      10 mail.foobook.com.

sub.foobook.com.        NS      ns1.sedoparking.com.
www.foobook.com.        NS      ns1.sedoparking.com. ; overlaps with a record www.foobook.com.

这将为您带来以下结果:

[root@otherserver master]# dig +short @localhost test.foobook.com
212.109.220.95 [answer is from my server]
[root@cpc2-cosh11-2-0-cust725 master]# dig +short @localhost www.foobook.com
72.52.4.120 [answer is from ns1.sedoparking.com]
[root@otherserver master]# dig +short @localhost whatever.sub.foobook.com
72.52.4.120 [answer is from ns1.sedoparking.com]
[root@otherserver master]# dig +short @localhost mail.foobook.com
212.109.220.95 [answer is from my server]
[root@otherserver master]# dig +short @localhost ns1.foobook.com
212.109.220.95 [answer is from my server]

无论如何,212.* 是我的服务器,72.* 意味着它遵循指向 sedoparking 的 NS 指针(它对所有内容使用通配符 dns 记录)。

您实际应该做什么:在类似情况下,我所做的是使用大量 bash 脚本将区域文件转换为新格式的区域文件,然后我使用 dig +short 脚本比较每个子域的两个服务器的输出。

当您希望不同的公司或部门管理他们自己的子域名时,设置不同的服务器来提供子域名的 DNS 信息非常有用。

相关内容