View a markdown version of this page

DNS _msdcs 영역 현대화 - AWS Directory Service

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

DNS _msdcs 영역 현대화

하이브리드 AD 디렉터리를 생성하기 전에 DNS _msdcs 영역을 현대화하는 것은 필수 사전 조건입니다. 최신 Active Directory 환경에서 _msdcs.<ForestRoot>는 ForestDnsZones 애플리케이션 파티션에 저장된 별도의 포리스트 전체 복제 영역으로 생성됩니다. 원래 Windows NT 4.0 또는 Windows 2000(및 이후 업그레이드됨)을 기반으로 구축된 레거시 환경에서_msdcs는 분리되지 않았습니다. 이는 상위 도메인 영역 파일 내에 직접 표준 하위 도메인(하위 폴더)으로만 존재합니다.

DNS가 설치된 새 도메인 컨트롤러가 승격되면 설치 프로세스에서 전용 _msdcs.<ForestRoot> 애플리케이션 파티션을 찾습니다. 독립 실행형 영역을 찾지 못하므로 로컬에서 새로운 빈 _msdcs 영역을 자동으로 생성하고 해당 네임스페이스에 대한 권한을 클레임합니다. 이렇게 하면 새 DC가 상위 영역에서 레거시 하위 도메인 레코드를 읽지 못하도록 완전히 차단되고 NS 위임이 자신을 가리키도록 업데이트됩니다.

결과적으로 아키텍처 충돌이 발생합니다. 이제 모든 도메인에 조인된 클라이언트는 빈 _msdcs 영역이 있는 DC를 참조하는 반면, 실제 DC 로케이터 레코드(_ldap._tcp.dc._msdcs, _kerberos._tcp.dc._msdcs, Global Catalog 레코드, DC GUID CNAMEs)는 클라이언트가 연결할 수 없는 이전 상위 영역 하위 도메인에서 스트랜드된 상태로 유지됩니다. 이렇게 하면 전체 포리스트에서 Kerberos 인증, LDAP 검색 및 사이트 인식 DC 위치가 중단됩니다.

레거시 및 최신 _msdcs 영역 설계

레거시(위임된 하위 도메인)

Windows Server 2000, 2003, 2008 및 2008 R2의 기본값입니다. 이 설계에서는 상위 영역 아래에 위임된 하위 도메인으로 _msdcs 존재합니다. 상위 영역의 NS 레코드는 _msdcs 네임스페이스에 대한 권한이 있는 특정 DCs를 가리킵니다.

최신(독립 실행형 영역)

Windows Server 2012 이상에서 기본값입니다. 이 설계에서 _msdcs.<forest>는 자체 AD 통합 영역으로 존재하며, ForestDnsZones 애플리케이션 파티션을 통해 포리스트의 모든 DCs에 복제됩니다. 모든 DCs는 신뢰할 수 있으며 레코드를 직접 읽거나 쓸 수 있습니다.

_msdcs 영역 설계를 식별하는 방법

도메인 컨트롤러에서 다음을 실행하여 _msdcs 영역 설계를 식별할 수 있습니다.

  1. 모든 DNS 영역을 나열하고를 찾습니다_msdcs.

    Get-DnsServerZone | Where-Object { $_.ZoneName -like "*_msdcs*" }

    최신 설계(작업 필요 없음) - 기본 영역으로 _msdcs.<forest-name> 나열됩니다.

    ZoneName ZoneType IsAutoCreated IsDsIntegrated IsReverseLookupZone IsSigned -------- -------- ------------- -------------- ------------------- -------- _msdcs.premier.local Primary False True False False

    레거시 설계(변환 필요) - _msdcs.<forest-name>는 영역 목록에 표시되지 않습니다. 대신 _msdcs는 포리스트 영역 아래에 위임된 하위 도메인으로만 존재합니다. 위임 NS 레코드를 확인하여 이를 확인할 수 있습니다.

    Get-DnsServerResourceRecord -ZoneName "<forest-name>" -Name "_msdcs" -RRType NS

    이렇게 하면 NS 레코드가 반환되면 환경은 레거시 위임된 하위 도메인 설계를 사용합니다.

  2. 추가 검증 - 영역 유형을 확인합니다.

    # This will succeed on modern design Get-DnsServerZone -Name "_msdcs.<forest-name>" # If you get an error like "Zone _msdcs.<forest-name> was not found", you have the legacy design

DNS _msdcs 영역을 현대화하는 방법

