Linux 中的 dnssec-keygen 命令和示例
dnssec-keygen命令用于为 DNSSEC(DNS 安全扩展)生成密钥。 DNSSEC 是常规 DNS(域名系统)技术的扩展,但增加了对 DNS 数据的身份验证。这种认证是使用公钥密码技术进行的,上面提到的命令会产生公钥/私钥对。
句法:
dnssec-keygen [options] name
例子:
dnssec-keygen gfg.org
在上面的例子中,密钥是为gfg.org生成的。由于未提供任何选项,因此使用默认算法 (RSASHA1) 生成并且密钥具有默认大小(1024 位)。
使用 dnssec-keygen 命令
1. -b(密钥大小)选项:
此选项指定密钥应包含的位数。密钥的大小取决于所使用的算法。
- RSA 算法:512-4096 位
- DH算法:128-4096位
- DSA算法:512-1024 位(64 的倍数)
- HMAC算法:1-512 位
例子:
dnssec-keygen -b 1024 gfg.org
2. -a(算法)选项:
此选项用于选择密钥生成的加密算法。如果这样指定算法,则必须使用 -b 来设置密钥大小。可用的算法有:
- RSAMD5
- RSASHA1(默认算法)
- RSASHA256
- RSASHA512
- 卫生署
- 动态安全协议
- HMAC-MD5
- HMAC-SHA1
- HMAC-SHA224
- HMAC-SHA256
- HMAC-SHA384
- HMAC-SHA512
例子:
dnssec-keygen -a RSASHA1 -b 1024 gfg.org
3. -n(名称类型)选项:
此选项用于指定密钥的所有者类型。接受的值为:
- 区
- 主机/实体
- 用户
例子:
dnssec-keygen -n ZONE gfg.org
4. -3 选项:
此选项要求使用支持 NSEC3 的算法创建密钥。如果没有明确提及算法,默认情况下将使用 NSEC3RSASHA1。
例子:
dnssec-keygen -a RSASHA256 -b 1024 -3 gfg.org
5. -f(关键标志)选项:
这用于为生成的密钥指定一个标志。公认的标志是:
- KSK(密钥签名密钥)
- 撤销
例子 :
dnssec-keygen -a RSASHA256 -b 1024 -f KSK gfg.org
6. -c(类)选项:
DNS 可以根据类别进行分区。此选项用于指定 DNS 记录应具有的类。如果您未使用此选项指定任何内容,则默认使用 IN。以下是 DNS 类的列表:
- IN (Internet) – 默认类
- CH(混沌)
- HS(赫西奥德)
例子:
dnssec-keygen -c CH gfg.org
7. -t(类型)选项:
此选项用于指定密钥的类型。如果未明确指定,则默认使用 AUTHCONF。可能的类型是:
- 认证配置文件
- NOAUTHCONF
- 诺斯
- NOCONF
例子:
dnssec-keygen -a RSASHA256 -b 1024 -t NOAUTH gfg.org