我在服务器上运行 bind9,并对我的家庭 IP 启用递归,以尝试运行我自己的解析器。
它在大多数情况下都运行良好,但偶尔会出现此命令:
nslookup -querytype=SRV _xmpp-client._tcp.sette.ca
将返回:
Non-authoritative answer:
_xmpp-client._tcp.sette.CA service = 5 0 5222 singpolyma.net.
而不是正常的答案:
Non-authoritative answer:
_xmpp-client._tcp.sette.ca service = 5 0 5222 singpolyma.net.
这导致我的某些客户端应用程序无法解析。虽然 DNS 应该不区分大小写(我认为?),所以这可能是我使用的应用程序中的错误,但我的服务器偶尔会选择不同的大小写来返回,这似乎很奇怪。Google DNS 和我的 ISP DNS 似乎从未这样做过,而且大多数时候我的服务器也不会这样做。
有人见过这样的事情吗?什么可能导致 bind9 返回与我在查询中使用的情况不同的情况?
答案1
DNS 中的名称不区分大小写,这意味着_xmpp-client._tcp.sette.ca.
、、_xmpp-client._tcp.sette.CA.
等都_xMpP-cLiEnT._tCp.SeTtE.cA.
被视为相等,因此它本身实际上并不是不正确的。
发生这种情况的一个可能原因(从nslookup
有限的输出中无法清楚看出)是由于消息压缩,其中响应中包含的其他名称是大写的,并且其大写字母CA
被重新用作您姓名的一部分。
答案2
我也遇到过这种情况,但对我来说,它不会对任何应用程序造成任何问题。我怀疑这与 DNSSEC 有关。我将 bind9 升级到需要 DNSSEC 的版本后,我注意到了这一点。我怀疑 DNSSEC 出现了故障,但我还没有找到原因。我的问题是 .ORG 变成大写,并且可以随机地保留在那里,直到 .ORG 服务器过期。这可能是在尝试验证 .ORG TLD 时发生的数据包丢失。