Windows에서 도메인 컨트롤러를 찾는 방법

기술 자료 번역 기술 자료 번역
기술 자료: 247811 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

요약

이 문서에서는 Windows 기반 도메인에서 도메인 컨트롤러를 찾기 위해 Windows에서 사용되는 메커니즘을 설명합니다. 이 문서에서는 DNS 스타일 이름 및 해당하는 기본 스타일(NetBIOS) 이름에 따라 도메인을 찾는 프로세스를 자세히 설명합니다. 기본 스타일 이름은 역호환성에 사용됩니다. 다른 모든 경우에는 정책상 DNS 스타일 이름을 사용해야 합니다. 이 문서에서는 도메인 컨트롤러 위치 프로세스에 대한 문제를 해결하는 방법도 설명합니다.

추가 정보

다음 절차는 로케이터가 도메인 컨트롤러를 찾는 방법을 설명합니다.
  • 클라이언트(도메인 컨트롤러를 찾는 컴퓨터)에서 로케이터는 로컬 Netlogon 서비스에 대한 원격 프로시저 호출(RPC)로 시작됩니다. 로케이터 DsGetDcName 응용 프로그래밍 인터페이스(API) 호출은 Netlogon 서비스에 의해 구현됩니다.
  • 클라이언트는 도메인 컨트롤러를 선택하는 데 필요한 정보를 수집하고 DsGetDcName 호출을 사용하여 Netlogon 서비스에 정보를 전달합니다.
  • 클라이언트에서 Netlogon 서비스는 다음 두 가지 방법 중 하나로 수집된 정보를 사용하여 지정된 도메인의 도메인 컨트롤러를 찾습니다.
    • DNS 이름의 경우 Netlogon은 IP/DNS 호환 로케이터를 사용하여 DNS를 쿼리합니다. 즉, DsGetDcName은 DnsQuery 호출하여 SRV 레코드를 지정하는 해당 문자열에 도메인 이름을 추가한 후 DNS에서 서비스 리소스(SRV) 레코드 및 "A" 레코드를 읽습니다.
    • Windows 기반 도메인에 로그온하는 워크스테이션은 다음 일반적인 형식으로 SRV 레코드에 대해 DNS를 쿼리합니다.
      _service._protocol.DnsDomainName
      Active Directory 서버는 TCP 프로토콜을 통해 LDAP(Lightweight Directory Access Protocol) 서비스를 제공합니다. 따라서 클라이언트는 다음 형식으로 레코드에 대해 DNS를 쿼리하여 LDAP 서버를 찾습니다.
      _ldap._tcp.DnsDomainName
    • NetBIOS 이름의 경우 Netlogon은 Microsoft Windows NT 버전 4.0 호환 로케이터를 사용하여 즉, 특정 전송 관련 메커니즘(예: WINS)을 사용하여 도메인 컨트롤러 검색을 수행합니다.

      Windows NT 4.0 이전 버전에서 "검색"은 주 도메인이나 트러스트된 도메인에서 인증에 대해 도메인 컨트롤러를 찾는 프로세스입니다.
  • Netlogon 서비스는 이름을 등록한 컴퓨터에 데이터그램을 보냅니다. NetBIOS 도메인 이름의 경우 데이터그램은 메일 슬롯 메시지로 구현됩니다. DNS 도메인 이름의 경우 데이터그램은 LDAP 사용자 데이터그램 프로토콜(UDP) 검색으로 구현됩니다. UDP는 연결 없는 데이터그램 전송 프로토콜로, TCP/IP 프로토콜 제품군의 일부입니다. TCP는 연결 지향 전송 프로토콜입니다.
  • 사용 가능한 각 도메인 컨트롤러는 데이터그램에 응답하여 현재 작동 중임을 나타내고 DsGetDcName에 해당 정보를 반환합니다.

    UDP를 사용하면 한 컴퓨터의 프로그램이 다른 컴퓨터의 프로그램에 데이터그램을 보낼 수 있습니다. UDP는 프로토콜 포트 번호를 포함하는데, 이 번호를 사용하여 보내는 사람이 원격 컴퓨터의 여러 대상(프로그램)을 구별할 수 있습니다.
  • 각각의 사용 가능한 도메인 컨트롤러는 데이터그램에 응답하여 현재 작동 중임을 나타내고 DsGetDcName에 정보를 반환합니다.
  • Netlogon 서비스가 도메인 컨트롤러 정보를 캐시에 저장하므로 후속 요청에서 검색 프로세스를 반복할 필요는 없습니다. 이 정보를 캐싱하면 같은 도메인 컨트롤러를 일관성 있게 사용하고 Active Directory를 일관성 있게 볼 수 있습니다.
