网络诊断工具

DNSSEC 检测

该域名是否已签名并通过验证?

什么是 DNSSEC?

DNSSEC(DNS 安全扩展,DNS Security Extensions)用密码学对 DNS 记录进行签名,使解析器能验证它们未被篡改,从而抵御缓存投毒和欺骗。它在普通 DNS 之上叠加了一条信任链,而不改变记录的含义。IPeek 查询一个进行验证的 DNS-over-HTTPS 解析器,并报告该域名是否已签名及是否通过认证。

DNSSEC 如何构建信任链

DNSSEC 的工作方式是用私钥为每个区域签名,并在 DNS 中发布配对的公钥。记录被签名(RRSIG),密钥被发布(DNSKEY),而区域密钥的指纹(DS 记录)被放入父区域。这将你的区域与其父区域相连,父区域又与其父区域相连,一路上溯到根——一条连续的信任链。进行验证的解析器从根向下沿这条链逐级检查每个签名,只信任签名验证通过的应答。

如何解读你的 DNSSEC 检查结果

IPeek 报告该域名是否已 DNSSEC 签名,以及进行验证的解析器是否对其通过认证。已认证的结果(常以 AD,即 Authenticated Data 标志呈现)意味着信任链完整、记录已被验证。如果该域名未签名,则只是没有启用 DNSSEC——这很常见,并非错误,但意味着记录未受保护。一个已签名却验证失败的域名则更严重:它指向一条断裂的信任链,通常是注册商处缺失或不匹配的 DS 记录。

常见 DNSSEC 问题及修复方法

最常见的故障是信任链断裂,即区域已签名,但父区域中的 DS 记录缺失、陈旧或与当前密钥不匹配。这会使进行验证的解析器返回 SERVFAIL,可能让该域名对处于验证型解析器之后的用户彻底无法访问。它通常发生在密钥轮换期间,或在启用 DNSSEC 却未将 DS 记录上传至注册商时。修复方法是确保注册商处的 DS 记录与你区域的活动密钥匹配,并且在 DS 更新传播之前绝不移除旧密钥。

常见问题

一个域名已 DNSSEC 签名意味着什么?

已 DNSSEC 签名的域名在其 DNS 记录上带有密码学签名,让进行验证的解析器能确认应答真实且未被修改。不过仅有签名还不够:父区域还必须持有一条匹配的 DS 记录,使信任链得以延伸到该域名。一个已签名且正确委派的域名才能抵御欺骗和缓存投毒。

一个域名未用 DNSSEC 签名有问题吗?

没有,未签名的域名不是错误——许多域名并不使用 DNSSEC。它只是意味着记录不带密码学保护,理论上可能在传输中被欺骗或投毒。启用 DNSSEC 会增加这层保护,但它是可选的,且需要在你的 DNS 提供商和注册商两端正确配置。

什么是 DS 记录,它为什么重要?

DS(委派签名者,Delegation Signer)记录是你区域签名密钥的指纹,发布在注册商处的父区域中。它把你已签名的区域连接到其上方的信任链。如果 DS 记录缺失或与你当前的密钥不匹配,进行验证的解析器就无法验证该域名,甚至可能让它彻底失败,因此保持 DS 同步至关重要。

DNSSEC 结果中的 AD 标志是什么意思?

AD 代表 Authenticated Data(已认证数据)。当进行验证的解析器设置 AD 标志时,即确认应答的 DNSSEC 签名已被检查、信任链已成功验证。在一个已签名的域名上若它缺失,可能表明验证失败,或解析器未做验证。IPeek 使用进行验证的解析器,因此该标志反映的是真实的认证。

为什么一个已 DNSSEC 签名的域名会验证失败?

通常原因是信任链断裂:注册商处的 DS 记录缺失、过时或与区域的活动密钥不匹配,常发生在密钥轮换之后。进行验证的解析器随即返回 SERVFAIL,可能让该域名对受影响的用户无法访问。让注册商的 DS 记录与当前签名密钥对齐即可修复。

相关工具

Deutsch | English | Español | Français | Italiano | Português | Русский | Українська | 日本語 | 简体中文 | 한국어