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 [[NAME] TYPE] DOMAIN

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
    https://tools.ietf.org/html/rfc2782

2.  DNS-SD
    https://tools.ietf.org/html/rfc6763

3.  OPENPGPKEY
    https://tools.ietf.org/html/draft-wouters-dane-openpgp-02

4.  TLSA
    https://tools.ietf.org/html/rfc6698

5.  Link-Local Multicast Name Resolution
    https://tools.ietf.org/html/rfc4795

跋
本頁面中文版由中文 man 手冊頁計劃提供。

翻譯人員：金步國
金步國作品集：http://www.jinbuguo.com
中文 man 手冊頁計劃：https://github.com/man-pages-zh/manpages-zh