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 而非僅憑地址授權,定期輪換共享金鑰,並在釋出後分別驗證允許來源和拒絕來源。