클라이언트가 네트워크에 로그온하거나 참여할 때 도메인 컨트롤러를 찾을 수 있어야 합니다. 클라이언트는 DNS 조회 쿼리를 DNS에 보내어 주로 클라이언트 자신의 서브넷에서 도메인 컨트롤러를 찾습니다. 따라서 클라이언트는 다음 형식으로 레코드에 대해 DNS를 쿼리하여 도메인 컨트롤러를 찾습니다.
_LDAP._TCP.dc._msdcs.domainname
클라이언트가 도메인 컨트롤러를 찾으면 LDAP를 사용하여 Active Directory에 액세스할 수 있도록 통신을 설정합니다. 협상할 때 도메인 컨트롤러는 해당 클라이언트의 IP 서브넷에 기반하여 클라이언트가 위치한 사이트를 확인합니다. 클라이언트가 가장 가까운(가장 최적의) 사이트에 있지 않은 도메인 컨트롤러와 통신하면 해당 도메인 컨트롤러는 클라이언트 사이트의 이름을 반환합니다. 클라이언트가 이미 해당 사이트에서 도메인 컨트롤러를 찾으려고 한 경우(예를 들어, 클라이언트가 DNS 조회 쿼리를 DNS에 보내어 클라이언트의 서브넷에서 도메인 컨트롤러를 찾는 경우) 클라이언트는 최적이 아닌 도메인 컨트롤러를 사용합니다. 그렇지 않으면 클라이언트는 최적의 새 사이트 이름으로 사이트별 DNS 조회를 다시 수행합니다. 도메인 컨트롤러는 사이트와 서브넷 식별을 위해 디렉터리 서비스 정보를 사용합니다.

클라이언트가 도메인 컨트롤러를 찾으면 도메인 컨트롤러 항목이 캐시에 저장됩니다. 도메인 컨트롤러가 최적의 사이트에 없으면 15분 후에 클라이언트가 캐시를 플러싱하고 캐시 항목을 삭제합니다. 그런 다음 클라이언트와 같은 사이트에서 최적의 도메인 컨트롤러를 찾으려고 합니다.

클라이언트가 도메인 컨트롤러에 대한 통신 경로를 설정하면 로그온 및 인증 자격 증명을 설정할 수 있고 Windows 기반 컴퓨터에 필요할 경우 보안 채널을 설정할 수 있습니다. 그러면 클라이언트는 일반 쿼리를 수행하고 디렉터리에 대해 정보를 검색할 수 있게 됩니다.

클라이언트는 로그온할 도메인 컨트롤러에 LDAP 연결을 설정합니다. 로그온 프로세스는 보안 계정 관리자를 사용합니다. 통신 경로는 LDAP 인터페이스를 사용하고 클라이언트는 도메인 컨트롤러에서 인증을 받으므로 클라이언트 계정은 보안 계정 관리자를 통해 확인되고 디렉터리 서비스 에이전트와 데이터베이스 계층, 마지막으로 ESE(Extensible Storage engine)의 데이터베이스에 차례로 전달됩니다.

도메인 로케이터 프로세스 문제 해결

