我在多宿主服务器上的SLES10(当前绑定9.6)上设置了DNS服务器。可以从所有内部网络查询此服务器,并为所有内部网络提供答案。我们有两个单独的DNS“主”区域。每个区域都由许多权威的Windows-DNS服务器提供服务。
现在,我的linux服务器是这些区域之一(私有内部区域)的辅助DNS服务器,并充当另一个区域(公共内部区域)的转发器。
直到最近,该设置仍能正常工作。现在我得到了-在查询公共内部区域(例如,通过host
Linux客户端上的命令)时,错误消息
;; 截断,以TCP模式重试
一个Wireshark转储揭示了此问题的原因:第一个查询在UDP模式下发出,答案不适合UDP(由于权威NS列表过多),然后在TCP模式下重试,给出了正确的答案。
现在的问题是:是否 可以将绑定配置为以TCP模式查询转发器而无需先尝试UDP?
更新:尝试使用ASCII艺术...
+--------------+ +--------------+ +-----------------+
| W2K8R2 DNS | | SLES 10 DNS | | W2K8R2 DNS |
| Zone private +---+ All internal +---+ Zone public |
| internal 2x | | Zones | | internal 30+ x |
+--------------+ +-+----------+-+ +-----------------+
| |
+--+---+ +--+---+
|Client| |Client|
+------+ +------+
host
命令的确切主机与发送什么查询之间。
minimal-responses: yes
到SLES 10的BIND配置中-这可能会减小响应大小。无论如何,大多数普通查询不会超过512字节的限制。