Scroll to navigation

SYSTEMD-RESOLVE(1) systemd-resolve SYSTEMD-RESOLVE(1)

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 zbyszek@fedoraproject.org
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

systemd 231