systemd-resolvedの設定とrouting domainに従ってapp.example.testを問い合わせ、解決結果とprotocol・interface情報を表示する。
適切なコマンドはどれか。
resolvectl query NAMEはsystemd-resolved経由で名前を解決し、addressと利用protocol・interface等を表示する。
詳細解説
resolvectl status app.example.teststatusは全体状態表示で名前をqueryするsubcommandではない。
誤り。statusはapp.example.testをquery nameとして受け取る解決subcommandではない。
resolvectl dns app.example.testdnsはlinkへDNS server addressを設定するsubcommandである。
誤り。dnsはLINK SERVER...という形式でper-link serverを設定し、name queryを行わない。
resolvectl domain app.example.testdomainはlinkのsearch/routing domain設定用である。
誤り。domainはlinkごとのdomain routeを設定する操作で、指定nameのanswerを求めない。
resolvectl query app.example.testsystemd-resolvedへ指定名の解決を要求する。
正しい。queryへapp.example.testを渡すとresolvedのrouting logicで解決し、answerとmetadataを表示する。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s
' 'resolvectl query NAME -> resolved addresses and lookup metadata'期待される結果
resolvectl query NAME -> resolved addresses and lookup metadata理解のポイント
- query subcommand
- resolved経由
- status/dns/domainと区別
確認時の注意
- 確認環境: systemd resolvectlの操作対応表
- 実際の名前解決queryは送信しない。
基礎のおさらい
routing domain
query nameのsuffixに最も適合するlinkを選び、VPN内部名等を適切なDNS serverへ送れる。
protocol metadata
resolvectl queryはDNS、LLMNR、mDNS等のどのprotocolとinterfaceで解決したかの手掛かりを示す。