将 cname 用于根/顶点 DNS 区域会丢失 MX 记录

sar*_*ean 2 domain-name-system dns-hosting cname-record dns-zone mediatemple

DNS 由 Media Temple 托管 - 我提到这一点只是因为我很好奇我的逻辑是否错误,或者这是否特定于 Media Temple 前端将输入从编辑表单转换为区域文件的方式。

MX 记录指向 Google Apps。三个 A 记录指向 Web 服务器。Media Temple DNS 编辑器包含 3 个字段:名称、类型、数据。A 记录配置如下:

"blank" (literally the field is blank) - A - IP Address of web server 
* (wildcard) - A - IP Address of web server
www - A - IP Address of web server
Run Code Online (Sandbox Code Playgroud)

新网站建立在不同的主机上。上面每个带有标题的 A 记录都被转换为一个 CNAME 记录,将相同的 3 个“名称”(主机)指向 ext.squarespace.com。

邮件流停止到 Google Apps。

My-MacBook-Air:~ me$ dig MX example.com

; <<>> DiG 9.8.3-P1 <<>> MX example.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64625
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
 ;example.com.      IN  MX

;; ANSWER SECTION:
example.com.    15680   IN  CNAME   ext.squarespace.com.

;; AUTHORITY SECTION:
squarespace.com.    60  IN  SOA ns1.p06.dynect.net.     domains.squarespace.com. 1101726 3600 600 604800 60
Run Code Online (Sandbox Code Playgroud)

当我删除空白和 * 记录时,相同的查询返回了预期的响应(Google 服务器)。我的问题是:为什么这种配置会导致上述标题响应?我对解析 example.com 的记录的逻辑。(FQDN) 到网络主机是为了处理个人不包含 www 前缀的事件。

Mar*_*son 7

您的第一条记录 ("blank"/apex/root)可以,但可能应该是cname; 请参阅 如何克服根域 CNAME 限制?在堆栈溢出上:

缺乏经验的管理员经常尝试将其作为允许您的域名也成为主机的一种明显方式。但是,像 BIND 这样的 DNS 服务器将看到 CNAME 并拒绝为该名称添加任何其他资源。由于不允许其他记录与 CNAME 共存,因此忽略 NS 条目。因此,podunk.xx 域中的所有主机也将被忽略!

所以,简而言之:如果你有一个cname作为你的顶点,所有的赌注都是关于是否有任何其他记录在该区域内工作。

也可以看看: