为了确保解析器在未连接到互联网时也能够解析(通常情况并非如此),我配置了一个正向区域:
zone "example.com" {
type forward;
forward only;
forwarders { 1.2.3.4; 5.6.7.8; };
}
列出的转发器是权威名称服务器。除了给定的区域启用了 dnssec 外,此方法效果很好。验证失败,因为请求不是递归式的,因此签名不正确(这是我所期望的)。
我不想关闭该区域的 dnssec 验证,而是信任该密钥。
我该如何实现?是否可以按区域进行配置?
答案1
如果我正确理解了这个问题,那么问题似乎是由于某种原因,您无法验证完整的信任链,直到回到根(您有默认信任锚)。如果问题在没有互联网连接的情况下特别发生,那么这似乎是有道理的。
您可以做的(特别是如果您会意识到任何变化,例如如果这是您自己的区域)是直接为这个特定区域明确添加您自己的信任锚。
在 BIND 中,可以使用trusted-keys
配置指令(或managed-keys
适用时,对于自动化(RFC5011) 信任锚更新)。然后,您所做的实际上是指定要信任某个特定区域的密钥,而不是依赖于通过记录追溯到根目录
发布的正常信任链。DS
例如
trusted-keys {
example.com. 257 3 8 "AwEAAbOFAxl+Lkt0UMglZizKEC1AxUu8zlj65KYatR5wBWMrh18TYzK/ ig6Y1t5YTWCO68bynorpNu9fqNFALX7bVl9/gybA0v0EhF+dgXmoUfRX 7ksMGgBvtfa2/Y9a3klXNLqkTszIQ4PEMVCjtryl19Be9/PkFeC9ITjg MRQsQhmB39eyMYnal+f3bUxKk4fq7cuEU0dbRpue4H/N6jPucXWOwiMA kTJhghqgy+o9FfIp+tR/emKao94/wpVXDcPf5B18j7xz2SvTTxiuqCzC MtsxnikZHcoh1j4g+Y1B8zIMIvrEM+pZGhh/Yuf4RwCBgaYCi9hpiMWV vS4WBzx0/lU=";
};