systemd-resolvedを使用するhostで、globalおよびlinkごとのDNS server、search domain、protocol状態を一覧表示する。
設定は変更しない。
適切なコマンドはどれか。
resolvectl statusはsystemd-resolvedのcurrent DNS server、per-link server、domain、DNSSEC等の状態を読み取る。
詳細解説
resolvectl dns enp1s0 192.0.2.53enp1s0のper-link DNS serverを変更する。
誤り。dns subcommandはenp1s0のper-link DNS serverを192.0.2.53へ変更する操作である。
resolvectl revert enp1s0enp1s0のper-link設定を既定へ戻す。
誤り。revertは指定linkのper-link DNS設定を元へ戻し、状態一覧を表示するだけではない。
resolvectl statusglobalと各linkのresolver状態を表示する。
正しい。statusはglobalおよびlinkごとのcurrent DNS server、domain、protocol状態等を表示する。
resolvectl flush-cacheslocal DNS cacheを消去する。
誤り。flush-cachesはcacheを消去する変更操作で、設定値を一覧する目的ではない。
実際に確かめる
一時的な検証環境で実行できる例です。
printf '%s
' 'resolvectl status -> global and per-link DNS state'期待される結果
resolvectl status -> global and per-link DNS state理解のポイント
- statusは読取
- per-link DNS
- dns/revert/flushは変更操作
確認時の注意
- 確認環境: systemd resolvectlの操作対応表
- 実resolver設定やcacheは変更しない。
基礎のおさらい
per-link DNS
VPNや複数networkではlinkごとにDNS serverとrouting domainを持ち、query先を分けられる。
resolv.confとの関係
systemd-resolved環境ではresolv.confがstub file等へのsymbolic linkとなり、実設定はresolvectl statusで詳しく確認できる。