說明
file 外掛程式用於「舊式」DNS 伺服器。它從磁碟上預先載入的檔案提供服務,該檔案包含 RFC 1035 格式的資料。如果區域檔案包含簽章 (即使用 DNSSEC 簽署),則會傳回正確的 DNSSEC 回應。僅支援 NSEC!如果您使用此設定,則您有責任重新簽署區域檔案。
語法
file DBFILE [ZONES...]
- DBFILE 要讀取和解析的資料庫檔案。如果路徑是相對路徑,則會將 root 外掛程式的路徑前置於該路徑。
- ZONES 它應該是授權的區域。如果為空,則使用組態區塊中的區域。
如果您想要循環配置 A 和 AAAA 回應,請查看 loadbalance 外掛程式。
file DBFILE [ZONES... ] {
reload DURATION
}
reload
間隔,如果 SOA 版本變更,則執行區域重新載入。預設為一分鐘。值為0
表示不掃描變更且不重新載入。例如,30s
每 30 秒檢查一次區域檔案,並在序號變更時重新載入區域。
如果您需要外送區域傳輸,請查看 transfer 外掛程式。
範例
從 db.example.org
載入 example.org
區域,並允許傳輸到網際網路,但將通知傳送至 10.240.1.1
example.org {
file db.example.org
transfer {
to * 10.240.1.1
}
}
其中 db.example.org
將包含 RFC 1035 中 (文字) 呈現格式的 RRSets (https://tools.ietf.org/html/rfc7719#section-4)
$ORIGIN example.org.
@ 3600 IN SOA sns.dns.icann.org. noc.dns.icann.org. 2017042745 7200 3600 1209600 3600
3600 IN NS a.iana-servers.net.
3600 IN NS b.iana-servers.net.
www IN A 127.0.0.1
IN AAAA ::1
或為多個區域使用單一區域檔案
. {
file example.org.signed example.org example.net
transfer example.org example.net {
to * 10.240.1.1
}
}
請注意,如果您有如下的組態,您可能會遇到原點無法正確辨識的問題
. {
file db.example.org
}
我們省略了檔案 db.example.org
的原點,因此這會參考伺服器區塊中的區域,在此案例中,它是根區域。然後,db.example.org
的任何內容都會以設定的原點讀取;這可能不會執行您想要的操作。最好在此處明確指定正確的原點。這可以用兩種方式完成
. {
file db.example.org example.org
}
或
example.org {
file db.example.org
}
另請參閱
如果您需要簡單的記錄混洗,請參閱 loadbalance 外掛程式。如需區域傳輸,請參閱 transfer 外掛程式。最後,root 外掛程式可以協助您指定區域檔案的位置。
如需有關如何建構區域檔案的更多資訊,請參閱 RFC 1035。