我正在尝试配置如下所示的域名设置,但在使用 Route53 时遇到了问题。
base.com
sub.base.com
*.sub.base.com => CNAME sub.base.com
我尝试创建一个新的托管区域sub.base.com
并将 NS 记录添加到base.com
。这似乎确实委托了(尽管我不确定在 AWS 上是否有必要)。然后我将通配符 CNAME 添加到区域sub.base.com
,并将 A 记录添加到区域。现在,当我查找名称 ( dig demo.sub.base.com
) 时,dig 只会返回 SOA 记录,而不会解析为 A 记录。
我应该如何配置这个域布局?
答案1
我尝试创建一个新的托管区域 sub.base.com 并将 NS 记录添加到 base.com。这似乎确实可以委派(尽管我不确定在 AWS 上是否有必要)。
无论何时委托,这都是必要的,它并不特定于 AWS。
然后我将通配符 CNAME 添加到 sub.base.com 区域,并向该区域添加 A 记录。现在,当我查找名称 (dig demo.sub.base.com) 时,dig 只会返回 SOA 记录,而不会解析 A 记录。
您收到 SOA 的原因是 demo.sub.base.com 不存在于 sub.base.com 区域中。最好通过命令提示符使用 dig +trace demo.sub.base.com 来查看此信息,或者http://digwebinterface.com/。
我应该如何配置这个域布局?
从 base.com 区域移除 CNAME,并在 sub.base.com 区域中配置 demo.sub.base.com 记录。然后在 sub.base.com 区域中创建 *.sub.base.com 作为 demo.sub.base.com 的 CNAME。
答案2
亚马逊表示,Route53 的设计并非是让其名称服务器直接命中,因为它们是设计为由其他 DNS 服务器命中的。这就是为什么 CNAME 之后的 A 记录无法解析的原因,因为它不会迭代到拥有 A 记录的服务器。此外,不建议使用 Route53 NS 作为解析器。
对于 CNAME 记录,route53 对 CNAME 记录具有权威性,但对 CNAME 指向的 A 记录则不具有权威性。如果这是一个已注册的有效域,并委托给 Route 53,并且您使用非 Route53 DNS 服务器进行解析,则此方法可行。
总之,如果您查询指向 route53 授权区域中的服务器的 DNS 服务器,它将起作用。如果您直接查询授权区域中的其中一个服务器,它将不适用于 CNAME。
我知道这可能很难理解,但如果你多读几遍就会明白。