使用在本地主机上运行的 Bind9。
我的 DNS 区域文件中有两条记录:
_kerberos._udp.GROUP-42.SNOOPY.ISP IN SRV 0 0 88 kirby.group-42.snoopy.isp.
kirby.group-42.snoopy.isp. IN A 10.44.42.129
我可以运行dig kirby.group-42.snoopy.isp
并得到正确的答案10.44.42.129
,但是当我尝试运行时dig _kerberos._udp.GROUP-42.SNOOPY.ISP SRV
出现错误,提示连接超时或无法访问服务器。
为什么它对 A 记录有效,但对 SRV 记录无效?
答案1
“_kerberos._udp.GROUP-42.SNOOPY.ISP” 末尾没有“。”,因此命名会将区域原点附加到该字符串的末尾,因为它不是完全限定域名 (FQDN)。
因此,您没有“_kerberos._udp.GROUP-42.SNOOPY.ISP”的记录,但有“_kerberos._udp.GROUP-42.SNOOPY.ISP.$ORIGIN”的记录($ORIGIN 将是包含区域的名称(默认值)或您已在区域主文件中定义其他来源时设置的任何名称。)
尝试在唱片标签末尾添加一个“。”,增加 SOA 中的区域序列号,然后重新加载该区域。
编辑:您可能还遇到了另一个问题,因为您的区域中缺少记录不应导致查询该记录超时。但请先修复缺少的“。”,然后如果仍然遇到问题,请发帖整个输出来自失败的 dig 命令。结果很重要,服务器部分也很重要。使用“dig @server”语法来指定您要询问的服务器或 dig +trace 也不会有什么坏处。