AWS 관리형 Microsoft AD Hybrid 디렉터리 생성을 시작하기 전에이 단계를 수행해야 합니다. 모든 단계는 도메인 관리자 및 DnsAdmins 권한이 있는 DNS 관리자 액세스 권한이 있는 기존 자체 관리형 도메인 컨트롤러에서 수행됩니다.

  1. 독립 실행형 _msdcs 영역 생성

    기존 자체 관리형 도메인 컨트롤러에서:

    dnscmd localhost /ZoneAdd "_msdcs.<forest-name>" /DsPrimary /dp /forest

    이렇게 하면가 포리스트 전체 복제 범위를 가진 전용 AD 통합 영역_msdcs.<forest-name>으로 생성됩니다. 포리스트의 모든 DCs는 ForestDnsZones 파티션을 통해 사본을 받습니다.

    AD 복제가 전파될 때까지 기다립니다.

    repadmin /syncall /AeD

    영역이 존재하는지 확인합니다(여DCs에서 실행).

    Get-DnsServerZone -Name "_msdcs.<forest-name>"
  2. 상위 영역에서 이전 위임 제거

    이전 _msdcs 하위 도메인 노드와 해당 레코드는 여전히 상위 영역에 있습니다. DNS 쿼리가 새 독립 실행형 영역에서만 제공되도록 이러한 쿼리를 제거해야 합니다.

    # Remove the _msdcs subtree (NS delegation + all child records) from the parent zone dnscmd localhost /NodeDelete <forest-name> _msdcs /tree /f
    중요

    1단계에서 독립 실행형 영역이 성공적으로 생성되었는지 확인한 후에만이 단계를 수행합니다. 1단계를 건너뛰면 이전 레코드를 삭제하면 즉시 중단됩니다.

  3. 모든 DCs SRV 레코드를 다시 등록하도록 강제

    이전 하위 도메인이 제거되고 새 독립 실행형 영역이 있는 경우 모든 DCs 로케이터 레코드를 새 영역에 다시 등록해야 합니다.

    모든 온프레미스 도메인 컨트롤러에서 다음을 실행합니다.

    # Flush DNS cache ipconfig /flushdns # Restart Netlogon — this triggers re-registration of all SRV, CNAME, and A records net stop netlogon net start netlogon # Force host record registration ipconfig /registerdns
  4. Verify

    복제할 때까지 5~10분 기다린 다음 다음을 확인합니다.

    새 독립 실행형 영역에 채워진 레코드를 확인합니다.

    Get-DnsServerResourceRecord -ZoneName "_msdcs.<forest-name>" -RRType SRV

    모든 온프레미스 DCs에 대한 _ldap._tcp.dc, _kerberos._tcp.dc_ldap._tcp.gc, 및 사이트별 레코드가 표시되어야 합니다.

    DNS 확인이 end-to-end로 작동하는지 확인합니다.

    Resolve-DnsName "_ldap._tcp.dc._msdcs.<forest-name>" -Type SRV Resolve-DnsName "_kerberos._tcp.dc._msdcs.<forest-name>" -Type SRV

    모든 온프레미스 DCs 결과에 표시되어야 합니다.

    이전 위임이 상위 영역에서 제거되었는지 확인합니다.

    Get-DnsServerResourceRecord -ZoneName "<forest-name>" -Name "_msdcs" -RRType NS -ErrorAction SilentlyContinue

    이렇게 하면 아무것도 반환되지 않습니다.

    DNS _msdcs 영역 현대화에 대한 자세한 내용은 Microsoft Core Infrastructure and Security Blog 웹 사이트에서 하위 도메인 DNS 레코드를 분할하고 전용 DNS 영역으로 마이그레이션하는 방법을 참조하세요.

문제 해결

3단계 후에도 새 독립 실행형 영역이 비어 있는 경우:

레코드가 이미 있다고 생각되면 Netlogon이 다시 등록할 수 없습니다. 클린 재등록 강제 적용:

# Delete the Netlogon DNS registration cache Remove-Item "HKLM:\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters\DnsAvoidRegisterRecords" -ErrorAction SilentlyContinue # Restart Netlogon again net stop netlogon net start netlogon

레코드가 여전히 표시되지 않으면 이전 상위 영역의 값(백업 또는 해당 레코드를 캐싱한 다른 DCs에서 사용 가능)을 사용하여 중요한 레코드를 수동으로 생성합니다.

# Example: SRV record for LDAP DC locator Add-DnsServerResourceRecord -ZoneName "_msdcs.<forest-name>" -Name "_ldap._tcp.dc" -Srv -DomainName "dc1.<forest-name>" -Priority 0 -Weight 100 -Port 389 # Example: SRV record for Kerberos DC locator Add-DnsServerResourceRecord -ZoneName "_msdcs.<forest-name>" -Name "_kerberos._tcp.dc" -Srv -DomainName "dc1.<forest-name>" -Priority 0 -Weight 100 -Port 88

변환 후에도 애플리케이션이 여전히 실패하는 경우:

영향을 받는 애플리케이션 서버 및 클라이언트 시스템에서 DNS 캐시 플러시:

ipconfig /flushdns

음수 DNS 캐시 항목(중단 기간부터)은 만료되기 전에 최대 900초(15분) 동안 지속될 수 있습니다.