正如标题所说。
DNSSEC 的设计及其在 Bind(以及 Unbound 之类的东西)中的实现显然允许这两种用途。它们可以选择进行 DNSSEC 验证,如果验证失败则返回 SERVFAIL。或者,它们可以设置为“支持”DNSSEC 但不进行实际验证,从而允许客户端软件使用“DO”位(使用 EDNS)来请求 DNSSEC 记录并自行进行验证。
值得注意的是,谷歌自己的公共 DNS 服务器似乎遵循后者,允许 DNSSEC 请求通过它们,但不自己进行 DNSSEC 验证。
DNSSEC 设想以这两种方式中的哪一种运行?如果您需要上下文,想象一下您有几个小型 Web 应用程序服务器和一个缓存递归 DNS 服务器,供它们通过它们执行 DNS 请求。
答案1
我不知道“设想”是什么;也许时间会告诉我们什么才是最好的。
但是如果你已经有了缓存服务器,我会让它进行验证。主要原因是:这样你就有了一个可以记录验证失败的地方(并且,如果有必要,还可以配置例外情况——当你访问的网站有到达已破坏的 DNSSEC 记录)。
在众多客户端上这样做是不可扩展的。