CNAME 记录有效地被通配符 CNAME 记录忽略和覆盖

Aus*_*ers 0 dns cname nslookup

我最近在我们的公共 DNS 中创建了以下 CNAME 记录,以允许我们的 Office 2010 客户端为 Office 365 自动配置自己(即我们可以使用自动发现)。

Domain: autodiscover.(ourdomain).com
Target: autodiscover.outlook.com
Run Code Online (Sandbox Code Playgroud)

不幸的是,在让 DNS 解析超过 48 小时后(足够多的时间),我们仍然无法使用自动发现。

NSLOOKUP 显示“autodiscover.(ourdomain).com”解析为“(ourdomain).com”,而不是“autodiscover.outlook.com”。指向“lync.com”的其他 CNAME 记录也会发生同样的情况。

在此处输入图片说明

NSLOOKUP 似乎将我的三个新 CNAME 记录解析回我们域的根目录,而不是指定的 Microsoft 服务器。如果 CNAME 记录不存在,这正是我希望看到的(因为我们的通配符 CNAME 记录将处理无法识别的子域)。

如果这些特定子域的 CNAME 记录确实存在,为什么通配符记录显然会处理这些请求?只有以红色突出显示的三个 CNAME 记录似乎被通配符记录覆盖。其他人工作正常。

似乎这更像是一个通用的 DNS 问题,而不是 Office 365 的问题。

Aus*_*ers 5

我的托管服务提供商花了大约 2 分钟才发现问题。

原来我忘记在目标和目标主机名的末尾添加句点。

问题解决了!

问题是您在每个主机名的末尾都缺少一个句点“。”,在左侧和右侧。

如果最后没有输入句点,DNS 会将其转换为例如:

“sip.(yourdomain).ca”在 DNS 中变为“sip.(yourdomain).ca.(yourdomain).ca”。

但是如果你有“sip.(yourdomain).ca”。(带有句号),它会正确地将其识别为“sip.(yourdomain).ca”。

请记住也为右侧的 Lync 和其他主机名执行此操作。

请不要加“。” IP 地址的句点。那些不需要句点,如果添加到它们中会导致问题。

所以这就解释了。正在应用通配符(将 NSLOOKUP 查询定向到我们域的根目录),因为子域“autodiscover.(ourdomain).ca. (ourdomain).ca ”是我的 CNAME 记录的解释方式 - 所以它与NSLOOKUP 查询“autodiscover.(ourdomain).ca”。

最后,我意识到我实际上可以从左侧列中删除域的根,只要我不附加句点,它就会自动添加。(或者,我可以将域的根留在那里并附加一个句点 - 但我是一个极简主义者。)

这就是我最终使用的,现在一切都在 NSLOOKUP 中正确解析:

在此处输入图片说明

句号只用在右手边。