DNS 관련 정품 인증 문제 해결을 위한 지침

다음 조건 중 하나 이상을 충족하는 경우 다음 방법을 사용해야 할 수도 있습니다.

  • 볼륨 라이선스 미디어 및 볼륨 라이선스 일반 제품 키를 사용하여 다음 운영 체제 중 하나를 설치합니다.
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows Server 2008 R2
    • Windows Server 2008
    • Windows 10
    • Windows 8.1
    • Windows 8
  • 정품 인증 마법사는 KMS 호스트 컴퓨터에 연결할 수 없습니다.

클라이언트 시스템을 정품 인증하려고 시도하면 정품 인증 마법사가 DNS를 사용하여 KMS 소프트웨어를 실행하는 해당 컴퓨터를 찾습니다. 마법사가 DNS를 쿼리하고 KMS 호스트 컴퓨터의 DNS 항목을 찾지 못하는 경우 마법사가 오류를 보고합니다.

다음 목록을 검토하여 상황에 맞는 접근 방식을 찾아보세요.

제품 키를 MAK로 변경

KMS 호스트를 설치할 수 없거나 어떤 이유로 KMS 정품 인증을 사용할 수 없는 경우 제품 키를 MAK로 변경합니다. MSDN(Microsoft Developer Network) 또는 TechNet에서 Windows 이미지를 다운로드한 경우 미디어 아래에 나열되는 SKU(재고 유지 단위)는 일반적으로 볼륨 라이선스 미디어이고, 제공되는 제품 키는 MAK 키입니다.

제품 키를 MAK로 변경하려면 다음 단계를 수행합니다.

  1. 관리자 권한 명령 프롬프트 창을 엽니다. 이렇게 하려면 Windows 로고 키+X를 누르고, 명령 프롬프트를 마우스 오른쪽 단추로 클릭한 다음, 관리자 권한으로 실행을 선택합니다. 관리자 암호나 확인을 요청하는 메시지가 나타나면 암호를 입력하거나 확인합니다.
  2. 명령 프롬프트에서 다음 명령을 실행합니다.
     slmgr -ipk xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
    

    참고 항목

    xxxxx-xxxxx-xxxxx-xxxxx-xxxxx 자리 표시자는 MAK 제품 키를 나타냅니다.

절차 목록으로 돌아갑니다.

정품 인증할 클라이언트의 KMS 호스트 구성

KMS를 정품 인증하려면 정품 인증할 클라이언트에 대해 KMS 호스트를 구성해야 합니다. 현재 환경에 KMS 호스트가 구성되어 있지 않으면 적절한 KMS 호스트 키를 사용하여 KMS 호스트를 설치하고 정품 인증합니다. KMS 소프트웨어를 호스트하도록 네트워크에서 컴퓨터를 구성한 후에는 DNS(Domain Name System) 설정을 게시합니다.

KMS 호스트 구성 프로세스에 대한 자세한 내용은 키 관리 서비스를 사용하여 정품 인증VAMT 설치 및 구성을 참조하세요.

절차 목록으로 돌아갑니다.

DNS 서버에 대한 기본 IP 연결 확인

ping 명령을 사용하여 DNS 서버에 대한 기본 IP 연결을 확인합니다. 이렇게 하려면 오류가 발생하는 KMS 클라이언트와 KMS 호스트 컴퓨터에서 다음 단계를 수행합니다.

  1. 관리자 권한 명령 프롬프트 창을 엽니다.
  2. 명령 프롬프트에서 다음 명령을 실행합니다.
    ping <DNS_Server_IP_address>
    

    참고 항목

    이 명령의 출력에 "의 응답"이라는 문구가 없으면 네트워크 문제 또는 DNS 이슈가 있는 것입니다. 이 문서의 다른 절차를 사용하려면 이 문제를 먼저 해결해야 합니다. DNS 서버를 ping 할 수 없는 경우 TCP/IP 이슈를 해결하는 방법에 대한 자세한 내용은 TCP/IP의 고급 이슈 해결을 참조하세요.

