DNS 區域傳送與 TSIG

DNS 區域傳送允許經過授權的輔助伺服器使用 AXFR 獲取完整區域,或使用 IXFR 獲取增量更新(暫不支援)。 OpenResty Edge 按來源 CIDR 限制每個輔助伺服器,還可以額外要求輔助伺服器提供 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 而非僅憑地址授權,定期輪換共享金鑰,並在釋出後分別驗證允許來源和拒絕來源。