DNS 区域传送与 TSIG

DNS 区域传送允许经过授权的辅助服务器使用 AXFR 获取完整区域,或使用 IXFR 获取增量更新(暂不支持)。 OpenResty Edge 按来源 CIDR 限制每个辅助服务器,还可以额外要求辅助服务器提供 TSIG 密钥。

此功能在 OpenResty Edge 26.9.1-1 中首次引入。

准备 DNS 区域

启用传送前,请确认:

  • 已启用权威 DNS,且 TCP 53 端口可达;
  • 区域具有有效的主名称服务器和 SOA 邮箱;
  • 区域顶点有静态且无条件的 A 或 AAAA 记录;
  • 区域顶点没有 CNAME 等冲突记录。

预检会报告无效或为空的顶点数据。发布区域前请先修复这些问题。

创建 TSIG 密钥

打开 DNS > TSIG 秘钥,选择 新建 TSIG 秘钥,填写 密钥名算法密钥(base64 编码)。 默认算法为 hmac-sha256;为兼容不同服务器,还可以选择 SHA-224、SHA-384、SHA-512、SHA-1 和旧版 HMAC-MD5 变体。

秘钥只在创建或轮换时显示一次。由于 GET 和列表响应都不会返回它,请在关闭弹窗前将其保存到密钥管理系统。编辑时留空秘钥表示保留原值,填写新值则轮换密钥。

仍被引用的密钥无法删除。引用方 会把已禁用的辅助服务器计入引用,且始终不显示秘钥。

TSIG 密钥列表

新建 TSIG 密钥表单

添加传送辅助服务器

打开 DNS 区域并选择 区域传输。启用传送后,为每个辅助服务器填写来源网段 (CIDR)、可选的 TSIG 密钥,以及 启用 状态。

未配置密钥的辅助服务器仅凭来源地址授权;配置了密钥的,则必须既来自允许的 CIDR,并用该密钥签名 AXFR 或 IXFR 请求。

保存不等于发布。请发布该区域,等待网关同步,再用 使用 dig 测试 生成的 dig ... AXFR +tcp 命令验证。

区域传送页签与传送辅助服务器列表

权限与安全

DNS 读权限可以查看密钥及其引用;创建、轮换、删除密钥以及修改传送设置,都需要 DNS 写权限。

请把来源 CIDR 收得尽可能窄,优先使用 TSIG 而非仅凭地址授权,定期轮换共享密钥,并在发布后分别验证允许来源和拒绝来源。