Skip to content

为域名配置 DNSSEC 与 DS 记录

在宝塔作为注册商为域名添加 DS 记录以启用 DNSSEC,配合三方 DNS 服务商(CloudFlare、阿里云 DNS 等)的签名能力防范 DNS 劫持与缓存污染,含原理与前提条件说明。

更新于 查看 Markdown

DNSSEC 配置

操作场景

域名系统安全扩展(DNS Security Extensions,简称DNSSEC)是一套DNS安全认证机制,通过数字签名技术来验证DNS响应的真实性和完整性,防止DNS缓存污染、DNS劫持等安全威胁。

作为域名注册商,宝塔支持为您的域名添加DS(Delegation Signer)记录,配合DNS服务商的DNSSEC签名功能,为您的域名提供更高级别的安全保护。

前提条件

  • 域名已在宝塔完成注册或已转入宝塔管理
  • DNS服务商支持DNSSEC签名功能
  • 已从DNS服务商获取DS记录信息

DNSSEC工作原理

DNSSEC通过以下机制确保DNS安全:

flowchart TB
  %% ===== 查询主路径 =====
  U[用户] --> R[递归解析器/验证器]
  R --> ROOT[根服务器]
  ROOT --> R
  R --> TLD[TLD 服务器]
  TLD --> R
  R --> AUTH[权威服务器]
  AUTH --> R
  R --> ANSWER[解析结果(已完成 DNSSEC 验证)]
  ANSWER --> U

  %% ===== 信任锚与关键记录(作为独立节点展示) =====
  TA[信任锚:根 KSK] --- R

  ROOT --- z0_dnskey[根区 DNSKEY(K/Z)]
  ROOT --- z0_ds[DS for COM(指向 COM KSK 摘要)]

  TLD --- z1_dnskey[COM 区 DNSKEY(K/Z)]
  TLD --- z1_ds[DS for example.com(指向域名 KSK 摘要)]
  TLD --- z1_rrsig[COM 区 RRSIG]

  AUTH --- z2_dnskey[example.com 区 DNSKEY(K/Z 或 CSK)]
  AUTH --- z2_rrsig[应答 RR 集 RRSIG(通常由 ZSK 签)]

  %% ===== 验证链(用虚线指示校验顺序,无连线文字以提升兼容性) =====
  R -.-> z0_dnskey
  z0_dnskey -.-> z0_ds

  R -.-> z1_dnskey
  z1_dnskey -.-> z1_rrsig

  R -.-> z2_dnskey
  z2_dnskey -.-> z2_rrsig
  z2_rrsig -.-> ANSWER

  %% ===== 样式 =====
  style ROOT fill:#FF6B6B,stroke:#333,stroke-width:2px,color:#fff
  style TLD  fill:#4ECDC4,stroke:#333,stroke-width:2px,color:#fff
  style AUTH fill:#45B7D1,stroke:#333,stroke-width:2px,color:#fff
  style R    fill:#7D5FFF,stroke:#333,stroke-width:2px,color:#fff
  style U    fill:#444,stroke:#333,stroke-width:2px,color:#fff
  style ANSWER fill:#B4F8C8,stroke:#333,color:#000

  style z0_ds fill:#FFDAB9,stroke:#333,color:#000
  style z1_ds fill:#FFDAB9,stroke:#333,color:#000
  style z0_dnskey fill:#FFF4B8,stroke:#333,color:#000
  style z1_dnskey fill:#FFF4B8,stroke:#333,color:#000
  style z2_dnskey fill:#FFF4B8,stroke:#333,color:#000
  style z1_rrsig fill:#E6F3FF,stroke:#333,color:#000
  style z2_rrsig fill:#E6F3FF,stroke:#333,color:#000
  style TA fill:#FFE066,stroke:#333,color:#000

配置步骤

步骤1:在DNS服务商启用DNSSEC

  1. 登录您的DNS服务商管理控制台
  2. 找到DNSSEC配置选项
  3. 启用DNSSEC签名功能
  4. 等待DNS服务商生成DNSKEY和DS记录

步骤2:获取DS记录信息

从DNS服务商获取以下DS记录信息:

  • Key Tag:密钥标签
  • Algorithm:加密算法(通常为7或8)
  • Digest Type:摘要类型(通常为1或2)
  • Digest:摘要值

示例DS记录:

2371 13 2 9388FDC839A35EA747E37A2B8A9D76BE2E56D0275F1A01F000148A916167B45B

步骤3:在堡塔域名管理控制台添加 DS 记录

  1. 登录堡塔域名管理控制台

  2. 进入“域名列表”页面,找到需要配置DNSSEC的域名

  3. 选择“管理”进入域名详情 域名列表页面

  4. 切换到域名安全选项卡,点击 管理 DNSSEC DNSSEC 配置页面

  5. 点击“添加DS记录” 添加DS记录

  6. 填写从DNS服务商获取的DS记录信息:

    • Key Tag:密钥标签(数字)
    • Algorithm:加密算法
    • Digest Type:摘要类型
    • Digest:摘要值(十六进制字符串) 填写DS记录信息
  7. 保存配置并确认无误 DS记录添加成功

步骤4:验证DNSSEC配置

配置完成后,需要等待DNS传播(通常需要24-48小时),然后可以通过以下方式验证:

使用在线工具验证

使用命令行工具验证

# 查询DS记录
dig DS example.com

# 使用dnssec-validate验证
dig +dnssec example.com

预期输出:

root@VM-8-5-debian:~# dig DS dnstest.icu @8.8.8.8

; <<>> DiG 9.20.11-4-Debian <<>> DS dnstest.icu @8.8.8.8
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 63846
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;dnstest.icu.                   IN      DS

;; ANSWER SECTION:
dnstest.icu.            3600    IN      DS      2371 13 2 9388FDC839A35EA747E37A2B8A9D76BE2E56D0275F1A01F000148A91 6167B45B

;; Query time: 7 msec
;; SERVER: 8.8.8.8#53(8.8.8.8) (UDP)
;; WHEN: Sat Sep 13 11:18:59 CST 2025
;; MSG SIZE  rcvd: 88

验证结果说明

  • 成功:显示验证通过,DNSSEC配置正确
  • 失败:显示错误信息,需要检查配置

常见问题

Q:配置DNSSEC后网站无法访问怎么办?

A:可能的原因和解决方案:

  1. DS记录配置错误:检查Key Tag、Algorithm、Digest Type和Digest是否正确
  2. DNS传播未完成:等待24-48小时让DNS记录全球传播
  3. DNS服务商配置问题:联系DNS服务商确认DNSSEC签名是否正常

Q:如何删除DNSSEC配置?

A:删除步骤:

  1. 登陆堡塔域名管理控制台,进入域名详情-域名安全-管理 DNSSEC 页面
  2. 删除已添加的DS记录
  3. 在DNS服务商处关闭DNSSEC签名
  4. 等待DNS传播完成

Q:更换DNS服务商后需要重新配置DNSSEC吗?

A:是的,更换DNS服务商后需要:

  1. 在新DNS服务商启用DNSSEC
  2. 获取新的DS记录信息
  3. 联系宝塔客服更新DS记录

相关文档

Navigation

Type to search…

↑↓ navigate↵ selectEsc close