절차 목록으로 돌아갑니다.

KMS 호스트 구성 확인

KMS 호스트 서버의 레지스트리를 검사하여 DNS에 등록하는지 확인합니다. 기본적으로 KMS 호스트 서버는 24시간마다 한 번씩 DNS SRV 레코드를 동적으로 등록합니다.

Important

주의를 기울여 이 절의 단계를 수행하십시오. 레지스트리를 잘못 수정할 경우 심각한 문제가 발생할 수 있습니다. 레지스트리를 수정하기 전에 문제가 발생할 경우에 대비하여 레지스트리를 복원 가능하도록 백업하세요.

이 설정을 확인하려면 다음 단계를 수행합니다.

  1. 레지스트리 편집기를 시작합니다. 이렇게 하려면 시작을 마우스 오른쪽 단추로 클릭하고, 실행을 선택하고, regedit를 입력한 다음, Enter 키를 누릅니다.
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform 하위 키(이전에는 Windows Server 2008 및 Windows Vista에서 SoftwareProtectionPlatform 대신 SL)를 찾고, DisableDnsPublishing 항목의 값을 확인입니다. 이 항목에는 다음과 같은 가능한 값이 있습니다.
    • 0 또는 정의되지 않음(기본값): KMS 호스트 서버는 24시간마다 한 번씩 SRV 레코드를 등록합니다.
    • 1: KMS 호스트 서버는 SRV 레코드를 자동으로 등록하지 않습니다. 현재 구현된 시스템에서 동적 업데이트를 지원하지 않는 경우 수동으로 KMS SRV 레코드 만들기를 참조하세요.
  3. DisableDnsPublishing 항목이 없는 경우 새로 만듭니다(형식은 DWORD). 동적 등록을 사용할 수 있는 경우 값을 정의되지 않은 상태로 두거나 0으로 설정합니다.

절차 목록으로 돌아갑니다.

라우팅 이슈의 유형 확인

다음 명령을 사용하여 이름 확인 이슈인지 아니면 SRV 레코드 이슈인지 확인할 수 있습니다.

  1. KMS 클라이언트에서 관리자 권한으로 명령 프롬프트 창을 엽니다.

  2. 명령 프롬프트에서 다음 명령을 실행합니다.

    cscript \windows\system32\slmgr.vbs -skms <KMS_FQDN>:<port>
    cscript \windows\system32\slmgr.vbs -ato
    

    참고 항목

    이 명령에서 <KMS_FQDN>은 KMS 호스트 컴퓨터의 FQDN(정규화된 도메인 이름)을 나타내고, <port>는 KMS에서 사용하는 TCP 포트를 나타냅니다.

    이러한 명령으로 문제가 해결되면 SRV 레코드 이슈인 것입니다. 수동으로 KMS 클라이언트에 KMS 호스트 할당 절차에 설명된 명령 중 하나를 사용하여 문제를 해결할 수 있습니다.

  3. 문제가 지속되면 다음 명령을 실행합니다.

    cscript \windows\system32\slmgr.vbs -skms <IP Address>:<port>
    cscript \windows\system32\slmgr.vbs -ato
    

    참고 항목

    이 명령에서 <IP Address>는 KMS 호스트 컴퓨터의 IP 주소를 나타내고, <port>는 KMS에서 사용하는 TCP 포트를 나타냅니다.

    이러한 명령으로 문제가 해결되면 이름 확인 이슈일 가능성이 높습니다. 추가 문제 해결 정보는 DNS 구성 확인 절차를 참조하세요.

  4. 이러한 명령으로 문제가 해결되지 않으면 컴퓨터의 방화벽 구성을 확인합니다. KMS 클라이언트와 KMS 호스트 간에 발생하는 모든 정품 인증 통신에는 1688 TCP 포트가 사용됩니다. KMS 클라이언트와 KMS 호스트의 방화벽이 포트 1688을 통한 통신을 허용해야 합니다.

절차 목록으로 돌아갑니다.

