📜  Linux 中的 dnssec-keygen 命令和示例

📅  最后修改于: 2022-05-13 01:57:29.985000             🧑  作者: Mango

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

-b dmssec-keygen

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

dmssec-keygen -a

3. -n(名称类型)选项:

此选项用于指定密钥的所有者类型。接受的值为:

  • 主机/实体
  • 用户

例子:

dnssec-keygen -n ZONE gfg.org

dmssec-keygen -n



4. -3 选项:

此选项要求使用支持 NSEC3 的算法创建密钥。如果没有明确提及算法,默认情况下将使用 NSEC3RSASHA1。

例子:

dnssec-keygen -a RSASHA256 -b 1024 -3 gfg.org

dmssec-keygen -3

5. -f(关键标志)选项:

这用于为生成的密钥指定一个标志。公认的标志是:

  • KSK(密钥签名密钥)
  • 撤销

例子 :

dnssec-keygen -a RSASHA256 -b 1024 -f KSK gfg.org

dmssec-keygen -f

6. -c(类)选项:

DNS 可以根据类别进行分区。此选项用于指定 DNS 记录应具有的类。如果您未使用此选项指定任何内容,则默认使用 IN。以下是 DNS 类的列表:

  • IN (Internet) – 默认类
  • CH(混沌)
  • HS(赫西奥德)

例子:

dnssec-keygen -c CH gfg.org

dmssec-keygen -c

7. -t(类型)选项:

此选项用于指定密钥的类型。如果未明确指定,则默认使用 AUTHCONF。可能的类型是:

  • 认证配置文件
  • NOAUTHCONF
  • 诺斯
  • NOCONF

例子:

dnssec-keygen -a RSASHA256 -b 1024 -t NOAUTH gfg.org

dmssec-keygen -t