Debian 12 DNS 조회 실패: systemd-resolved 복구

Debian 12에서 "이름 확인에 일시적인 오류가 발생했습니다"라는 메시지가 표시되면, 확인자 서비스, 링크 /etc/resolv.conf, 그리고 — 명령어로 나열된 DNS 서버를 resolvectl순서대로 확인하십시오. 서비스가 중지된 경우에는 서비스 재시작으로 문제를 해결할 수 있지만, 링크가 끊어졌거나 상위 서버에 연결할 수 없는 경우에는 다른 해결 방법이 필요합니다.

이 지침은 .debian 12(Bookworm) 시스템에서 .debian을 사용하도록 구성된 경우에 적용됩니다 . Debian은 해당 리졸버를 별도의 패키지로 분리했으며, Debian 12 릴리스 노트systemd-resolved 에 설명된 대로 기본값으로 설정하지 않았습니다 . 설치 환경에서 다른 DNS 관리자를 사용하는 경우, 이러한 설정을 강제로 적용하지 말고 해당 관리자가 제어하도록 유지하십시오.

1. 이름 확인이 실패하는 지점을 파악합니다.

네트워크 경로와 호스트 이름 조회를 시작하세요. 네트워크 상태가 변경될 경우를 대비하여 터미널 창을 열어둔 상태로 로컬에서 명령어를 실행하십시오.

ip -br address
ip route
ping -c 2 1.1.1.1
resolvectl status
resolvectl query debian.org
getent ahosts debian.org

기본 경로와 정상적인 숫자 IP 연결은 해당 시스템이 DNS 없이도 네트워크에 접근할 수 있음을 의미합니다. ping 실패 자체만으로는 경로 문제를 입증할 수 없습니다. 네트워크에서 ICMP 에코 응답을 차단할 수 있기 때문입니다. 인터페이스에 주소나 경로가 없는 경우, 먼저 네트워크 연결을 수정해야 합니다.

resolvectl status전역적으로 또는 개별 인터페이스에 할당된 DNS 서버와 도메인을 표시합니다. resolvectl querysystemd 리졸버를 테스트하고, getent ahostsLinux 애플리케이션에서 일반적으로 사용되는 호스트 이름 조회 경로를 테스트합니다. 이러한 구분은 오류를 격리하는 데 도움이 됩니다.

관찰다음 확인
주소 또는 기본 경로가 없습니다.DNS 설정을 수정하기 전에 인터페이스, 게이트웨이 또는 DHCP 구성을 먼저 수정하십시오.
resolvectl해당 서비스에 연결할 수 없습니다.설치되어 실행 중인지 확인하십시오 systemd-resolved.
resolvectl query작동함, getent실패함/etc/resolv.confNSS 호스트 구성을 검사합니다 .
두 조회 모두 정상 경로임에도 불구하고 실패합니다.상위 DNS 주소, DNS 라우팅 및 방화벽 액세스를 검사하십시오.
DNS 연결 상태를 확인하기 위한 ip route, resolvectl status, getent hosts 명령어가 설치된 Debian 터미널입니다.
터미널 보기에는 초기 진단을 위해 기본 네트워크 경로, DNS 서버 할당 및 애플리케이션 수준 호스트 이름 조회 정보가 그룹으로 표시됩니다.

2. systemd-resolved가 설치되어 있고 활성화되어 있는지 확인하십시오.

Debian 12에서는 systemd가 설치되어 있다고 해서 별도의 리졸버 패키지가 반드시 설치되는 것은 아닙니다. DNS 파일을 변경하기 전에 패키지와 유닛이 설치되어 있는지 확인하십시오.

dpkg-query -W -f='${Status}\n' systemd-resolved
systemctl status systemd-resolved --no-pager

패키지가 설치되었지만 서비스가 비활성화된 경우, 서비스를 시작하고 향후 부팅 시 작동하도록 설정하십시오.

sudo systemctl enable --now systemd-resolved
systemctl is-active systemd-resolved