DNS 구성 확인

참고 항목

달리 명시되지 않는 한, 해당 오류가 발생한 KMS 클라이언트에서 다음 단계를 수행합니다.

  1. 관리자 권한으로 명령 프롬프트 창을 엽니다.
  2. 명령 프롬프트에서 다음 명령을 실행합니다.
    IPCONFIG /all
    
  3. 명령 결과에서 다음 정보를 확인합니다.
    • KMS 클라이언트 컴퓨터에 할당된 IP 주소
    • KMS 클라이언트 컴퓨터에서 사용하는 기본 DNS 서버의 IP 주소
    • KMS 클라이언트 컴퓨터에서 사용하는 기본 게이트웨이의 IP 주소
    • KMS 클라이언트 컴퓨터에서 사용하는 DNS 접미사 검색 목록
  4. KMS 호스트 SRV 레코드가 DNS에 등록되었는지 확인합니다. 이렇게 하려면 다음 단계를 수행합니다.
    1. 관리자 권한 명령 프롬프트 창을 엽니다.
    2. 명령 프롬프트에서 다음 명령을 실행합니다.
      nslookup -type=all _vlmcs._tcp>kms.txt
      
    3. 명령을 통해 생성되는 KMS.txt 파일을 엽니다. 이 파일에는 다음 항목과 유사한 하나 이상의 항목이 포함되어야 합니다.
      _vlmcs._tcp.contoso.com SRV service location:
      priority = 0
      weight = 0
      port = 1688 svr hostname = kms-server.contoso.com
      

      참고 항목

      이 항목에서 contoso.com은 KMS 호스트의 도메인을 나타냅니다.

      1. KMS 호스트의의 IP 주소, 호스트 이름, 포트 및 도메인을 확인합니다.
      2. _vlmcs 항목이 있고 이 항목에 예상 KMS 호스트 이름이 들어 있는 경우 수동으로 KMS 클라이언트에 KMS 호스트 할당으로 이동합니다.

      참고 항목

      nslookup 명령이 KMS 호스트를 발견하더라도 DNS 클라이언트가 KMS 호스트를 찾을 수 있다는 의미는 아닙니다. nslookup 명령이 KMS 호스트를 찾았지만 여전히 KMS 호스트를 사용하여 정품 인증할 수 없는 경우 기본 DNS 접미사나 DNS 접미사의 검색 목록 같은 다른 DNS 설정을 확인합니다.

  5. 기본 DNS 접미사의 검색 목록에 KMS 호스트와 연결된 DNS 도메인 접미사가 포함되어 있는지 확인합니다. 검색 목록에 이 정보가 포함되어 있지 않으면 여러 DNS 도메인에 게시하도록 KMS 호스트 구성 절차로 이동합니다.

절차 목록으로 돌아갑니다.

수동으로 KMS SRV 레코드 만들기

Microsoft DNS 서버를 사용하는 KMS 호스트에 대한 SRV 레코드를 수동으로 만들려면 다음 단계를 수행합니다.

  1. DNS 서버에서 DNS 관리자를 엽니다. DNS 관리자를 열려면 시작, 관리 도구, DNS를 차례로 선택합니다.
  2. SRV 리소스 레코드를 만들어야 하는 DNS 서버를 선택합니다.
  3. 콘솔 트리에서 전방 조회 영역을 확장하고 도메인을 마우스 오른쪽 단추로 클릭한 다음, 다른 새 레코드를 선택합니다.
  4. 목록을 아래로 스크롤하여 서비스 위치(SRV)를 선택한 다음, 레코드 만들기를 선택합니다.
  5. 다음 정보를 입력합니다.
    • 서비스: _VLMCS
    • 프로토콜: _TCP
    • 포트 번호: 1688
    • 서비스를 제공하는 호스트: <KMS 호스트의 FQDN>
  6. 모두 마쳤으면 확인을 선택한 다음, 완료를 선택합니다.

