실제로 여러 관련 기능 / API가 있습니다. 비록 길지만 실제로는 더 흥미로운 Active Directory 읽기 중 일부입니다.
아래 설명에 관계없이 알아야 할 두 가지가 있습니다.
로컬 사이트의 DC가 어떤 이유로 응답하지 않으면 클라이언트가 도메인의 모든 도메인 컨트롤러에 접속할 것으로 예상됩니다. 이것은 정상이며 항상 기본 동작입니다. 때때로 왜 발생하는지 명확하지 않습니다.
차선책 일 수 있습니다. 다음 시나리오를 고려하십시오. 뉴욕시 (허브 / 데이터 센터-빠른), 로스 앤젤레스 (NYC로 빠른) 및 카자흐스탄 (NYC로-매우 빠름)의 세 사이트. LA 사이트의 고객이 어떤 이유로 든 로컬 DC에 연락 할 수없는 경우 카자흐스탄에서 인증 할 수 없습니다.
몇 가지 솔루션이 있습니다. 둘 중 하나 또는 둘 다 수행 할 수 있습니다.
Microsoft는 TryNextClosestSite라는 그룹 정책 / 레지스트리 설정을 만들었습니다. 즉, LA 클라이언트는 지구를 로밍하기 전에 NYC를 찾아 DC를 찾아야합니다. 훌륭한! 8 년이 걸렸지 만 마침내 Vista / 2008에서 그 결과를 얻었습니다. 기본적으로 활성화되어 있지 않은 경우이를 활성화하려면 GPO를 만들어야합니다.
DC가 다른 사이트에서 클라이언트에게 서비스를 제공하기를 원하지 않는 스포크 사이트의 경우 등록하지 않아야 할 DNS 레코드를 지정하는 그룹 정책 / 레지스트리 설정을 만들 수 있습니다. 이것을 DNS 니모닉이라고합니다.
가장 가까운 사이트에서 도메인 컨트롤러 찾기 (DsGetSiteName API)
http://technet.microsoft.com/en-us/library/cc978016.aspx
IP 주소를 사이트 이름에 매핑
"Net Logon을 시작하는 동안 각 도메인 컨트롤러의 Net Logon 서비스는 구성 컨테이너의 사이트 개체를 열거합니다. 각 도메인 컨트롤러의 Net Logon은 사이트 개체에 대한 변경 사항을 통보받습니다. Net Logon은 사이트 정보를 사용하여 IP 주소를 사이트 이름에 매핑하는 데 사용되는 메모리 내 구조.
"도메인 컨트롤러를 검색하는 클라이언트가 DNS에서 도메인 컨트롤러 IP 주소 목록을 수신하면 클라이언트는 도메인 컨트롤러를 쿼리하기 시작하여 사용 가능한 도메인 컨트롤러가 무엇인지 알아냅니다. Active Directory는 다음을 포함하는 쿼리를 차단합니다. 클라이언트의 IP 주소를 도메인 컨트롤러의 Net Logon으로 전달 Net Neton은 클라이언트 IP 주소와 가장 일치하는 서브넷 개체를 찾아서 서브넷-사이트 매핑 테이블에서 클라이언트 IP 주소를 조회합니다. 다음 정보를 반환합니다.
클라이언트가있는 사이트의 이름 또는 클라이언트 IP 주소와 가장 일치하는 사이트의 이름입니다.
현재 도메인 컨트롤러가있는 사이트의 이름입니다.
검색된 도메인 컨트롤러가 클라이언트와 가장 가까운 사이트에 있는지 (비트가 설정되어 있는지) 또는 없는지 (비트가 설정되지 않았는지)를 나타내는 비트입니다.
"도메인 컨트롤러는 정보를 클라이언트에 반환합니다. 응답에는 도메인 컨트롤러를 설명하는 다양한 다른 정보도 포함됩니다. 클라이언트는 정보를 검사하여 더 나은 도메인 컨트롤러를 찾으려고하는지 여부를 결정합니다. 결정은 다음과 같이 결정됩니다.
"반환 된 도메인 컨트롤러가 가장 가까운 사이트에 있으면 (반환 된 비트가 설정 됨) 클라이언트가이 도메인 컨트롤러를 사용합니다.
"클라이언트가 도메인 컨트롤러가 클라이언트가 있다고 주장하는 사이트에서 도메인 컨트롤러를 이미 찾으려고하면 클라이언트는이 도메인 컨트롤러를 사용합니다.
"도메인 컨트롤러가 가장 가까운 사이트에 있지 않으면 클라이언트는 사이트 정보를 업데이트하고 사이트에서 새 도메인 컨트롤러를 찾기 위해 새 DNS 쿼리를 보냅니다. 두 번째 쿼리가 성공하면 새 도메인 컨트롤러가 사용됩니다. 두 번째 쿼리가 실패하면 원래 도메인 컨트롤러가 사용됩니다.
"컴퓨터가 쿼리하는 도메인이 컴퓨터가 가입 한 도메인과 동일한 경우 컴퓨터가있는 사이트 (도메인 컨트롤러가보고 한 사이트)는 컴퓨터 레지스트리에 저장됩니다. HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Netlogon \ Parameters의 DynamicSiteName 레지스트리 항목에 사이트 이름이 있습니다. 따라서 DsGetSiteName API는 컴퓨터가있는 사이트를 반환합니다. "
DsGetDcName 함수
http://msdn.microsoft.com/en-us/library/ms675983%28VS.85%29.aspx
로케이터 유형
http://technet.microsoft.com/en-us/library/cc978019.aspx
디렉토리 서비스 기능
http://technet.microsoft.com/en-us/subscriptions/ms675900%28v=vs.85%29.aspx
Active Directory에 대한 DNS 지원 작동 방식
http://technet.microsoft.com/en-us/library/cc759550%28v=ws.10%29.aspx
클라이언트 사이트 외부에있는 도메인 컨트롤러의 위치를 최적화하는 방법
http://support.microsoft.com/kb/306602