도메인 로케이터 프로세스 문제를 해결하려면 다음과 같이 하십시오.
  1. 클라이언트와 서버 모두에서 이벤트 뷰어를 확인합니다. 문제가 있음을 나타내는 오류 메시지가 이벤트 로그에 포함될 수 있습니다. 이벤트 뷰어를 보려면 시작을 누르고 프로그램, 관리 도구를 차례로 가리킨 다음 이벤트 뷰어를 누릅니다. 클라이언트와 서버 모두에서 시스템 로그를 확인합니다. 서버의 디렉터리 서비스 로그와 DNS 서버의 DNS 로그도 확인합니다.
  2. 명령 프롬프트에서 ipconfig /all 명령을 사용하여 IP 구성을 확인합니다.
  3. Ping 유틸리티를 사용하여 네트워크 연결 및 이름 확인을 수행합니다. IP 주소와 서버 이름을 모두 Ping합니다. 도메인 이름을 ping할 수도 있습니다.
  4. Netdiag 도구를 사용하여 네트워킹 구성 요소가 제대로 작동하는지 확인할 수 있습니다. 텍스트 파일에 자세한 출력을 보내려면 다음 명령을 사용하십시오.
    netdiag /v >test.txt
    로그 파일을 검토하고 문제를 찾고 관련된 구성 요소를 조사합니다. 이 파일은 다른 네트워크 구성 세부 사항도 포함합니다.
  5. 사소한 문제를 해결하려면 다음 구문으로 Netdiag 도구를 사용합니다. netdiag /fix.
  6. nltest /dsgetdc:domainname 명령을 사용하여 도메인 컨트롤러를 특정 도메인에서 찾을 수 있는지 확인합니다.
  7. NSLookup 도구를 사용하여 DNS 항목이 DNS에 제대로 등록되었는지 확인합니다. 서버 호스트 레코드 및 GUID SRV 레코드가 확인될 수 있는지 봅니다.

    예를 들어, 레코드 등록을 확인하려면 다음 명령을 사용하십시오.
    nslookup servername.childofrootdomain.rootdomain.com

    nslookup guid._msdcs.rootdomain.com
  8. 이 명령이 하나도 성공하지 못하면 다음 방법 중 하나를 사용하여 레코드를 DNS에 다시 등록합니다.
    • 강제로 호스트 레코드를 등록시키려면 ipconfig /registerdns를 입력합니다.
    • 강제로 도메인 컨트롤러 서비스를 등록시키려면 Netlogon 서비스를 중지하고 시작합니다.
  9. 도메인 컨트롤러 문제를 검색하려면 명령 프롬프트에서 DCdiag 유틸리티를 실행합니다. 이 유틸리티는 많은 테스트를 실행하여 도메인 컨트롤러가 제대로 실행되는지 확인합니다. 다음 명령을 사용하여 텍스트 파일에 결과를 보냅니다.
    dcdiag /v >dcdiag.txt
  10. 해당 LDAP 연결을 확인하려면 Ldp.exe 도구를 사용하여 도메인 컨트롤러에 연결하고 바인딩합니다.
  11. 특정 도메인 컨트롤러에 문제가 있는 것으로 생각되면 Netlogon 디버그 로깅을 설정하는 것이 도움이 될 수 있습니다. 다음 명령을 입력하여 NLTest 유틸리티를 사용하십시오. nltest /dbflag:0x2000ffff. Netlogon.log 파일의 Debug 폴더에 정보가 기록됩니다.
  12. 여전히 문제를 해결하지 못한 경우, 네트워크 모니터를 사용하여 클라이언트와 도메인 컨트롤러 사이의 네트워크 트래픽을 모니터링합니다.
네트워크 모니터를 설치하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
243270 Windows 2000에 네트워크 모니터 설치

참조

자세한 내용은 Windows Resource Kit의 10장, "Active Directory Diagnostic, Troubleshooting, and Recovery"를 참조하십시오.



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.

속성

기술 자료: 247811 - 마지막 검토: 2003년 7월 1일 화요일 - 수정: 2.0
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
키워드:?
kbinfo kbdns kbenv kbnetwork KB247811

피드백 보내기

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com