목차

, , , , ,

resolvectl

resolvectlsystemd-resolved resolver의 상태를 조회하고 DNS 질의, cache 관리, link별 DNS server와 routing domain 설정을 수행하는 command-line client다.

Installation

resolvectl은 독립 package가 아니라 systemd-resolved와 함께 제공된다.

Debian / Ubuntu

sudo apt update
sudo apt install systemd-resolved
sudo systemctl enable --now systemd-resolved
resolvectl --version
Debian 계열에서 systemd-resolved package를 설치하면 /etc/resolv.conf가 systemd-resolved 관리 대상으로 전환될 수 있다. 설치 전에 현재 symlink와 network manager 구성을 확인한다.

Fedora / RHEL

sudo dnf install systemd-resolved
sudo systemctl enable --now systemd-resolved
resolvectl --version

RHEL 8에서 systemd-resolved는 Technology Preview로 문서화되어 있으므로 production support 정책을 확인한다. systemd는 Linux 전용이므로 macOS Homebrew와 Windows winget용 공식 설치 방법은 없다.

Usage

resolvectl [OPTIONS...] COMMAND [NAME...]

인자 없이 실행하거나 status를 사용하면 global 및 link별 resolver 상태를 표시한다.

Query

resolvectl query example.com
resolvectl query 192.0.2.10
resolvectl --type=MX query example.com
resolvectl --type=TXT query example.com
resolvectl service _https._tcp example.com

Status and Cache

resolvectl status
resolvectl status enp1s0
resolvectl statistics
resolvectl monitor
sudo resolvectl flush-caches
sudo resolvectl reset-statistics
# 임시 DNS server와 search domain 설정
sudo resolvectl dns wlo1 192.0.2.53 192.0.2.54
sudo resolvectl domain wlo1 example.com
 
# example.com 질의만 이 link로 보내는 route-only domain
sudo resolvectl domain wlo1 '~example.com'
 
# link별 임시 설정 제거
sudo resolvectl revert wlo1

dns, domain, default-route, llmnr, mdns, dnsovertls, dnssec, nta는 link별 설정을 조회하거나 runtime에 변경한다. 이 설정은 일반적으로 reboot, link 재생성 또는 network manager 재적용 후 유지되지 않는다. 지속 설정은 NetworkManager connection profile, systemd-networkd.network file 또는 /etc/systemd/resolved.conf.d/*.conf에서 관리한다.

기존 command 기록

domain LINK DOMAIN은 search domain이며, ~DOMAIN은 search suffix를 추가하지 않는 route-only domain이다. split DNS에서는 의미가 다르므로 구분한다.

Output Options

option과 command는 systemd version에 따라 다를 수 있으므로 대상 host의 resolvectl –help를 기준으로 확인한다.

Help

resolvectl --help

Troubleshooting

Compatibility

resolvectl은 systemd 239부터 이전 systemd-resolve client를 대체했다. 일부 command와 option은 이후 systemd release에서 추가되었으므로 오래된 distribution에서는 표시되지 않을 수 있다.

See Also

History