描述 (Description)
hosts 外掛程式適用於從 /etc/hosts
檔案提供區域。它從磁碟上預先載入的檔案提供服務。它會檢查檔案的變更,並相應地更新區域。此外掛程式僅支援 A、AAAA 和 PTR 記錄。hosts 外掛程式可以與現成的 hosts 檔案一起使用,這些檔案會阻止存取廣告伺服器。
此外掛程式每 5 秒重新載入一次 hosts 檔案的內容。重新載入後,CoreDNS 將使用新的定義。如果檔案被刪除,任何內嵌的內容將繼續提供服務。當檔案恢復時,將再次使用該檔案。
如果 hosts 外掛程式中沒有符合的項目,您想要將請求傳遞到其餘的外掛程式鏈,則必須指定 fallthrough
選項。
此外掛程式在每個伺服器區塊中只能使用一次。
hosts 檔案
通常,條目的形式為 IP_address canonical_hostname [aliases...]
,如 hosts(5) 手冊頁所說明。
範例 (Examples)
# The following lines are desirable for IPv4 capable hosts
127.0.0.1 localhost
192.168.1.10 example.com example
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fdfc:a744:27b5:3b0e::1 example.com example
PTR 記錄
用於反向查找的 PTR 記錄由 CoreDNS 自動產生(基於 hosts 檔案條目),無法手動建立。
語法 (Syntax)
hosts [FILE [ZONES...]] {
[INLINE]
ttl SECONDS
no_reverse
reload DURATION
fallthrough [ZONES...]
}
- FILE 要讀取和解析的 hosts 檔案。如果路徑是相對的,則會將 root 外掛程式的路徑附加到該路徑。如果省略,則預設為 /etc/hosts。我們會每 5 秒掃描一次檔案是否有變更。
- ZONES 它應成為權威的區域。如果為空,則會使用組態區塊中的區域。
- INLINE Corefile 中內嵌的 hosts 檔案內容。如果 fallthrough 之前有任何行,則所有這些行都將被視為 hosts 檔案的額外內容。指定的 hosts 檔案路徑仍會被讀取,但條目會被覆寫。
ttl
變更產生的記錄的 DNS TTL (正向和反向)。預設值為 3600 秒(1 小時)。reload
變更每次重新載入 hosts 檔案之間的時間間隔。時間為零秒會停用此功能。有效持續時間的範例: "300ms"、"1.5h" 或 "2h45m"。請參閱 Go 的 time 套件。no_reverse
停用自動產生 hosts 的in-addr.arpa
或ip6.arpa
條目fallthrough
如果區域符合且無法產生任何記錄,則將請求傳遞至下一個外掛程式。如果省略 [ZONES…],則會對此外掛程式具有權威的所有區域發生 fallthrough。如果列出特定區域 (例如in-addr.arpa
和ip6.arpa
),則只有針對這些區域的查詢才會受到 fallthrough 的影響。
指標 (Metrics)
如果啟用監控(透過 prometheus 外掛程式),則會匯出以下指標
coredns_hosts_entries{}
- hosts 和 Corefile 中條目的總數。coredns_hosts_reload_timestamp_seconds{}
- 上次重新載入 hosts 檔案的時間戳記。
範例 (Examples)
載入 /etc/hosts
檔案。
. {
hosts
}
載入目前目錄中的 example.hosts
檔案。
. {
hosts example.hosts
}
載入 example.hosts 檔案,僅從中提供 example.org 和 example.net,如果查詢不符合,則 fall through 到下一個外掛程式。
. {
hosts example.hosts example.org example.net {
fallthrough
}
}
載入 Corefile 中內嵌的 hosts 檔案。
example.hosts example.org {
hosts {
10.0.0.1 example.org
fallthrough
}
whoami
}
另請參閱 (See also)
/etc/hosts
檔案中條目的形式基於 IETF RFC 952,該 RFC 已由 IETF RFC 1123 更新。