我已经使用 serverfault.com 的旧指南为我的域创建了 DNSSEC 记录 [https://serverfault.com/questions/405528/basic-dnssec-configuration-under-bind-9-7] 现在我想将我的 DNSSEC 详细信息添加到我的域名注册商的记录中,但我有点不知道应该把它们放在他们的表中的什么位置。
钥匙扣: 我有一个密钥ID在我的公钥文件中,那么就是这样吗?
算法:我知道这是5。
摘要类型:我知道这是1. RSASHA1(RSASHA1)。
消化: 不确定:我已经测试了文件中的各种字符串,我可以确定这些字符串是公开的,而不是私有的,但是我不断看到相同的错误:错误: 参数值范围错误
有人可以告诉我这一点吗?
...
答案1
根据注册局的不同,您需要提供的信息将与 DNSKEY 记录(对于 .eu)或 DS 记录(对于大多数其他注册局)完全对应。由于要求您提供“摘要”,因此这意味着 DS。
这意味着您可以通过跳到下面的“摘要”部分,从您的密钥(或区域)生成 DS 记录,然后直接从中复制/粘贴所有字段来缩短此过程。
各个字段包括:
关键标签:与 keyid 相同。DS 记录有一个密钥标签,它是一个 5 位数字(有时是 4 位数字;通常是 16 位)数字(基于整个密钥的哈希值)。如果您生成的密钥文件名为Kexample.com.+005+12345.key
,则密钥标签为 12345。它也将显示在输出中dnssec-dsfromkey
。
算法:在您的区域中,它5
适用于 RSASHA1。
摘要类型:这绝对是不是RSASHA1。它可以1
用于 SHA1 或2
SHA256,但并不取决于区域本身:它只是指示您将在以下字段中提供哪种类型的哈希。通常为同一个密钥添加具有两种哈希类型的 DS 记录。
消化:这不能直接从您的密钥文件中获取;它可以是生成使用以下工具dnssec-dsfromkey
:ldns-key2ds
$ dnssec-dsfromkey Kexample.com+005+12345.key
$ dig example.com. dnskey @::1 | dnssec-dsfromkey -A -f - example.com.
(-A
需要该标志是因为您没有任何 ZSK,即设置了 SEP 标志的密钥。虽然从技术上讲有效,但由于工具会跳过非 SEP 密钥,因此这会引起很多烦恼。)
默认情况下,该命令将显示使用不同哈希的两个 DS 记录;您可以同时添加两个或任意一个。如果您选择 RSASHA1,因为您希望获得最佳兼容性(如果你支持 IPv4,我就会相信),那么您还应该包括 SHA1 DS 记录。否则,SHA256 也已得到广泛支持。