최종 명령은 다음과 같은 결과를 보고해야 합니다 active. 장치가 작동하지 않으면 반복적으로 재시작하는 대신 실제 오류 메시지를 확인하십시오.

journalctl -u systemd-resolved -b --no-pager -n 60

sudo apt install systemd-resolved해당 패키지가 없는 경우, 패키지 저장소에 대한 접근 권한이 확보된 후에만 설치하십시오 . 이 패키지를 설치하면 제어권이 변경되므로 NetworkManager, VPN 또는 고정 DNS 설정을 먼저 검토해야 합니다. Debian은 Bookworm 업그레이드 노트/etc/resolv.conf 에서 이 패키지 변경 사항을 설명합니다 .

Debian 터미널에서 systemctl status systemd-resolved 명령어를 실행하면 Active: active (실행 중)으로 표시됩니다.
서비스 상태 표시 화면에는 로드된 장치, 활성 상태 및 시작 메시지를 확인할 수 있는 위치가 표시됩니다.

3. 리졸버 링크가 잘못된 경우에만 해당 링크를 수정하십시오.

표준 systemd-resolved스텁은 에서 수신 대기합니다 127.0.0.53. 권장 호환성 파일은 이며 /run/systemd/resolve/stub-resolv.conf, 에서 링크할 수 있습니다 /etc/resolv.conf. 먼저 현재 모드를 확인하십시오.

ls -l /etc/resolv.conf
readlink -f /etc/resolv.conf
cat /etc/resolv.conf
resolvectl status

링크 방식 /run/systemd/resolve/resolv.conf또한 지원되는 모드이지만, 이 방식을 사용하는 프로그램은 로컬 스텁 대신 업스트림 DNS에 직접 접속합니다. 링크가 다르다고 해서 링크가 끊어졌다고 단정짓지 마십시오. 데비안 systemd-resolved 서비스 설명서에서 지원되는 모드를 확인할 수 있습니다.

로컬 스텁을 의도적으로 사용하고, 서비스가 실행 중이며, 스텁 리스너가 활성화되어 있고, 기존 링크 /etc/resolv.conf가 없거나, 연결되지 않았거나, 더 이상 사용되지 않는 리졸버를 가리키는 경우, 권장 링크를 복원하십시오. 먼저 기존 파일이나 링크를 백업하십시오. 파일이 없는 경우 복사 단계를 건너뛰십시오.

sudo cp -a /etc/resolv.conf /etc/resolv.conf.dns-backup
sudo ln -sfn /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf
cat /etc/resolv.conf

다른 서비스가 의도적으로 관리하는 호스트에서는 해당 대체 프로그램을 실행하지 마십시오 /etc/resolv.conf. 로컬 nameserver 127.0.0.53항목을 생성하려면 작동하는 스텁 리스너가 필요하며, 단순히 주소를 입력하는 것만으로는 DNS 서비스가 생성되지 않습니다. 원격 시스템에서는 확인자 설정을 편집하기 전에 두 번째 액세스 방법을 유지하십시오.

systemd가 해결한 stub-resolv.conf 파일을 가리키는 /etc/resolv.conf 심볼릭 링크가 표시된 Debian 터미널 화면입니다.
심볼릭 링크 검사는 Debian이 의도적으로 로컬 systemd-resolved 스텁을 사용하도록 구성된 경우 예상되는 대상을 보여줍니다.

4. 상위 DNS 서버가 없거나 연결할 수 없는 경우 수정합니다.

적합한 상위 DNS 서버가 없거나 구성된 서버에 연결할 수 없는 경우 resolvectl status, 해당 할당의 원인을 확인하십시오. 동적 DNS 설정은 DHCP, NetworkManager, systemd-networkd 또는 VPN에서 제공될 수 있습니다. 기본 경로를 전달하는 인터페이스와 해당 인터페이스에 속한 DNS 서버를 확인하십시오.

