Windows Server 2008 R2没有正确转发dns-sdlogging。 为什么?

我最近一直在试图设置单播DNS-SD ,以便我们的Mac用户打印容易,但我碰到了一个奇怪的障碍。

我们使用两台Windows Server 2008 R2机器作为最终用户和Internet之间的DNS服务器,但由于某些原因,在转发打印机的TXTlogging时,它们会返回SERVFAIL响应。 其他DNS服务器(包括运行Windows Server 2003的服务器)完全没有问题。

我甚至设置了一个新的Windows Server 2008 R2实例(在EC2上)来排除防火墙和networkingconfiguration问题。 问题仍然存在。 我的研究揭示了2008 R2和EDNS的一些问题,但其他人声称解决问题的命令没有帮助。

是否有其他人设置了通过Windows 2008 R2 DNS服务器工作的单播DNS-SD共享? 任何想法可能是什么原因造成的?

它看起来好像查询消息(0x3766)通过UDP发送而没有EDNS(如果使用EDNS,在附加部分会有一个selectRR),它将最大响应限制为512字节。 TXT数据本身是546字节,以便查询不能在512字节回答。 服务器应该回复一个截断(TC位集)响应,这将触发客户端通过TCP重试查询。

我不太熟悉Windows,所以我build议的是减小TXTlogging的大小。 就个人而言,我会尝试将logging数据设置为“1”,看看如何影响客户端。 (一个DNS-SD服务需要一个TXTlogging,一些DNS服务器/客户端扼杀空的TXTlogging,所以一个字符是最低的,你可以期望逃脱。)