我打算用 DNSSEC 签署我的 DNS 区域。我的区域、注册商和我的 DNS 服务器 (BIND9) 都支持 DNSSEC。唯一不支持 DNSSEC 的是我的二级域名服务器提供商(即buddyns.com)。
在他们的网站上,他们对 DNSSEC 进行了说明:
BuddyNS 不支持 DNSSEC,因为它暴露了一些不适合大容量 DNS 服务的漏洞。
好吧,我认为 DNSSEC 的使用目前在某种程度上是有问题的,因为大多数解析器不检查记录是否正确签名。我不知道的是 - 根据他们的声明 - 似乎提供它会暴露某种安全漏洞。
这些“漏洞”是什么?
我已经在多宿主服务器上的 SLES10(当前绑定 9.6)上设置了一个 DNS 服务器。该服务器可以从所有内部网络进行查询,并为所有内部网络提供答案。我们有两个独立的 DNS“主”区域。这些区域中的每一个都由许多权威的 Windows-DNS 服务器提供服务。
现在我的 linux-server 是这些区域之一(私有内部区域)的辅助 DNS 服务器,并充当另一个区域(公共内部区域)的转发器。
直到最近,这种设置都没有问题。现在我得到 - 在查询公共内部区域时(例如通过hostlinux 客户端上的命令)错误消息
;; 截断,在 TCP 模式下重试
一个wireshark-dump揭示了这个原因:第一个查询在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| …Run Code Online (Sandbox Code Playgroud)