공용 DNS를 허용하는 네트워크에서 간단한 진단 테스트를 수행하려면 해당 인터페이스에 알려진 공용 리졸버를 할당하십시오. `<interface>` ens33부분을 실제 인터페이스로 바꾸십시오 ip -br address.

sudo resolvectl dns ens33 1.1.1.1 1.0.0.1
resolvectl query debian.org

해당 두 주소는 Cloudflare에서 공개 DNS 확인자 주소로 문서화되어 있습니다 . resolvectl dns변경 사항은 런타임 구성이므로 네트워크 관리자가 링크가 다시 연결될 때 이를 다시 설정할 수 있습니다. 이제 조회가 정상적으로 작동한다면 이 임시 명령에 의존하기보다는 영구적인 DNS 소스를 수정하십시오.

NetworkManager를 사용하는 경우, 활성 연결을 검사하고 nmcli connection show --active해당 연결의 DNS 설정 또는 DHCP 동작을 조정할 수 있습니다. systemd-networkd를 사용하는 경우, 원하는 DNS=설정을 해당 .network파일에 저장하고 안전한 시점에 네트워크를 다시 로드하거나 재구성하십시오. 자세한 내용은 Debian systemd.network 설명서 및 Debian NetworkManager 구성 설명서를 참조하십시오 . 관리되는 인터페이스를 다시 연결하면 SSH 세션이 중단될 수 있습니다.

내부 이름에는 조직 또는 VPN의 DNS 서버를 우선적으로 사용하십시오. 공용 리졸버는 프라이빗 영역에 대한 응답을 제공하지 않으므로 모든 쿼리를 공용 리졸버로 강제로 보내면 스플릿 DNS가 손상되거나 내부 호스트 이름이 노출될 수 있습니다. 전역 DNS=항목은 resolved.conf링크별 DNS를 자동으로 대체하는 대신 함께 작동할 수 있습니다. 자세한 내용은 Bookworm resolved.conf 설명서를 참조하십시오 .

5. 캐시를 비우고 두 조회 경로가 모두 제대로 작동하는지 확인합니다.

서비스, ​​리졸버 링크 또는 업스트림 구성을 수정한 후 캐시된 응답을 지우고 다시 테스트하십시오.

sudo resolvectl flush-caches
resolvectl query debian.org
getent ahosts debian.org
resolvectl status

네트워크가 다시 연결된 후에도 resolvectl query반환 주소, 반환 주소 레코드 및 의도한 DNS 서버가 계속 표시 되면 복구가 효과적인 것입니다 . 두 명령은 서로 다른 인터페이스를 테스트하므로 한 명령에서 성공했다고 해서 모든 애플리케이션이 수정되었다고 단정해서는 안 됩니다. Debian의 resolvectl 매뉴얼에서 쿼리, 상태 및 캐시 플러시에 대한 설명을 확인할 수 있습니다.getent ahosts

debian 터미널에서 resolvectl query debian.org 및 getent ahosts debian.org 명령을 실행하여 주소 레코드를 반환한 후 flush-caches를 실행하는 모습입니다.
최종 터미널 화면에는 DNS 구성이 복구된 후 주소 레코드를 반환해야 하는 두 가지 검사 결과가 표시됩니다.

resolvectl query조회에 성공했지만 여전히 실패하는 경우 getent, 조회 경로에 grep "^hosts:" /etc/nsswitch.conf적절 dns하거나 설치된 resolveNSS 모듈이 있는지 확인하십시오. 두 가지 방법 모두 계속 실패하는 경우, 리졸버 저널과 DNS 트래픽에 대한 방화벽 제한 사항을 검토한 후 실제 회사, 라우터 또는 공급자 DNS 주소를 사용하여 테스트하십시오. 단일 조회 성공만으로는 충분하지 않습니다. 재연결 후와 재부팅 후에도 동일한 검사를 반복하여 문제가 영구적으로 해결되었는지 확인하십시오.

댓글 남기기

