resolvectl — systemd DNS 상태 확인
Linux / 네트워크 및 방화벽 / resolvectl.html
💬 "resolvectl 명령어"
resolvectl는 systemd DNS 상태 확인 systemd-resolved의 DNS 설정과 캐시를 확인·관리합니다. /etc/resolv.conf 대신 씁니다.
인터페이스별 DNS 서버·검색 도메인을 확인합니다. DNS 캐시 조회 및 플러시가 가능합니다.
- 개념: 인터페이스별 DNS 서버·검색 도메인을 확인합니다.
- 주요 기능: DNS 캐시 조회 및 플러시가 가능합니다.
- 장점: DNSSEC 검증 상태를 확인합니다.
- 활용: DNS-over-TLS 설정을 관리합니다.
설치 및 다운로드
resolvectl는 패키지 매니저 또는 공식 스크립트로 설치합니다.
| 환경 | 명령 |
|---|---|
| systemd 내장 (235+) | resolvectl status |
| 구버전 (235 미만) | systemd-resolve 이름 사용 |
| 활성화 | sudo systemctl enable --now systemd-resolved |
| 확인 | resolvectl --version |
설치 확인은 resolvectl --version으로 합니다.
자주 쓰는 옵션
| 옵션 | 설명 |
|---|---|
resolvectl status | 현재 DNS 설정 전체를 조회합니다 |
resolvectl query <domain> | 특정 도메인 DNS를 조회합니다 |
resolvectl flush-caches | DNS 캐시를 비웁니다 |
resolvectl statistics | DNS 쿼리 통계를 확인합니다 |
resolvectl revert <iface> | 인터페이스 DNS 설정을 초기화합니다 |
필수 명령어 조합 3가지
resolvectl status— 어떤 DNS 서버를 쓰는지 확인resolvectl query example.com— DNS 해석 경로 추적resolvectl flush-caches— 캐시 문제 해결
💬 "실제 서버에서 resolvectl를 사용하는 예시를 보여줘"
실제 운영 중인 서버에서 자주 만나는 상황을 순서대로 정리했습니다.
1단계 · 설치 확인
systemd-resolved 활성 상태를 확인합니다.
resolvectl --version && systemctl status systemd-resolved
2단계 · DNS 설정 확인
현재 DNS 서버를 확인합니다.
resolvectl status
3단계 · 해석 테스트
특정 도메인 해석을 확인합니다.
resolvectl query example.com
실제 실행 화면
resolvectl status로 현재 DNS 설정을 확인한 결과입니다.

실제 운영 중인 서버
실무에서는 이렇게 씁니다
1. DNS 경로 추적
상황 — 특정 도메인만 해석이 안 될 때 원인을 찾습니다.
resolvectl query example.com
결과 — 어떤 DNS 서버가 응답했는지, 어느 링크의 설정이 개입했는지가 표시됩니다.
포인트 — /etc/resolv.conf만 봐서는 알 수 없는 정보입니다.
2. 캐시 플러시
상황 — DNS가 간헐적으로 풀리지 않을 때 캐시를 비웁니다.
resolvectl flush-caches && resolvectl query example.com
결과 — 캐시가 비워지고 재해석이 시도됩니다.
포인트 — 운영 시간대에는 트래픽 급증을 주의합니다.
실제 실행 화면
resolvectl query와 statistics로 해석·통계를 확인한 결과입니다.

실제 운영 중인 서버
주의할 점
- systemd-resolved가 비활성화되어 있으면 resolvectl이 작동하지 않습니다.
- 구버전(235 미만)에서는 명령어 이름이 systemd-resolve입니다.
- flush-caches는 모든 클라이언트의 DNS 캐시를 무효화합니다. 운영 시간대에 주의합니다.