引用相同 A 记录的 CNAME 的不同 nslookup 响应问题
Issue with different nslookup responses for CNAMEs referencing same A Record
我有一个复杂的 DNS 环境,由多个 DNS 主机组成(环境不是 AD 集成 DNS),我在不同的 DNS 区域中有 2 个 CNAME 记录,它们都引用相同的 A 记录(在另一个区域中,并托管在不同的 DNS 服务器上)。
其中一个 CNAMES,当通过 nslookup 检查时,returns A 记录名称及其 IP 地址
通过 nslookup 检查时的另一个 CNAME 仅 returns A 记录名称。它不是 return A 记录的 IP 地址。由于公司安全原因,我无法提供实际的 DNS 名称或服务器 IP,因此我已按照以下示例替换了相关详细信息。
例如:
托管在 DNS 服务器 1 (Windows 2012R2)
CNAME 1 - bart.domain.com(指向 marshall.pawpatrol.nicjunior.nickelodeon.domain.com)
CNAME 2 - bert.seasamestreet.domain.com(指向 marshall.pawpatrol.nicjunior.nickelodeon.domain.com)
托管在 F5 负载平衡器上
A记录 - marshall.pawpatrol.nicjunior.nickelodeon.domain.com, IP 10.23.1.10, TTL为5分钟
DNS 区域 domain.com、seasamestreet。domain.com 托管在 DNS 服务器 1 上。
DNS 区域 nickelodeon。domain.com 是 Linux 服务器上的授权区域(我不管理它)
DNS 区域 nicjunior.nickelodeon.domain.com 是另一个系统上的授权区域(未知 OS,因为我不管理它)
DNS 区域 pawpatrol.nicjunior.nickelodeon.domain.com 是 F5 负载均衡器上的委托区域(我不管理它)
如果查询bart.domain.com,则return是A记录名&IP
如果查询bert.seasamestreet.domain.com,则只returnA记录名
无论我使用 nslookup 还是 dig,都会发生这种情况。查询A记录直接都是return名字&IP地址,不管我查询什么DNS服务器。
有人能解释为什么一个 CNAME 会 return A 记录和 IP,而另一个 CNAME 不会吗?
我相信我已经确定了错误的原因。
发现在 domain.com.dns 文件(Windows 托管 DNS 记录的服务器)中,A 记录末尾引用的 CNAME DNS 记录条目是字符“\012”。
这是换行符的 ASCII 字符。有效的行读取:
bert.seasamestreet.domain.com CNAME marshall.pawpatrol.nicjunior.nickelodeon.domain.com2.
删除字符“\012”并重新加载区域文件解决了该问题。
我有一个复杂的 DNS 环境,由多个 DNS 主机组成(环境不是 AD 集成 DNS),我在不同的 DNS 区域中有 2 个 CNAME 记录,它们都引用相同的 A 记录(在另一个区域中,并托管在不同的 DNS 服务器上)。
其中一个 CNAMES,当通过 nslookup 检查时,returns A 记录名称及其 IP 地址 通过 nslookup 检查时的另一个 CNAME 仅 returns A 记录名称。它不是 return A 记录的 IP 地址。由于公司安全原因,我无法提供实际的 DNS 名称或服务器 IP,因此我已按照以下示例替换了相关详细信息。
例如: 托管在 DNS 服务器 1 (Windows 2012R2) CNAME 1 - bart.domain.com(指向 marshall.pawpatrol.nicjunior.nickelodeon.domain.com) CNAME 2 - bert.seasamestreet.domain.com(指向 marshall.pawpatrol.nicjunior.nickelodeon.domain.com)
托管在 F5 负载平衡器上 A记录 - marshall.pawpatrol.nicjunior.nickelodeon.domain.com, IP 10.23.1.10, TTL为5分钟
DNS 区域 domain.com、seasamestreet。domain.com 托管在 DNS 服务器 1 上。
DNS 区域 nickelodeon。domain.com 是 Linux 服务器上的授权区域(我不管理它) DNS 区域 nicjunior.nickelodeon.domain.com 是另一个系统上的授权区域(未知 OS,因为我不管理它) DNS 区域 pawpatrol.nicjunior.nickelodeon.domain.com 是 F5 负载均衡器上的委托区域(我不管理它)
如果查询bart.domain.com,则return是A记录名&IP
如果查询bert.seasamestreet.domain.com,则只returnA记录名
无论我使用 nslookup 还是 dig,都会发生这种情况。查询A记录直接都是return名字&IP地址,不管我查询什么DNS服务器。
有人能解释为什么一个 CNAME 会 return A 记录和 IP,而另一个 CNAME 不会吗?
我相信我已经确定了错误的原因。 发现在 domain.com.dns 文件(Windows 托管 DNS 记录的服务器)中,A 记录末尾引用的 CNAME DNS 记录条目是字符“\012”。
这是换行符的 ASCII 字符。有效的行读取:
bert.seasamestreet.domain.com CNAME marshall.pawpatrol.nicjunior.nickelodeon.domain.com2.
删除字符“\012”并重新加载区域文件解决了该问题。