헤드리스 서버에서 Debian 12 보안 업데이트를 계속 실행하는 방법

헤드리스 서버에서 Debian 12 보안 업데이트를 계속 실행하는 방법

SSH를 통한 Debian의 무인 보안 업데이트를 활성화하고, 기본 패키지 소스를 유지하며, systemd 및 APT 로그를 통해 예약된 실행을 확인하십시오.

smartd를 사용하여 Ubuntu SMART 디스크 경고를 이메일로 받아보세요.

smartd를 사용하여 Ubuntu SMART 디스크 경고를 이메일로 받아보세요.

메일 전송 옵션을 비교하고, Ubuntu에서 smartd를 구성하고, 디스크 상태 경고가 받은 편지함에 제대로 도착하는지 확인하세요.

Debian 12 DNS 조회 실패: systemd-resolved 복구

Debian 12 DNS 조회 실패: systemd-resolved 복구

debian 12에서 DNS 조회를 복원하려면 systemd-resolved를 확인하고, 필요한 경우 resolv.conf를 복구하고, 상위 DNS 및 애플리케이션 이름 확인을 검증하십시오.

Ubuntu 24.04에서 HDMI 오디오가 출력되지 않나요? 출력 복원하기

Ubuntu 24.04에서 HDMI 오디오가 출력되지 않나요? 출력 복원하기

Ubuntu에서 모니터 또는 TV를 오디오 출력 장치로 인식하도록 하려면, 소리 설정에서 해당 장치를 선택하고, HDMI가 없는 경우 연결 또는 PipeWire 장치 목록을 확인하십시오.

저장소 키를 복구하여 APT 서명 오류를 해결하세요

저장소 키를 복구하여 APT 서명 오류를 해결하세요

보안을 비활성화하지 않고도 오류가 발생한 소스를 식별하고, 검증된 키를 갱신하고, 결과를 확인하여 Ubuntu APT 서명 경고를 안전하게 해결할 수 있습니다.

3상 전압, 전류, kW, kVA 및 역률 변환 방법

3상 전압, 전류, kW, kVA 및 역률 변환 방법

균형 잡힌 3상 공식을 배우고, 선간 전압, 전류, kW, kVA 및 역률을 단계별로 변환하는 방법을 예제와 함께 확인하고 점검 범위를 살펴보세요.

Ubuntu cgroups를 사용하여 명령의 CPU 및 메모리 사용량을 제한합니다.

Ubuntu cgroups를 사용하여 명령의 CPU 및 메모리 사용량을 제한합니다.

CPUQuota 및 MemoryMax를 사용하여 systemd 범위 내에서 워크로드를 실행한 다음 cgroup v2를 통해 제한 사항을 확인합니다.

Ubuntu Server 24.04에서 Pi-hole 업스트림 DNS를 암호화합니다.

Ubuntu Server 24.04에서 Pi-hole 업스트림 DNS를 암호화합니다.

Ubuntu 24.04에서 dnscrypt-proxy를 Pi-hole의 로컬 DoH 브리지로 설정하고, localhost 전용 리스너, 리졸버 선택, DNS 전환 전 검사 기능을 추가합니다.

Wayland 환경에서 Ubuntu 24.04 터치패드 제스처를 작동시키는 방법

Wayland 환경에서 Ubuntu 24.04 터치패드 제스처를 작동시키는 방법

앱이나 하드웨어 문제를 해결하기 전에 우분투의 터치패드 설정을 확인하고, 웨이랜드(Wayland)가 제대로 작동하는지 확인하고, GNOME에 내장된 스와이프 기능을 테스트해 보세요.

mdadm을 사용하여 Debian 12 RAID 1 미러 구축하기

mdadm을 사용하여 Debian 12 RAID 1 미러 구축하기

데비안 12에서 디스크 두 개를 사용하여 RAID 1 데이터 어레이를 생성 및 검증하고, 안전하게 포맷한 다음, 재부팅 후 자동으로 구성 및 마운트되도록 설정합니다.