描述
records 外掛程式適用於提供在設定檔中直接指定的區域資料。與 hosts 外掛程式不同,此外掛程式支援所有記錄類型。記錄需要以 RFC 1035 中指定的文字表示法指定。如果在記錄中未指定 TTL,則假設預設 TTL 為 3600 秒。
對於否定回應,應在回應中包含 SOA 記錄,這僅在資料中包含 SOA 記錄時才會執行。
records 外掛程式使用簡單的演算法來尋找要傳回的正確記錄。這表示目前無法使用一些更進階的功能,例如
- DNSSEC,如果新增了 RRSIG 記錄,即使客戶端能夠處理它們,也不會在回覆中傳回。如果您需要簽章的回覆,請將 dnssec 外掛程式與此外掛程式一起使用。
- 萬用字元,即
*.example.org
,不會被偵測為萬用字元記錄。
如果您需要更穩健的實作,您可能需要使用 file 外掛程式。
請注意,host 外掛程式在 plugin.cfg
中是在 records 之前設定的,這表示當兩者都在伺服器區塊中指定時,host 外掛程式將優先處理。
每個伺服器區塊只能使用此外掛程式一次。
語法
records [ZONES...] {
[INLINE]
}
- ZONES 它應該具有權威性的區域。如果為空,則使用設定區塊中的區域。
- INLINE 要提供的資源記錄。這些必須指定為記錄的文字表示法(如 RFC 1035 中所指定)。請參閱下面的範例。每個記錄必須位於單獨的一行上。
如果 INLINE 中的網域名稱不是完整限定的,則每個 ZONES 都會用作來源並新增至名稱。
範例
為 example.org 提供 MX 記錄,並將 MX 伺服器命名為 mx1
,位址為 127.0.0.1。
example.org {
records {
@ 60 IN SOA ns.icann.org. noc.dns.icann.org. 2020091001 7200 3600 1209600 3600
@ 60 IN MX 10 mx1
mx1 60 IN A 127.0.0.1
}
}
建立 2 個區域,每個區域都將有一個 MX 記錄。請注意,尚未提供 SOA 記錄。另請注意,您需要在 TXT 記錄的資料中引用 ;
,以使解析器正常運作。(;
是 RFC 1035 區域檔中的註解,其後的所有內容都將被忽略,因此需要在此處引用。)
. {
records example.org example.net {
mx1 IN MX 10 mx1
dkim._domainkey.relay 3600 IN TXT "v=DKIM1\; h=sha256\; k=rsa\; s=email\; p=MIIBIj ..."
}
}
錯誤
DNSSEC 和萬用字元均未實作。查詢演算法相當基本。未來的增強功能可以利用 file 外掛程式中的程式碼,使其更符合 DNS 規範。
另請參閱
如果您只需要傳回位址記錄,請參閱 hosts 外掛程式的說明文件。當這些內嵌記錄的內容變更時,請使用 reload 外掛程式自動重新載入這些記錄的內容。可以使用 dnssec 外掛程式來簽章回覆。請參閱 RFC 1035 和後續定義此外掛程式中必須使用的文字表示法的新記錄類型的 RFC。請注意,也支援 RFC 3597(處理未知的 DNS 資源記錄)語法。
對於更完整功能的 DNS 實作(包括 DNSSEC),請使用 file 外掛程式。