主DNS服务器是否需存在RRSIG?PowerDNS DNSSEC配置问题咨询
PowerDNS主从DNSSEC问题解析
主服务器是否需要有RRSIG记录?
取决于你使用的PowerDNS签名模式:
- 主服务器签名模式:主节点负责生成所有资源记录的RRSIG,同步给从节点,这种情况下主服务器必须存在RRSIG记录。
- 从服务器签名模式:主节点只存储明文资源记录,从节点拉取数据后自动完成签名生成RRSIG——这是PowerDNS官方支持的合法架构,你当前的情况大概率属于这种,主服务器无RRSIG是设计正常的。
验证方式:在主服务器执行
pdns_control show dnssec-signing,如果返回no,就是从签名模式;如果是yes,主节点就该生成RRSIG,需要排查签名流程故障。
解析DNSSEC检测工具的错误
前四条都是核心DNSSEC信任链故障,不能忽略:
- No RRSIGs found:检测工具没从你的权威服务器获取到任何RRSIG记录。要么是从服务器的签名没生效,要么是解析流量没走到签名后的从节点,也可能主从同步出问题导致RRSIG没对外提供。
- RRSIG=24074 and DNSKEY=24074/SEP does not verify the NSEC RRset:标签为24074的SEP签名密钥,无法验证NSEC记录的签名。大概率是密钥和签名不匹配——可能是从节点签名时用错了密钥,或者密钥更新后没重新生成签名,也可能主从同步的NSEC记录和从节点生成的签名不对应。
- None of the 1 RRSIG and 1 DNSKEY records validate the NSEC RRset:唯一的RRSIG和DNSKEY组合无法通过验证,说明整个DNSSEC签名链完全断裂,信任关系不成立。
- The NSEC RRset was not signed by any trusted keys:NSEC记录没有被信任的密钥签名,本质是你的DNSKEY对应的DS记录没在Namecheap(域名注册商)正确部署,或者密钥与签名不匹配,导致检测工具无法信任你的签名密钥。
排查建议
- 确认签名模式:
- 主服务器执行
pdns_control show dnssec-signing,若返回no,主无RRSIG正常;若为yes,检查主节点的dnssec-keymgr是否正常运行,区域配置的dnssec参数是否开启。
- 主服务器执行
- 检查从节点签名状态:
- 在从服务器执行
dig @localhost bumptv.com RRSIG,确认RRSIG是否存在; - 执行
pdns_control list-keys bumptv.com,检查密钥是否正确加载,dnssec-signing是否设为yes。
- 在从服务器执行
- 验证DS记录部署:
- 登录Namecheap后台,检查域名的DS记录是否与PowerDNS生成的SEP密钥完全匹配(算法、密钥标签、摘要必须一致);
- 用
dig bumptv.com DS确认DS记录已全网生效。
- 检查主从同步:
- 确认主节点的DNSKEY等记录已完整同步到从节点;
- 若用AXFR同步,检查配置是否允许传输所有记录类型(包括DNSKEY)。
内容的提问来源于stack exchange,提问作者Brad
相关产品推荐
相关产品推荐

