一個空格分隔的 IPv4 與 IPv6 地址列表。用作系統的替補DNS伺服器。 在
systemd-networkd.service(8)EN 中 針對特定連線配置的任何DNS伺服器的優先順序都高於此選項中設定的DNS伺服器, 也高於上述
DNS= 中設定的DNS伺服器,同樣也高於 /etc/resolv.conf 中設定的DNS伺服器。 所以,此選項所設定的DNS伺服器僅在實在找不到可用DNS的情況下才會被使用。 若未設定此選項,則使用程式內建的預設DNS伺服器列表。
一個空格分隔的域名列表。 在解析不含"."的域名時,將被用作域名字尾,以將這些域名轉化為FQDN(全限定域名)。 這些字尾將會嚴格按照這裡設定的順序依次嘗試,直到解析成功。 出於相容性考慮,如果未設定此選項, 那麼將使用 /etc/resolv.conf 中列出的搜尋域(如果其中確實配置了搜尋域的話)。 此選項的預設值為空。
如果指定的域名帶有 "~" 字首, 那麼表示它不是一個搜尋域,而是一個"路由專用域名",也就是僅用於將指定的域名查詢請求 優先路由到上文 DNS= 設定的全域性DNS伺服器上去。 注意,如果不存在針對特定連線的DNS伺服器,那麼 "~" 語法沒有任何實際效果。 特殊值 "~." 表示將所有DNS查詢請求 優先路由到上文 DNS= 設定的全域性DNS伺服器上去 (前面的波浪號表示這是一個"路由專用域名",後面的點表示DNS根域名(也就是所有域名的字尾))。
必須設為 "resolve" 或布林值。 控制本機對LLMNR(Link-Local Multicast Name Resolution,
RFC 4794[1])的支援。 設為 yes 表示完全支援 LLMNR responder 與 resolver ; 設為 no 表示徹底不支援 LLMNR ; 設為 "resolve" 表示僅支援 LLMNR resolver 而不支援 LLMNR responder ; 注意,
systemd-networkd.service(8)EN 中還有針對特定連線的LLMNR設定。 對於某個特定的連線來說,LLMNR 將僅在針對該連線的設定與全域性設定都開啟的情況下,才會開啟。
必須設為布林值或特殊值 "allow-downgrade" 。 設為 yes 表示使用 DNSSEC 機制檢查所有 DNS 應答的有效性(多播DNS 與 LLMNR 除外)。 如果某個DNS應答被鑑定為無效, 那麼上層應用將會得到一個"查詢失敗"的結果。 注意,這意味著 DNS 伺服器必須支援 DNSSEC 。 如果某個 DNS 伺服器不能正確支援 DNSSEC , 那麼從該 DNS 伺服器接收到的所有應答都將被視為無效應答。 設為 "allow-downgrade" 表示: 如果某個 DNS 伺服器不能正確支援 DNSSEC , 那麼將不使用 DNSSEC 機制檢查該 DNS 應答的有效性。 注意,這將導致 DNSSEC 機制形同虛設,從而造成安全漏洞。 設為 no 則表示徹底禁用 DNSSEC 機制。
注意,因為 DNSSEC 需要額外查詢更多的DNS資料, 所以,開啟此選項會減慢DNS查詢速度。
DNSSEC requires knowledge of "trust anchors" to prove data integrity. The trust anchor for the Internet root domain is built into the resolver, additional trust anchors may be defined with dnssec-trust-anchors.d(5)EN. Trust anchors may change at regular intervals, and old trust anchors may be revoked. In such a case DNSSEC validation is not possible until new trust anchors are configured locally or the resolver software package is updated with the new root trust anchor. In effect, when the built-in trust anchor is revoked and DNSSEC= is yes, all further lookups will fail, as it cannot be proved anymore whether lookups are correctly signed, or validly unsigned. If DNSSEC= is set to "allow-downgrade" the resolver will automatically turn off DNSSEC validation in such a case.
Client programs looking up DNS data will be informed whether lookups could be verified using DNSSEC, or whether the returned data could not be verified (either because the data was found unsigned in the DNS, or the DNS server did not support DNSSEC or no appropriate trust anchors were known). In the latter case it is assumed that client programs employ a secondary scheme to validate the returned DNS data, should this be required.
It is recommended to set DNSSEC= to yes on systems where it is known that the DNS server supports DNSSEC correctly, and where software or trust anchor updates happen regularly. On other systems it is recommended to set DNSSEC= to "allow-downgrade".
In addition to this global DNSSEC setting systemd-networkd.service(8)EN also maintains per-link DNSSEC settings. For system DNS servers (see above), only the global DNSSEC setting is in effect. For per-link DNS servers the per-link setting is in effect, unless it is unset in which case the global setting is used instead.
Site-private DNS zones generally conflict with DNSSEC operation, unless a negative (if the private zone is not signed) or positive (if the private zone is signed) trust anchor is configured for them. If "allow-downgrade" mode is selected, it is attempted to detect site-private DNS zones using top-level domains (TLDs) that are not known by the DNS root server. This logic does not work in all private zone setups.
預設值是 no
必須設為布林值。 預設值 "yes" 表示快取先前已經解析成功的域名直到快取過期,以避免重複查詢。 注意,關閉快取不但浪費網路流量,更容易造成訪問延遲,尤其是在使用了DNSSEC的時候。
注意,對於IP地址為 127.0.0.1 或 ::1 之類的本機DNS來說,DNS快取總是關閉的。 這樣做是為了避免不必要的多次快取。