BIND 9.x 호환 DNS 서버를 사용하는 KMS 호스트에 대한 SRV 레코드를 수동으로 만들려면 해당 DNS 서버에 대한 지침을 따르고 SRV 레코드에 대한 다음 정보를 입력합니다.

  • 이름: _vlmcs._TCP
  • 유형: SRV
  • 우선 순위: 0
  • 가중치: 0
  • 포트: 1688
  • 호스트 이름: <FQDN 또는 KMS 호스트의 A-이름>

KMS 자동 게시를 지원하도록 BIND 9.x 호환 DNS 서버를 구성하려면 KMS 호스트에서 리소스 레코드 업데이트를 사용하도록 DNS 서버를 구성합니다. 예를 들어 Named.conf 또는 Named.conf.local의 영역 정의에 다음 줄을 추가합니다.

allow-update { any; };

수동으로 KMS 클라이언트에 KMS 호스트 할당

기본적으로 KMS 클라이언트는 자동 검색 프로세스를 사용합니다. 이 프로세스에 따라 KMS 클라이언트는 DNS를 쿼리하여 클라이언트의 구성원 영역 내부에 _vlmcs SRV 레코드를 게시한 서버 목록을 찾습니다. DNS는 임의의 순서로 KMS 호스트 목록을 반환합니다. 클라이언트는 KMS 호스트를 선택하고 해당 호스트에 대한 세션을 설정하려고 시도합니다. 이 시도가 정상적으로 작동하면 클라이언트는 KMS 호스트 이름을 캐시하고 다음 갱신 때 사용합니다. 세션 설정이 실패하면 클라이언트는 다른 KMS 호스트를 임의로 선택합니다. 자동 검색 프로세스를 사용할 것을 강력하게 권장합니다.

하지만 KMS 호스트를 특정 KMS 클라이언트에 수동으로 할당할 수 있습니다. 이렇게 하려면 다음 단계를 수행합니다.

  1. KMS 클라이언트에서 관리자 권한으로 명령 프롬프트 창을 엽니다.
  2. 구현에 따라 다음 단계 중 하나를 수행합니다.
    • 호스트의 FQDN을 사용하여 KMS 호스트를 할당하려면 다음 명령을 실행합니다.
      cscript \windows\system32\slmgr.vbs -skms <KMS_FQDN>:<port>
      
    • 호스트의 버전 4 IP 주소를 사용하여 KMS 호스트를 할당하려면 다음 명령을 실행합니다.
      cscript \windows\system32\slmgr.vbs -skms <IPv4Address>:<port>
      
    • 호스트의 버전 6 IP 주소를 사용하여 KMS 호스트를 할당하려면 다음 명령을 실행합니다.
      cscript \windows\system32\slmgr.vbs -skms <IPv6Address>:<port>
      
    • 호스트의 NETBIOS 이름을 사용하여 KMS 호스트를 할당하려면 다음 명령을 실행합니다.
      cscript \windows\system32\slmgr.vbs -skms <NETBIOSName>:<port>
      
    • KMS 클라이언트에서 자동 검색을 되돌리기 다음 명령을 실행합니다.
      cscript \windows\system32\slmgr.vbs -ckms
      

      참고 항목

      이러한 명령은 다음 자리 표시자를 사용합니다.

      • <KMS_FQDN>은 KMS 호스트 컴퓨터의 FQDN(정규화된 도메인 이름)을 나타냅니다.
      • <IPv4Address>는 KMS 호스트 컴퓨터의 IP 버전 4 주소를 나타냅니다.
      • <IPv6Address>는 KMS 호스트 컴퓨터의 IP 버전 6 주소를 나타냅니다.
      • <NETBIOSName>은 KMS 호스트 컴퓨터의 NETBIOS 이름을 나타냅니다.
      • <port>는 KMS에서 사용하는 TCP 포트를 나타냅니다.

여러 DNS 도메인에 게시하도록 KMS 호스트 구성

Important

