NAME

systemd-resolve - 解析主機名、IP地址、域名、DNS資源記錄、服務

SYNOPSIS

systemd-resolve [OPTIONS...] HOSTNAME...
systemd-resolve [OPTIONS...] ADDRESS...
systemd-resolve [OPTIONS...] --type= TYPE DOMAIN...
systemd-resolve [OPTIONS...] --service [[ NAMETYPEDOMAIN
systemd-resolve [OPTIONS...] --openpgp USER@DOMAIN
systemd-resolve [OPTIONS...] --tlsa DOMAIN[:PORT]
systemd-resolve [OPTIONS...] --statistics
systemd-resolve [OPTIONS...] --reset-statistics

描述

systemd-resolve 利用 systemd-resolved.service(8) 系統服務解析主機名、IP地址、域名、DNS資源記錄、服務。 預設情況下,引數列表將被視為域名/主機名的列表,程式的輸出將是它們所對應的 IPv4 或 IPv6 地址。 如果引數符合 IPv4 或 IPv6 格式,那麼表示反解析IP地址所對應的主機名。
程式的輸出包括查詢所使用的協議與網路介面, 還包括查詢到的資訊是否是可靠的。 所有透過 DNSSEC 認證的資訊將被視為是可靠的, 所有從本地可信源獲取的資訊也被視為是可靠的, 包括對本機主機名的解析、特殊的 "localhost" 主機名、所有來自 /etc/hosts 中的結果。
--type= 用於指定僅查詢特定型別的DNS資源記錄(A, AAAA, SOA, MX, ...), 而不是預設的地址解析/反解析。 特殊值 "help" 可用於列出所有可用的記錄型別。
--service 用於解析 SRV[1] 與 DNS-SD[2] 服務(見下文)。 需要一至三個引數。如果指定了三個引數,那麼第一個是 DNS-SD 服務名, 第二個是 SRV 服務型別,第三個是要查詢的域。在這種情況下,將會執行一次完整的 DNS-SD 風格的 SRV 與 TXT 查詢。 如果只指定了二個引數,那麼第一個是 SRV 服務型別, 第二個是要查詢的域。在這種情況下,將省略 TXT 查詢。最後,如果只指定了一個引數, 那麼該引數將被視為域名,並且已經加上了 SRV 型別字首。在這種情況下,將會執行一個 SRV 查詢(不含 TXT)
--openpgp 用於查詢儲存在DNS的 OPENPGPKEY[3] 型別的資源記錄中的 PGP 公鑰。 需要指定至少一個Email地址。
--tlsa 用於查詢儲存在DNS的 TLSA[4] 型別的資源記錄中的 TLS 公鑰。 需要指定至少一個域名。
--statistics 用於顯示解析統計, 包括 DNSSEC 驗證成功與失敗的數量。
--reset-statistics 用於重置各種解析統計的計數器, 包括所有 --statistics 輸出的統計資料。此操作需要超級使用者許可權。

選項

-4, -6
在解析主機名時,默認同時查詢 IPv4 與 IPv6 地址。 使用 -4 表示僅查詢 IPv4 地址, 使用 -6 表示僅查詢 IPv6 地址。
-i INTERFACE, --interface=INTERFACE
指定使用哪個網路介面。 可以使用網絡卡的數字序號,也可以使用例如 "en0" 這樣的網絡卡名稱。 注意,在使用全域性DNS(位於 /etc/resolv.conf 與 /etc/systemd/resolve.conf) 的時候,此選項沒有效果。
-p PROTOCOL, --protocol=PROTOCOL
指定查詢所用的協議。可以設為下列四個值之一: "dns"(經典的單播DNS)、 "llmnr"( Link-Local Multicast Name Resolution[5])、 "llmnr-ipv4" 、 "llmnr-ipv6" 。 預設使用所有適合的協議。 可以多次使用此選項以指定多個查詢協議。 注意:(1)設定 "llmnr" 等價於同時設定 "llmnr-ipv4" 與 "llmnr-ipv6" 。(2)此選項並不強制 systemd-resolved.service(8) 必須使用指定的查詢協議,因為某個必需的網路介面與相應的配置可能不存在。 (3)特殊值 "help" 可用於列出所有可用的協議。
-t TYPE, --type=TYPE, -c CLASS, --class= CLASS
指定查詢的DNS資源記錄的 type(A, AAAA, MX, ...) 與 class(IN, ANY, ...)。 如果使用了此選項,那麼僅查詢與指定的 type/class 匹配的DNS資源記錄。 如果僅指定了 type 的話,那麼 class 的預設值是"IN"。 特殊值 "help" 可用於列出所有可用的值。
--service
根據指定的引數列表,開啟 DNS-SD 與 簡單 SRV 服務解析。 詳見前文。
--service-address=BOOL
預設值 yes 表示在使用 --service 查詢服務時,同時也解析包含在 SRV 資源記錄內的主機名。
--service-txt=BOOL
預設值 yes 表示在使用 --service 查詢 DNS-SD 服務時,同時也解析 TXT 服務元資料記錄。
--openpgp
查詢儲存在DNS的 OPENPGPKEY 型別的資源記錄中的 PGP 公鑰(參見前文)。 指定的Email地址將被轉換為對應的DNS域名,並打印出所有 OPENPGPKEY 公鑰。
--tlsa
為每一個帶有 port 與 family 字首的名字 ("_ port._ family.domain") 查詢儲存在DNS的 TLSA 型別的資源記錄中的 TLS 公鑰(參見前文)。 埠號可以明確的寫在冒號(:)之後, 否則將使用預設的 443 埠。 family 可以作為 --tlsa 的引數指定,否則將使用預設值 tcp
--cname=BOOL
預設值 yes 表示追蹤 DNS 的 CNAME 或 DNAME 重定向。 否則,在接收到 CNAME 或 DNAME 應答後,直接返回錯誤。
--search=BOOL
預設值 yes 表示所有不含"."的主機名都將在搜尋域列表(若非空)中進行搜尋。
--raw[=payload|packet]
以原始的二進位制格式顯示應答的資料。 "payload"(預設值)表示匯出資料包的荷載。 "packet" 表示匯出原始的資料幀,並在前面加上一個小端序形式表示的64位整數。 此選項僅用於除錯目的。
--legend=BOOL
預設值 yes 表示顯示應答內容的標題頭與元資料。
--statistics
顯示解析統計,包括 DNSSEC 是否可用, 以及 DNSSEC 驗證成功與失敗的數量。
--reset-statistics
重置各種解析統計的計數器,包括所有 --statistics 輸出的統計資料。此操作需要超級使用者許可權。
--flush-caches
重新整理本地DNS資源記錄快取。
--status
顯示全域性DNS設定、以及針對每個連線的DNS設定。
-h, --help
顯示簡短的幫助資訊並退出。
--version
顯示簡短的版本資訊並退出。
--no-pager
不將程式的輸出內容管道(pipe)給分頁程式。

例子

Example 1. 解析 "www.0pointer.net" 域名所對應的地址
 
$ systemd-resolve www.0pointer.net
www.0pointer.net: 2a01:238:43ed:c300:10c3:bcf3:3266:da74
                  85.214.157.71
-- Information acquired via protocol DNS in 611.6ms. -- Data is authenticated: no
Example 2. 反解析 "85.214.157.71" 地址所對應的域名
 
$ systemd-resolve 85.214.157.71
85.214.157.71: gardel.0pointer.net
-- Information acquired via protocol DNS in 1.2997s. -- Data is authenticated: no
Example 3. 查詢 "0pointer.net" 域名的 MX 記錄
 
$ systemd-resolve -t MX yahoo.com --legend=no
yahoo.com. IN MX    1 mta7.am0.yahoodns.net
yahoo.com. IN MX    1 mta6.am0.yahoodns.net
yahoo.com. IN MX    1 mta5.am0.yahoodns.net
Example 4. 查詢一個 SRV 服務
 
$ systemd-resolve --service _xmpp-server._tcp gmail.com
_xmpp-server._tcp/gmail.com: alt1.xmpp-server.l.google.com:5269 [priority=20, weight=0]
                             173.194.210.125
                             alt4.xmpp-server.l.google.com:5269 [priority=20, weight=0]
                             173.194.65.125
                             ...
Example 5. 查詢一個 PGP 公鑰
 
$ systemd-resolve --openpgp [email protected]
d08ee310438ca124a6149ea5cc21b6313b390dce485576eff96f8722._openpgpkey.fedoraproject.org. IN OPENPGPKEY
        mQINBFBHPMsBEACeInGYJCb+7TurKfb6wGyTottCDtiSJB310i37/6ZYoeIay/5soJjlMyf
        MFQ9T2XNT/0LM6gTa0MpC1st9LnzYTMsT6tzRly1D1UbVI6xw0g0vE5y2Cjk3xUwAynCsSs
        ...
Example 6. 查詢一個 TLS 公鑰 (可以省略 "=tcp" 與 ":443")
 
$ systemd-resolve --tlsa=tcp fedoraproject.org:443
_443._tcp.fedoraproject.org IN TLSA 0 0 1 19400be5b7a31fb733917700789d2f0a2471c0c9d506c0e504c06c16d7cb17c0
        -- Cert. usage: CA constraint
        -- Selector: Full Certificate
        -- Matching type: SHA-256

參見

systemd(1), systemd-resolved.service(8)

NOTES

1.
SRV
2.
DNS-SD
3.
OPENPGPKEY
4.
TLSA
5.
Link-Local Multicast Name Resolution

本頁面中文版由中文 man 手冊頁計劃提供。
翻譯人員:金步國
 
金步國作品集:http://www.jinbuguo.com
 
 
中文 man 手冊頁計劃: https://github.com/man-pages-zh/manpages-zh

Recommended readings

Pages related to systemd-resolve you should read also:

Questions & Answers

Helpful answers and articles about systemd-resolve you may found on these sites:
Stack Overflow Server Fault Super User Unix & Linux Ask Ubuntu Network Engineering DevOps Raspberry Pi Webmasters Google Search