다음을 통해 공유


Kerberos 클라이언트는 SPN(서비스 사용자 이름)에서 IPv4 및 IPv6 주소 호스트 이름을 허용합니다.

Windows 10 버전 1507 및 Windows Server 2016 시작하여 SPN에서 IPv4 및 IPv6 호스트 이름을 지원하도록 Kerberos 클라이언트를 구성할 수 있습니다.

호스트 이름이 IP 주소인 경우 기본적으로 Windows는 호스트에 대한 Kerberos 인증을 시도하지 않습니다. NTLM과 같은 다른 사용 인증 프로토콜로 대체됩니다. 그러나 애플리케이션이 IP 주소를 사용하도록 하드 코딩되는 경우도 있습니다. 즉, 애플리케이션이 NTLM으로 대체되고 Kerberos를 사용하지 않습니다. 환경이 NTLM을 사용하지 않도록 설정하기 위해 이동함에 따라 호환성 문제가 발생할 수 있습니다.

NTLM을 사용하지 않도록 설정하는 영향을 줄이기 위해 관리자가 서비스 주체 이름에서 IP 주소를 호스트 이름으로 사용할 수 있는 새로운 기능이 도입되었습니다. 이 기능은 레지스트리 키 값을 통해 클라이언트에서 사용하도록 설정됩니다.

reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters" /v TryIPSPN /t REG_DWORD /d 1 /f

SPN에서 IP 주소 호스트 이름에 대한 지원을 구성하려면 TryIPSPN 항목을 만듭니다. 이 항목은 기본적으로 레지스트리에 없습니다. 항목을 만든 후 DWORD 값을 1로 변경합니다. 이 레지스트리 값은 IP 주소로 Kerberos로 보호되는 리소스에 액세스해야 하는 각 클라이언트 머신에서 설정해야 합니다.

서비스 주체 이름을 IP 주소로 구성

서비스 주체 이름은 Kerberos 인증 중에 네트워크에서 서비스를 식별하는 데 사용되는 고유 식별자입니다. SPN은 서비스, 호스트 이름 및 필요에 따라 service/hostname[:port]의 형식으로(예: host/fs.contoso.com) 포트로 구성됩니다. 컴퓨터가 Active Directory에 가입되면 Windows에서 컴퓨터 개체에 여러 SPN을 등록합니다.

IP 주소는 일반적으로 임시 IP 주소이므로 호스트 이름 대신 사용되지 않습니다. 이로 인해 주소 임대가 만료되고 갱신됨에 따라 충돌 및 인증 실패가 발생할 수 있습니다. 따라서 IP 주소 기반 SPN 등록은 수동 프로세스이며 DNS 기반 호스트 이름으로 전환할 수 없는 경우에만 사용해야 합니다.

권장되는 방법은 Setspn.exe 도구를 사용하는 것입니다. SPN은 한 번에 Active Directory의 단일 계정에만 등록할 수 있으므로 DHCP를 사용하는 경우 IP 주소에 정적 임대가 있는 것이 좋습니다.

Setspn -s <service>/ip.address> <domain-user-account>

예시:

Setspn -s host/192.168.1.1 server01