주의를 기울여 이 절의 단계를 수행하십시오. 레지스트리를 잘못 수정할 경우 심각한 문제가 발생할 수 있습니다. 레지스트리를 수정하기 전에 문제가 발생할 경우에 대비하여 레지스트리를 복원 가능하도록 백업하세요.

수동으로 KMS 클라이언트에 KMS 호스트 할당에 설명된 대로, KMS 클라이언트는 일반적으로 자동 검색 프로세스를 사용하여 KMS 호스트를 식별합니다. 이 프로세스를 수행하려면 KMS 클라이언트 컴퓨터의 DNS 영역에서 _vlmcs SRV 레코드를 사용할 수 있어야 합니다. DNS 영역은 컴퓨터의 기본 DNS 접미사 또는 다음 중 하나에 해당합니다.

  • 도메인에 가입된 컴퓨터의 경우 DNS 시스템에서 할당한 컴퓨터의 도메인(예: AD DS(Active Directory Domain Services) DNS).
  • 작업 그룹 컴퓨터의 경우 DHCP(Dynamic Host Configuration Protocol)에서 할당한 컴퓨터의 도메인. 이 도메인 이름은 RFC(Request for Comments) 2132에 정의된 대로 코드 값이 15인 옵션을 통해 정의됩니다.

기본적으로 KMS 호스트는 KMS 호스트 컴퓨터의 도메인과 일치하는 DNS 영역에 SRV 레코드를 등록합니다. 예를 들어 KMS 호스트가 contoso.com 도메인에 가입한다고 가정해 봅시다. 이 시나리오에서 KMS 호스트는 _vlmcs SRV 레코드를 contoso.com DNS 영역 아래에 등록합니다. 따라서 레코드는 서비스를 _VLMCS._TCP.CONTOSO.COM으로 식별합니다.

KMS 호스트와 KMS 클라이언트가 서로 다른 DNS 영역을 사용하는 경우 SRV 레코드를 여러 DNS 도메인에 자동으로 게시하도록 KMS 호스트를 구성해야 합니다. 이렇게 하려면 다음 단계를 수행합니다.

  1. KMS 호스트에서 레지스트리 편집기를 시작합니다.
  2. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform 하위 키(이전에는 Windows Server 2008 및 Windows Vista에서 SoftwareProtectionPlatform 대신 SL)를 찾아 선택합니다.
  3. 세부 정보 창에서 빈 영역을 마우스 오른쪽 단추로 클릭하고 새로 만들기를 선택한 다음, 다중 문자열 값을 선택합니다.
  4. 새 항목의 이름으로 DnsDomainPublishList를 입력합니다.
  5. DnsDomainPublishList 항목을 마우스 오른쪽 단추로 클릭한 다음, 수정을 선택합니다.
  6. 다중 문자열 편집 대화 상자에서 KMS가 별도의 줄에 게시하는 각 DNS 도메인 접미사를 입력한 다음, 확인을 선택합니다.

    참고 항목

    Windows Server 2008 R2의 경우 DnsDomainPublishList의 형식이 다릅니다. 자세한 내용은 볼륨 정품 인증 기술 참조 가이드를 확인하세요.

  7. 서비스 관리 도구를 사용하여 소프트웨어 보호 서비스(이전의 Windows Server 2008 및 Windows Vista의 소프트웨어 라이선스 서비스)를 다시 시작합니다. 이 작업은 SRV 레코드를 만듭니다.
  8. 구성된 KMS 호스트에 KMS 클라이언트가 연결할 수 있는지 일반적인 방법을 사용하여 확인합니다. KMS 클라이언트가 이름 및 IP 주소를 기준으로 KMS 호스트를 올바르게 식별하는지 확인합니다. 두 확인 중 하나라도 실패하면 이 DNS 클라이언트 확인자 이슈를 조사합니다.
  9. KMS 클라이언트에서 이전에 캐시된 KMS 호스트 이름을 지우려면 KMS 클라이언트에서 관리자 권한 명령 프롬프트 창을 열고 다음 명령을 실행합니다.
    cscript C:\Windows\System32\slmgr.vbs -ckms