子域名的通配符子域名

子域名的通配符子域名

我有域名 example1.com - DNS 由 Linode.com 管理

在 example1.com (1.1.1.2) 上托管有一个网站,并且运行良好。

我有一条 example1.com 的 A 记录,它将 sub.example1.com 指向 1.1.2.2

我可以确认对 sub.example1.com 的请求解析为 1.1.2.2,正如预期的那样。

我已将 sub.example1.com 添加到 DigitalOcean 并链接到我的服务器。

sub.example1.com 可以从 DigitalOcean 的服务器成功加载我的网站。

现在,我添加了一个*指向相同 1.1.2.2 (*.sub.example1.com) 的A 记录通配符

我已经等待 DNS 传播很长时间了,但由于无法找到主机,对 random.sub.example1.com 的 ping 操作失败。

为什么我不能为子域名的子域名添加通配符?这可能吗?

答案1

似乎存在配置错误。您正在尝试为子域定义单独的 DNS 区域,但面向互联网的 DNS 服务器上不存在该区域。

这是我所看到的,将您的域名替换为example.com.ng

$ dig +trace accounts.example.com.ng SOA

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> +trace accounts.example.com.ng SOA
;; global options: +cmd
.                       130141  IN      NS      l.root-servers.net.
.                       130141  IN      NS      i.root-servers.net.
.                       130141  IN      NS      d.root-servers.net.
.                       130141  IN      NS      e.root-servers.net.
.                       130141  IN      NS      g.root-servers.net.
.                       130141  IN      NS      j.root-servers.net.
.                       130141  IN      NS      k.root-servers.net.
.                       130141  IN      NS      c.root-servers.net.
.                       130141  IN      NS      m.root-servers.net.
.                       130141  IN      NS      a.root-servers.net.
.                       130141  IN      NS      b.root-servers.net.
.                       130141  IN      NS      f.root-servers.net.
.                       130141  IN      NS      h.root-servers.net.
;; Received 488 bytes from 75.75.75.75#53(75.75.75.75) in 15 ms

ng.                     172800  IN      NS      ns1.nic.net.ng.
ng.                     172800  IN      NS      ns2.nic.net.ng.
ng.                     172800  IN      NS      ns3.nic.net.ng.
ng.                     172800  IN      NS      ns4.nic.net.ng.
ng.                     172800  IN      NS      nsa.nic.net.ng.
;; Received 246 bytes from 128.63.2.53#53(128.63.2.53) in 48 ms

example.com.ng.          21600   IN      NS      ns1.linode.com.
example.com.ng.          21600   IN      NS      ns2.linode.com.
example.com.ng.          21600   IN      NS      ns3.linode.com.
;; Received 104 bytes from 194.0.1.29#53(194.0.1.29) in 81 ms

example.com.ng.          86400   IN      SOA     ns1.linode.com. REDACTED.gmail.com. 2015030476 14400 14400 1209600 86400
;; Received 108 bytes from 65.19.178.10#53(65.19.178.10) in 74 ms

看到SOA末尾的记录了吗?这不是SOA您的第二个区域的记录。我们无法告诉您为什么会出现这种情况,但在更正此问题之前,您在第二个区域文件中所做的任何更改都不会影响 DNS 查询。

答案2

我将分享我从 Linode 和 Digital Ocean 收到的回复,因为我相信它们在某些时候可能会对某些人有用:

利诺德

我认为您看到的问题是由于您没有二级域名的 DNS 区域。据我所知,您需要为 accounts.example.com.ng 创建一个新区域,您需要在 example.com.ng 区域上创建指向 ns1.linode.com - ns5.linode.com 的 NS 记录。

完成此操作后,您可以为通配符创建 CNAME,指向您想要指向的位置。然后,您需要为“accounts.example.com.ng”创建 A 记录(主机名字段将为空白),该记录指向您选择的任何 IP 地址(甚至 127.0.0.1)。

我希望这有帮助!

数字海洋

我看到您在此处将通配符记录添加到 DNS 设置中,并且看起来正确;但是,如果顶级域 (example.com.ng) DNS 由 Linode 的名称服务器提供服务,则应在此处添加记录,而不是在 DigitalOcean 上创建单独的 DNS 区域文件。如果有任何配置问题,他们的支持团队可以看到您尝试创建的 DNS 记录,并且能够更好地提供帮助。

如果您还有其他问题请告知我们!

第二条记录(不同员工):

感谢您今天抽出时间写信。这种级别的 DNS 服务是完全有可能的。您面临的问题是,您在创建 accounts.example.com.ng 时只是添加了一条 A 记录。而 *.accounts.example.com.ng 记录需要实际的子域委派才能工作。子域需要名称服务器记录指向新服务器进行委派。如果您在 accounts.example.com.ng 上运行名称服务器并将整个区域委派给该服务器,那么您可以让 accounts.example.com.ng 托管 *.accounts..example.com.ng。

它看起来类似于这样:

ns1.linode.com (权威服务器) - example.com.ng

| -----> ns1.accounts.example.com.ng (权威服务器) - accounts.example.com.ng (DigitalOcean Droplet) | -----> ns1.accounts.example.com.ng A 1.1.2.2 -----> *.accounts.example.com.ng A 1.1.2.2

您还可以尝试测试双通配符记录。它看起来类似于以下内容: *.*.example.com.ng A 1.1.2.2

为了更好地理解通配符 DNS 记录,我建议阅读http://en.wikipedia.org/wiki/Wildcard_DNS_record如需更深入地了解该主题,请阅读 https://www.rfc-editor.org/rfc/rfc4592

如果我们还能为您提供其他帮助,请告知我们。

最好的,Mike DigitalOcean 支持查看我们的社区,获取精彩的教程、文章和常见问题解答! https://digitalocean.com/community

我将对此进行分析并尝试建议的解决方案。我会用任何可行的方法更新此帖子!

更新: 与 Linode 支持人员交换了几条消息后,我能够正确配置 DNS。以下回复很有帮助:

唯一的方法是将 accounts.example.com.ng 设置为单独的区域,然后在该区域内为 accounts.example.com.ng 当前设置的 IP 创建 A 记录,然后将该区域内的 *.accounts.example.com.ng 设置为您需要的 IP。

相关内容