自動

原始碼

auto 啟用從 RFC 1035 樣式的網域主檔提供網域資料,該檔案會自動從磁碟中載入。

描述

auto 外掛程式用於「舊式」DNS 伺服器。它從磁碟上預先載入的檔案提供服務。如果網域檔案包含簽章 (即已簽署,即使用 DNSSEC),則會傳回正確的 DNSSEC 回應。僅支援 NSEC!如果您使用此設定, 有責任重新簽署網域檔案。只有在 SOA 的序號變更時,才會自動從磁碟載入新的或已變更的網域。如果網域不是透過網域傳輸來更新,則必須手動變更序號。

語法

auto [ZONES...] {
    directory DIR [REGEXP ORIGIN_TEMPLATE]
    reload DURATION
}

網域 (ZONES) 應該是權威的網域。如果為空,則會使用組態區塊中的網域。

  • directory 從指定的 DIR 載入網域。如果檔案名稱符合 REGEXP,它將用於提取來源。ORIGIN_TEMPLATE 將用作來源的範本。像 {<number>} 這樣的字串會被檔案名稱中相應的匹配項取代,例如 {1} 是第一個匹配項,{2} 是第二個。預設值為:db\.(.*) {1},即從名稱為 db.example.com 的檔案中,提取的來源將為 example.com
  • reload 如果 SOA 版本變更和網域檔案,則執行重新載入的間隔。它指定 CoreDNS 應該多久掃描一次目錄,以監視檔案的移除和新增。預設為一分鐘。值 0 表示不掃描變更和重新載入。例如,30s 每 30 秒檢查網域檔案,並在序號變更時重新載入網域。

如要啟用網域傳輸,請參閱 transfer 外掛程式。

支援 file 外掛程式的所有指令。請注意,auto 將載入找到的所有網域,即使該指令可能只接收特定網域的查詢。例如

. {
    auto example.org {
        directory /etc/coredns/zones
    }
}

會很樂意載入 example.COM 的網域,只是永遠不會被查詢,因為 auto 指令僅對 example.ORG 具有權威性。

範例

/etc/coredns/zones/org 載入 org 網域,並允許傳輸到網際網路,但將通知傳送至 10.240.1.1

org {
    auto {
        directory /etc/coredns/zones/org
    }
    transfer {
        to *
        to 10.240.1.1
    }
}

/etc/coredns/zones/org 載入 org 網域,並尋找檔案名稱為 www.db.example.org,其中 example.org 為來源。每 45 秒掃描一次。

org {
    auto {
        directory /etc/coredns/zones/org www\.db\.(.*) {1}
        reload 45s
    }
}

此外

使用 root 外掛程式來協助您指定網域檔案的位置。請參閱 transfer 外掛程式以啟用外送網域傳輸。