Computer >> 컴퓨터 >  >> 시스템 >> Windows

Windows에서 '요청한 일시 중지, 계속 또는 중지가 이 서비스에 유효하지 않습니다' 오류 해결 방법

DNSCache, Winmgmt, TrustedInstaller 서비스에서 '요청한 일시 중지, 계속 또는 중지가 이 서비스에 유효하지 않습니다(The requested pause, continue, or stop is not valid for this service)'라는 메시지가 표시된다면, 이 글이 큰 도움이 될 것입니다.

net stop dnscache 명령이 작동하지 않는 이유

DNS 캐시 서비스를 중지할 수 없다면, 이는 Windows 운영체제의 구조적 변경 때문입니다. Windows의 DNS 클라이언트 서비스(DNS Client Service)는 도메인 이름을 IP 주소로 변환하는 DNS 확인을 담당합니다. 이 서비스는 먼저 로컬 캐시를 조회하고, 이전에 조회한 적이 없는 도메인이라면 원격 DNS 서버에 연결합니다. 그동안 서비스를 재시작하는 것이 DNS 문제를 해결하는 대표적인 방법 중 하나였지만, 더 이상 이 작업이 불가능하고 위와 같은 오류가 발생한다면 그 이유는 아래와 같습니다.

명령 프롬프트와 서비스 스냅인에서 옵션이 비활성화됨

명령줄에서 net stop dnscache를 실행하거나, services.msc를 열어 DNS 클라이언트 서비스 항목을 확인해 보면 일시 중지, 계속, 중지 옵션이 비활성화되어 있거나 아예 선택할 수 없습니다.

Windows 10 21H1부터 그리고 Windows 11에서는 관리자(Administrator) 계정을 포함한 모든 사용자 계정에 대해 이러한 사용자 기반 작업이 차단되었습니다.

전체 오류 메시지는 다음과 같습니다.

요청한 일시 중지, 계속 또는 중지가 이 서비스에 유효하지 않습니다.
자세한 도움말을 보려면 NET HELPMSG 2191을 입력하십시오.

ipconfig /flushdns, ipconfig /displaydns 같은 명령은 여전히 정상적으로 작동하지만, 서비스 자체의 중지와 재시작은 불가능합니다. 문제가 되는 상황은 DNS 설정이 변경되었는데 클라이언트 캐시 유지 시간이 길 때입니다. 이 경우 일부 웹사이트에 접속하기 어려울 수 있습니다.

DNS 클라이언트를 재시작할 수 없다면 어떻게 해야 할까?

서비스를 직접 재시작하는 대신, 관리자 권한으로 레지스트리를 수정해 캐시 유지 시간(TTL)을 짧게 조정하면 됩니다. 레지스트리를 변경하기 전에는 반드시 백업을 먼저 해두세요.

  1. Win + R 키를 눌러 실행 창을 열고 regedit를 입력한 후 Enter 키를 누릅니다.
  2. 레지스트리 편집기에서 다음 경로로 이동합니다.
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNSCache\Parameters
  3. 빈 공간을 마우스 오른쪽 버튼으로 클릭하고 새로 만들기 → DWORD(32비트) 값을 선택합니다.
  4. 이름을 MaxCacheTtl로 지정하고 값 데이터를 초 단위로 입력합니다. 기본값은 86400초(24시간)이며, 예를 들어 3600으로 설정하면 1시간마다 캐시가 갱신됩니다.
  5. 같은 방법으로 MaxNegativeCacheTtl이라는 이름의 DWORD를 하나 더 만들고 값을 5로 설정합니다.

이렇게 설정하면 로컬 DNS 캐시가 몇 시간마다 자동으로 새로 고침되므로, 서비스를 수동으로 재시작하지 않아도 최신 DNS 정보를 반영할 수 있습니다.

클라이언트 DNS 캐시를 지우는 방법

Clear-DnsClientCache(PowerShell)와 ipconfig /flushdns(명령 프롬프트) 명령은 여전히 정상적으로 작동합니다. 두 명령 모두 로컬 DNS 캐시를 즉시 비워 주며, 필요하다면 브라우저를 재시작하는 것만으로도 대부분의 접속 문제가 해결됩니다.

DNS 확인자 캐시(DNS Resolver Cache)란?

웹사이트 도메인 이름을 IP 주소로 빠르게 변환해 페이지 로딩 속도를 높이기 위해, Windows는 도메인 이름과 IP 주소의 매핑 정보를 로컬 캐시에 저장해 둡니다. 캐시가 있으면 브라우저가 매번 DNS 서버에 질의할 필요 없이 저장된 정보를 바로 사용할 수 있으며, 이 캐시는 주기적으로 갱신되기 때문에 대체로 안정적으로 작동합니다.

DNS 캐시 내용을 확인하는 방법

명령 프롬프트에서 ipconfig /displaydns 명령을 실행하면 캐시에 저장된 모든 도메인과 해당 IP 주소를 확인할 수 있습니다. 결과는 다음과 같은 형식으로 표시됩니다.

  • 레코드 이름(Record Name)
  • 레코드 유형(Record Type)
  • TTL(Time To Live)
  • 데이터 길이(Data Length)
  • 섹션(Section)
  • A(호스트) 레코드

PowerShell을 사용한다면 Get-DnsClientCache 명령을 활용해 보세요. 명령 프롬프트의 긴 스크롤 출력보다 훨씬 깔끔하게 정렬된 결과를 제공합니다.

이 글이 이해하기 쉬웠기를 바랍니다. 이제 서비스 스냅인에서 DNS 클라이언트를 재시작하려 할 때 오류가 발생했던 이유와, 레지스트리 및 명령어로 이를 우회하는 방법을 모두 알게 되셨을 것입니다.