Windows 및 Windows Server에서 도메인 컨트롤러 찾기
DC 로케이터라고도 하는 도메인 컨트롤러 위치는 클라이언트 컴퓨터가 적합한 도메인 컨트롤러를 찾는 데 사용하는 알고리즘을 나타냅니다. 도메인 컨트롤러 위치는 Active Directory를 사용한 클라이언트 인증을 허용하는 모든 엔터프라이즈 환경에서 중요한 기능입니다.
이 문서에서는 검색, 가장 가까운 사이트 검색 및 NetBIOS 도메인 이름 매핑 구성을 포함하여 도메인 컨트롤러 로케이터 프로세스에 대해 알아봅니다.
도메인 컨트롤러 로케이터 프로세스
도메인 컨트롤러 로케이터(로케이터) 알고리즘은 다음 두 부분으로 구성됩니다.
로케이터는 등록된 도메인 컨트롤러를 찾습니다.
로케이터는 지정된 도메인에서 도메인 컨트롤러를 찾기 위해 쿼리를 제출합니다.
그런 다음, LDAP UDP(사용자 데이터그램 프로토콜) 조회가 응답에 나열된 하나 이상의 도메인 컨트롤러로 전송되어 가용성을 보장합니다. 마지막으로 Netlogon 서비스는 검색된 도메인 컨트롤러를 캐시하여 향후 요청을 해결하는 데 도움을 줍니다.
검색 프로세스
Active Directory 도메인에는 항상 DNS FQDN(정규화된 도메인 이름) 및 NetBIOS 도메인 이름이라는 두 개의 고유한 이름이 있습니다. NetBIOS 도메인 이름에는 레거시 길이 및 기타 제약 조건이 있습니다. 예를 들어 NetBIOS 도메인은 15자로 제한됩니다.
Active Directory 도메인의 NetBIOS 도메인 이름은 Active Directory 도메인 FQDN과 동일할 필요가 없습니다. 예를 들어 Active Directory 도메인의 FQDN은 contoso.com
NetBIOS 도메인 이름을fabrikam
사용할 수 있습니다.
Windows의 DC 위치는 다음 두 가지 기본 모드로 작동할 수 있습니다.
DNS 기반 검색 은 DNS를 사용하는 도메인 컨트롤러 광고를 기반으로 합니다.
도메인 컨트롤러는 키 배포 센터 또는 글로벌 카탈로그와 같은 주요 기능을 나타내는 레코드, Active Directory 사이트 레코드와 같은 지역성을 설명하는 레코드와 같은 다양한 SRV 레코드를 DNS에 등록합니다. 클라이언트는 적절한 SRV 레코드에 대해 DNS를 쿼리한 다음 UDP 기반 LDAP ping을 사용하여 해당 서버를 ping합니다.
이 모드는 DNS 도메인 이름을 사용하고 도메인 컨트롤러가 Windows 2000 이상을 실행하는 경우에만 지원됩니다. 지원되는 도메인 컨트롤러는 이 모드에서 더 최적으로 실행되지만 특정 시나리오에서 다른 모드로 변경할 수 있습니다.
NetBIOS 기반 검색에는 도메인 컨트롤러가 WINS(Windows Internet Name Service)에 레코드를 등록하는 작업이 포함됩니다. 클라이언트는 적절한 레코드에 대해 WINS를 쿼리한 다음, 가능한 대상 후보 DC를 ping합니다. 이 모드의 변형은 클라이언트가 로컬 네트워크에서 패킷을 브로드캐스트하여 DC를 찾는 mailslot 메시지에서 지원하는 브로드캐스트 메커니즘을 사용합니다.
Important
애플리케이션이 DC를 요청하지만 짧은 NetBIOS 스타일 도메인 이름을 지정하는 경우 DC 위치는 항상 해당 짧은 도메인 이름을 DNS 도메인 이름에 매핑하려고 합니다. DC 위치가 도메인 이름을 성공적으로 매핑할 수 있는 경우 매핑된 DNS 도메인 이름과 함께 DNS 기반 검색을 사용합니다.
NetBIOS 스타일 도메인 이름은 다음 순서대로 여러 원본의 DNS 도메인 이름에 매핑됩니다.
이전 조회에서 캐시된 정보
현재 포리스트의 모든 도메인
모든 트러스트 포리스트 트러스트 및 외부 트러스트에 대한 최상위 이름(TLL)
Windows Server 2025 이상:
관리자가 구성한 도메인 이름 매핑
포리스트 트러스트 신뢰의 모든 포리스트 및 자식 도메인에 대한 도메인 이름 매핑
클라이언트 컴퓨터의 로그인 세션
이러한 원본 중 어느 것도 DNS 도메인 이름을 찾을 수 없는 경우 DC 위치는 원래 NetBIOS 스타일의 짧은 도메인 이름을 사용하여 NetBIOS 기반 검색을 진행할 수 있습니다.
Windows Server 2025부터 Netlogon은 모든 신뢰할 수 있는 포리스트의 도메인 및 자식 도메인에 대한 명명 정보를 다운로드하고 캐시합니다. 이 정보는 NetBIOS 스타일 도메인 이름을 DNS 도메인 이름에 매핑할 때 사용됩니다.
NetBIOS 기반 검색 대신 DNS 기반 검색을 사용하는 것이 좋습니다. DNS 기반 검색은 더 안정적이고 안전합니다. DsGetDcName 은 기본 DC 위치 API입니다.
Important
Windows Server 2025부터 DC 로케이터는 NetBIOS 스타일 위치를 사용할 수 없습니다. 이 동작을 구성하는 방법을 알아보려면 NetBIOS 검색 정책 설정 섹션을 참조하세요.
검색 프로세스에 대해 알아보려면 알아보려는 메서드에 해당하는 탭을 선택합니다.
로케이터가 따르는 프로세스는 다음과 같이 요약할 수 있습니다.
클라이언트(도메인 컨트롤러를 찾는 컴퓨터)에서 로케이터는 로컬 Netlogon 서비스에 대한 RPC(원격 프로시저 호출)로 시작됩니다. Netlogon 서비스는 로케이터 API(
DsGetDcName
)를 구현합니다.클라이언트는 도메인 컨트롤러를 선택하는 데 필요한 정보를 수집하고 API를 사용하여
DsGetDcName
Netlogon 서비스에 정보를 전달합니다.클라이언트의 Netlogon 서비스는 수집된 정보를 사용하여 지정된 도메인에 대한 도메인 컨트롤러를 조회합니다. 조회 프로세스는 다음 두 가지 방법 중 하나를 사용합니다.
Netlogon은 IP/DNS 호환 로케이터를 사용하여 DNS를 쿼리합니다.
DsGetDcName
는 DnsQuery 호출을 호출하여 SRV(서비스 리소스) 레코드 및 DNS의 A 레코드를 읽은 후 도메인 이름을 SRV 레코드를 지정하는 적절한 문자열에 추가합니다.워크스테이션이 Windows 기반 도메인에 로그인하면 DNS에서 SRV 레코드를 형식
_<service>._<protocol>.<DnsDomainName>
으로 쿼리합니다. 도메인 이름인 다음 형식DnsDomainName
을 사용하여 도메인에 대한 LDAP 서버에 대한 DNS를 쿼리하는 클라이언트입니다._ldap._tcp.DnsDomainName
Netlogon 서비스는 이름을 등록하는 검색된 도메인 컨트롤러에 LDAP UDP 검색으로 데이터그램을 보냅니다.
사용 가능한 각 도메인 컨트롤러는 데이터그램에 응답하여 현재 작동 중임을 나타내고 정보를 반환합니다
DsGetDcName
.Netlogon 서비스는 먼저 응답하는 도메인 컨트롤러에서 클라이언트에 정보를 반환합니다.
Netlogon 서비스는 후속 요청에 대해 검색 프로세스를 반복할 필요가 없도록 도메인 컨트롤러 정보를 캐시합니다. 이 정보를 캐시하면 동일한 도메인 컨트롤러를 일관되게 사용하고 Active Directory를 일관되게 볼 수 있습니다.
NetBIOS 검색 정책 설정
Windows Server 2025부터 DC 로케이터는 NetBIOS 기반 검색 사용을 허용하지 않습니다. BlockNetBIOSDiscovery
는 관리자가 이 동작을 제어할 수 있도록 하는 Netlogon 서비스에 대한 새 그룹 정책 설정입니다. 그룹 정책 관리 편집기에서 정책에 액세스하려면 컴퓨터 구성> 관리 템플릿> 시스템> Net 로그온> DC 로케이터 DNS 레코드>로 이동하여 도메인 컨트롤러 위치에 대한 NetBIOS 기반 검색을 차단합니다.
다음 설정이 BlockNetBIOSDiscovery
에 적용됩니다.
TRUE
(기본값): DC 로케이터는 NetBIOS 스타일 DC 위치를 사용할 수 없습니다.FALSE
: DC 로케이터는 모든 레거시 제약 조건도 허용하는 경우 WINS 또는 mailslot 기반 검색을 사용할 수 있습니다.
이 BlockNetBIOSDiscovery
설정을 사용하여 DC 위치에 대해 기본값으로 보안 상태를 적용합니다. TRUE
로 설정된 상태로 유지하는 것이 좋습니다. 다른 완화를 추구하는 동안에는 임시 기간 동안만 사용하지 않도록 설정합니다.
새 정책 설정은 다음과 같습니다.
팁
SMB EnableMailslots
정책 설정을 사용하여 컴퓨터 전체에서 mailslot을 사용하는 기능을 별도로 사용하거나 사용하지 않도록 설정할 수 있습니다. DC 로케이터가 DC 검색에 mailslot을 사용할 수 있도록 하려면 SMB 수준에서 mailslot을 사용하도록 설정하고 사용하지 않도록 설정 BlockNetBIOSDiscovery
해야 합니다. 및 PowerShell cmdlet을 EnableMailslots
Get-SmbClientConfiguration
실행하여 설정을 쿼리하고 Set-SmbClientConfiguration
설정할 수 있습니다.
가장 가까운 Active Directory 사이트
클라이언트가 도메인 컨트롤러를 찾은 후 LDAP를 사용하여 Active Directory에 대한 액세스 권한을 획득하여 통신을 설정합니다. 해당 협상의 일환으로 도메인 컨트롤러는 클라이언트의 IP 서브넷을 기반으로 클라이언트가 있는 사이트를 식별합니다.
클라이언트가 가장 가까운 최적 사이트에 있지 않은 도메인 컨트롤러와 통신하는 경우 도메인 컨트롤러는 클라이언트 사이트의 이름을 반환합니다. 클라이언트가 이미 해당 사이트에서 도메인 컨트롤러를 찾으려고 시도한 경우 클라이언트는 최적화되지 않은 사이트에서 도메인 컨트롤러를 대신 사용합니다. 예를 들어 클라이언트는 DNS 조회 쿼리를 DNS로 보내 클라이언트의 서브넷에서 도메인 컨트롤러를 찾습니다. 그렇지 않으면 클라이언트는 새 최적의 사이트 이름으로 사이트별 DNS 조회를 다시 수행합니다. 도메인 컨트롤러는 사이트 및 서브넷을 식별하기 위해 일부 디렉터리 서비스 정보를 사용합니다.
클라이언트는 도메인 컨트롤러 항목을 캐시합니다. 도메인 컨트롤러가 최적의 사이트에 없는 경우 클라이언트는 15분 후에 캐시를 플러시하고 캐시 항목을 삭제합니다. 그런 다음 클라이언트와 동일한 사이트에서 최적의 도메인 컨트롤러를 찾으려고 시도합니다.
클라이언트가 도메인 컨트롤러에 대한 통신 경로를 설정한 후 로그온 및 인증 자격 증명을 설정할 수 있습니다. 필요한 경우 클라이언트는 Windows 기반 컴퓨터에 대한 보안 채널을 설정할 수도 있습니다. 이제 클라이언트가 일반 쿼리를 수행하고 디렉터리에 대한 정보를 검색할 준비가 되었습니다.
클라이언트는 로그인할 도메인 컨트롤러에 대한 LDAP 연결을 설정합니다. 로그인 프로세스는 보안 계정 관리자를 사용합니다. 통신 경로는 LDAP 인터페이스를 사용하고 도메인 컨트롤러는 클라이언트를 인증합니다. 그런 다음 클라이언트 계정이 확인되고 보안 계정 관리자를 통해 디렉터리 서비스 에이전트, 데이터베이스 계층 및 마지막으로 ESE(Extensible Storage 엔진)의 데이터베이스로 전달됩니다.
NetBIOS 도메인 이름 매핑 구성
Windows Server 2025부터 포리스트 관리자는 DNS 도메인 이름에서 NetBIOS 도메인 이름으로 사용자 지정 매핑을 구성할 수 있습니다. 포리스트 수준에서 관리자가 구성한 매핑은 다른 모든 옵션이 부족한 경우에만 사용해야 하는 선택적 메커니즘입니다. 예를 들어 애플리케이션 또는 환경에 다른 원본에서 자동으로 제공할 수 없는 다른 도메인 이름 매핑이 필요한 경우
사용자 지정 도메인 이름 매핑은 Active Directory 구성의 serviceConnectionPoint
명명 컨텍스트에 있는 개체에 저장됩니다. 예시:
CN=DCLocatorDomainNameMappings,CN=Windows NT,CN=Services,CN=Configuration,DC=contoso,DC=com
이 msDS-Setting
개체의 특성serviceConnectionPoint
에는 하나 이상의 값이 포함될 수 있습니다. 각 값에는 DNS 도메인 이름 및 NetBIOS 도메인 이름이 포함되며, dnsdomainname.com:NetBIOSdomainname과 같이 세미콜론으로 구분됩니다.
예시:
contoso.com:fabrikam
tatertots.contoso.com:tots
tailspintoys.com:tailspintoys
다음 단계를 수행하여 Active Directory 도메인 및 트러스트 관리 설정에서 이러한 매핑을 구성할 수 있습니다.
- 도메인을 마우스 오른쪽 단추로 클릭합니다.
- 속성을 선택합니다.
- DC 로케이터 매핑 탭을 선택합니다.
그런 다음 클라이언트의 Netlogon 서비스는 12시간마다 DCLocatorDomainNameMappings
개체의 사용자 지정 매핑을 다운로드하고 캐시합니다. NetBIOS 스타일 도메인 이름을 DNS 도메인 이름에 매핑할 때 서비스는 이 정보를 자동으로 사용합니다.
새 Active Directory 도메인 및 트러스트 관리 페이지는 다음과 같습니다.
Important
다른 모든 이름 매핑 원본이 충분하지 않은 경우에만 관리자가 구성한 포리스트 수준 도메인 이름 매핑을 구성합니다. 일반적으로 이러한 임의 매핑은 클라이언트와 대상 도메인 간에 트러스트 관계가 없고 클라이언트 애플리케이션을 DNS 스타일 도메인 이름을 지정하도록 마이그레이션할 수 없는 경우에만 필요합니다.