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 和列表响应都不会返回它,请在关闭弹窗前将其保存到密钥管理系统。编辑时留空秘钥表示保留原值,填写新值则轮换密钥。
仍被引用的密钥无法删除。引用方 会把已禁用的辅助服务器计入引用,且始终不显示秘钥。


添加传送辅助服务器
打开 DNS 区域并选择 区域传输。启用传送后,为每个辅助服务器填写来源网段 (CIDR)、可选的 TSIG 密钥,以及 启用 状态。
未配置密钥的辅助服务器仅凭来源地址授权;配置了密钥的,则必须既来自允许的 CIDR,并用该密钥签名 AXFR 或 IXFR 请求。
保存不等于发布。请发布该区域,等待网关同步,再用 使用 dig 测试 生成的 dig ... AXFR +tcp 命令验证。

权限与安全
DNS 读权限可以查看密钥及其引用;创建、轮换、删除密钥以及修改传送设置,都需要 DNS 写权限。
请把来源 CIDR 收得尽可能窄,优先使用 TSIG 而非仅凭地址授权,定期轮换共享密钥,并在发布后分别验证允许来源和拒绝来源。