DNS 문제 해결 지침

가상 에이전트 사용해 보기 - 일반적인 DNS 문제를 신속하게 식별하고 해결하는 데 도움이 될 수 있습니다.

이 솔루션은 DNS(도메인 이름 시스템) 시나리오 문제를 해결하는 데 도움이 되도록 설계되었습니다. DNS 문제 해결 문제를 서버 쪽 및 클라이언트 쪽 범주로 정렬할 수 있습니다.

문제 해결 검사 목록

서버 쪽 문제

  • IP 구성
  • DNS 서버
  • 신뢰할 수 있는 데이터
  • 재귀
  • 영역 전송

클라이언트 쪽 문제

  • IP 구성
  • 네트워크 연결

일반적인 문제 및 해결 방법

DNS 클라이언트의 DNS 클라이언트 쪽 캐싱에 대한 지원 정책

Windows에는 클라이언트 쪽 DNS 캐시가 포함되어 있습니다. DNS 클라이언트에서 DNS 클라이언트 쪽 캐싱을 사용하지 않도록 설정하지 않는 것이 좋습니다. DNS 클라이언트 쪽 캐싱을 사용하지 않도록 설정한 구성은 지원되지 않습니다.

Microsoft는 지원되지 않는 디바이스 또는 구성과 관련된 문제에 대한 해결 방법을 찾을 수 있다고 보장하지 않습니다. 해결 방법이 없으면 인시던트에 대한 조사 비용은 환불되지 않습니다. 솔루션이 보장되지 않는다는 데 동의하지 않으면 Microsoft 지원 문제를 해결하지 않으며 인시던트 조사 비용을 환불합니다.

DNS 레코드가 DNS 영역에 없습니다.

이 문제에는 다음 원인 중 하나가 있을 수 있습니다.

DNS 청소가 잘못 구성됨

DNS 레코드가 DNS 영역에서 누락된 경우 청소가 가장 일반적인 원인입니다. 정적으로 할당된 DNS 서버가 있는 Windows 기반 컴퓨터도 24시간마다 레코드를 등록합니다. 새로 고침 없음 및 새로 고침 간격이 너무 낮은지 확인합니다. 예를 들어 이러한 값이 모두 24시간 미만이면 DNS 레코드가 손실됩니다.

이 문제를 해결하고 새로 고침 없음 및 새로 고침 간격을 이해하려면 DNS 에이징 및 청소 사용을 참조하세요.

IP 주소가 변경되면 호스트 "A" 레코드가 삭제됩니다.

호스트 "A" 레코드가 새로 구성된 DNS 서버 IP 주소(Active Directory 통합 DNS)에 등록된 후 원래 DNS 서버에서 호스트 "A" 레코드가 삭제되는 경우가 있습니다. 사용자 관점에서 이름 확인에 의존하는 모든 항목이 손상됩니다. 클라이언트에서 DNS 서버 IP 주소가 변경되면 클라이언트는 SOA(권한 시작) 업데이트를 전송하여 이전 DNS 서버에서 "A" 레코드를 삭제합니다. 그런 다음 다른 업데이트를 보내 "A" 레코드를 새 DNS 서버에 등록합니다.

Active Directory 통합 영역에서 문제가 발생합니다. 클라이언트에서 DNS 서버 IP 주소가 변경되면 문제가 발생합니다. IP 주소가 변경되면 클라이언트는 새 서버에 등록 요청을 보내고 삭제 요청을 이전 서버로 보냅니다. 두 서버가 이미 동기화되어 있으므로 레코드가 등록되지 않습니다. 이전 서버에서 DNS 서비스는 "A" 레코드를 삭제한 다음 삭제가 새 서버에 복제됩니다. 결과적으로 레코드는 두 서버에서 모두 삭제됩니다.

호스트 "AAAA" 등록 중에 DHCP 옵션 81 호스트 "A" 레코드 등록 취소를 사용하는 DHCP 클라이언트

이 문제는 DHCP 클라이언트 컴퓨터가 ISATAP 또는 6to4 네트워크 어댑터를 사용하고 DNS 클라이언트와 DNS 서버가 모두 DNS 레코드를 동적으로 업데이트하도록 구성된 경우에 발생합니다. 이 구성으로 인해 DHCP 옵션 81( 클라이언트 FQDN 옵션이라고도 함)은 클라이언트와 서버 모두에서 사용하도록 설정됩니다. 이 경우 DHCP 서버는 클라이언트의 DNS "A" 레코드(IPv4)를 만들 수 있습니다. 그런 다음 클라이언트는 "AAAA"(IPv6) 레코드를 만듭니다. 그러나 이 작업의 일부로 클라이언트는 먼저 TTL(Time to Live)이 0인 업데이트된 "A" 레코드를 보냅니다. 따라서 DNS 서버는 "AAAA" 레코드를 등록하는 동안 클라이언트의 "A" 레코드를 삭제합니다.

이 동작을 해결하려면 DHCP 서버가 이미 구성된 경우 이러한 어댑터를 사용하여 DNS 레코드를 동적으로 업데이트하는 DHCP 클라이언트를 구성하지 마세요.

참고

DHCP 옵션 81에 대한 자세한 내용은 DHCP 서버에서 "항상 동적으로 DNS 레코드 업데이트"를 사용하는 경우 예기치 않은 DNS 레코드 등록 동작을 참조하세요. 이 문서에서는 다른 문제를 설명하지만 DHCP 옵션 81에 대해 자세히 설명합니다.

기존 DNS 레코드에 대한 DNS 동적 업데이트 프로토콜 업데이트가 실패함

기존 레코드에 대한 DNS 동적 업데이트 프로토콜 업데이트가 실패합니다. 이 문제로 인해 DNS 청소 프로세스는 레코드를 오래된 것으로 간주하고 삭제합니다.

SRV 레코드가 필요한 서비스의 경우 로컬 Netlogon 서비스는 SRV 레코드를 등록할 수 없는 경우 "이벤트 ID 577X" 이벤트를 기록합니다. 예를 들어 도메인 컨트롤러의 Netlogon 서비스가 LDAP SRV 레코드에 대한 동적 업데이트를 트리거하고 해당 업데이트가 실패하면 Netlogon 서비스는 도메인 컨트롤러에서 이벤트를 기록합니다. 호스트 "A" 및 PTR 레코드의 등록 실패에 대한 다른 이벤트가 기록됩니다. 이러한 오류는 DNS 서버 및 기타 영향을 받는 컴퓨터에서 시스템 이벤트 로그를 확인합니다. 이러한 레코드를 등록하는 클라이언트는 이러한 이벤트를 기록하거나 클라이언트를 대신하여 레코드를 등록하는 DHCP 서버가 해당 이벤트를 기록할 수 있습니다. 이러한 추가 이벤트는 오류의 원인에 대한 인사이트를 제공할 수 있습니다.

활성 동적 임대를 예약으로 변환하면 해당 클라이언트에 대한 "A" 및 PTR 레코드가 삭제됩니다.

이것은 의도적으로 설계된 동작입니다. DNS 레코드("A" 또는 PTR)는 클라이언트의 다음 DHCP 갱신 요청 중에 자동으로 업데이트됩니다.

DNS에 원치 않는 네트워크 어댑터를 등록하지 않도록 방지

네트워크 어댑터가 DNS에 연결 주소를 등록하도록 구성된 경우 DHCP/DNS 클라이언트 서비스는 DNS에 레코드를 등록합니다. 컴퓨터에 등록하지 않으려는 네트워크 어댑터가 있는 경우 다음 단계를 수행합니다.

  1. 네트워크 Connections 원치 않는 네트워크 어댑터에 대한 속성을 열고 TCP/IP 속성을 열고 고급>DNS를 선택한 다음 DNS에 이 연결 등록 확인란의 선택을 취소합니다.
  2. 왼쪽 창에서 DNS 서버 콘솔을 열고 서버를 강조 표시한 다음 작업>속성을 선택합니다.
  3. 인터페이스 탭에서 다음 IP 주소에서만 수신 대기를 선택합니다. 목록에서 원치 않는 IP 주소를 제거합니다.
  4. 영역 속성 페이지에서 이름 서버 탭을 선택합니다. 이 탭에는 도메인 컨트롤러의 FQDN 외에도 도메인 컨트롤러와 연결된 IP 주소가 나열됩니다. 나열된 경우 원치 않는 IP 주소를 제거합니다.
  5. 도메인 컨트롤러의 기존 원치 않는 호스트 "A" 레코드를 삭제합니다.

DNS 쿼리 응답 지연

DNS 서버가 쿼리를 연결할 수 없는 전달자 또는 루트 힌트로 전달하는 경우 DNS 쿼리 요청 시간이 초과될 수 있습니다. 이 문제를 해결하려면 다음 단계를 수행합니다.

  1. DNS 서버에서 DNS 콘솔을 열고 전달자 또는 조건부 전달자에 연결할 수 있는지 여부를 검사. 전달자에 연결할 수 없는 경우 제거합니다.
  2. DNS 서버에서 전달자 및 루트 힌트를 사용할 필요가 없는 경우 DNS 서버에서 DNS 콘솔을 열고 서버 속성 창을 열고 고급을 선택한 다음 재귀 사용 안 함을 켭니다. (이 설정은 전달자도 사용하지 않도록 설정합니다.)

이벤트 ID 4004 및 이벤트 ID 4013

이벤트 메시지:

DNS 서버에서 Active Directory를 열 수 없습니다. 이 DNS 서버는 디렉터리 서비스 정보를 사용하도록 구성되며 디렉터리에 액세스하지 않고는 작동할 수 없습니다. DNS 서버는 디렉터리가 시작될 때까지 기다립니다. DNS 서버가 시작되었지만 적절한 이벤트가 기록되지 않은 경우 DNS 서버는 디렉터리가 시작되기를 기다리고 있습니다.

이 문제를 해결하려면 AD DS 문제 해결 및 DNS 서버 서비스 다시 시작을 참조하세요.

DNS 서버 지리적 위치 정책이 예상대로 작동하지 않음

다음과 같은 경우를 생각해볼 수 있습니다.

  • "contoso.com"이라는 Active Directory 통합 영역(기본 영역 scope)을 사용합니다.
  • 특정 서브넷과 연결된 지리적 위치 영역 범위를 사용합니다.
  • Windows PowerShell Add-DnsServerQueryResolutionPolicy cmdlet을 사용하여 DNS 확인 정책을 구성합니다.

이 시나리오에서 원하는 결과는 클라이언트가 요청된 리소스를 찾으려고 시도하는 것입니다. 먼저 로컬 영역 scope 다음 기본 영역 scope. 그러나 organization 이러한 정책을 구성한 후에는 정의된 서브넷의 클라이언트가 기본 영역 scope(contoso.com)에서 호스트되는 레코드를 성공적으로 resolve 수 없습니다. 예를 들어 클라이언트는 hostA.contoso.com resolve 수 없습니다. DNS 서버는 이러한 요청을 받으면 "서버 오류" 메시지를 반환합니다.

이 문제를 해결하려면 DNS 서버 지리적 위치 정책이 예상대로 작동하지 않음을 참조하세요.

이중 누적 쿼리에 대해 전달된 DNS 이름 확인 실패

타사 DNS 서버 솔루션을 사용하고 있으며 조건부 전달을 사용할 때는 이름을 일관되게 resolve 수 없습니다.

로컬 DNS 서버(10.100.100.70)는 조건부 전달자로 구성된 DNS 서버에 연결할 수 있습니다(10.133.3.250). DNS 서버에서 조건부 전달자에 대한 첫 번째 요청은 이름(예: nbob1.contoso.com)을 성공적으로 확인합니다. 잠시 후 이름 확인이 작동을 중지합니다. 조건부 전달자에 대한 nslookup 쿼리는 "존재하지 않는 도메인" 오류 메시지를 반환합니다.

전달 컴퓨터(로컬 DNS 서버)에서 DNS 서버 캐시를 지우면 이름 확인이 다시 시작됩니다. 그러나 이 수정은 일시적입니다.

이 문제를 해결하려면 이중 누적 쿼리에 대해 전달된 DNS 이름 확인 실패를 참조하세요.

DNS 서버가 NIC 팀 구성을 잃습니다.

다음과 같은 경우를 생각해볼 수 있습니다.

  • DNS 서버 컴퓨터에는 NIC 팀 구성에 사용하는 여러 네트워크 어댑터가 있습니다.
  • 팀 네트워크 어댑터의 IP 주소를 수신 대기하도록 DNS 서버를 구성합니다.
  • DNS 관리자의 DNS 서버 속성 대화 상자의 인터페이스 탭에서 사용할 IP 주소를 구성할 수 있습니다.

DNS 서버를 다시 시작하면 Windows에서 설정을 삭제합니다. DNS 서버는 모든 IP 주소에서 다시 수신 대기를 시작합니다.

이 변경이 발생하면 Windows는 DNS 서버 이벤트 로그에 이벤트 ID 410을 기록합니다.

제한된 인터페이스의 DNS 서버 목록에는 서버 컴퓨터에 대한 유효한 IP 주소가 포함되어 있지 않습니다. DNS 서버는 컴퓨터의 모든 IP 인터페이스를 사용합니다. DNS 관리자 서버 속성, 인터페이스 대화 상자를 사용하여 DNS 서버가 수신 대기해야 하는 IP 주소를 확인하고 다시 설정합니다. 자세한 내용은 온라인 도움말에서 "선택한 주소에서만 수신 대기하도록 DNS 서버를 제한하려면"을 참조하세요.

이 문제를 해결하려면 구성된 NIC 팀 IP 주소 대신 DNS 서버가 모든 IP 주소에서 수신 대기로 되돌리기를 참조하세요.

DHCP 서버가 동적 DNS 업데이트를 관리하는 경우 DNS 레코드 등록 동작

Windows DHCP(동적 호스트 구성 프로토콜) 클라이언트와 Microsoft DHCP 서버를 사용하여 IP 주소를 할당하고 관리하는 인프라가 있습니다. DHCP 서버에서 아래 설정에 따라 DNS 동적 업데이트 사용을 선택하고 항상 DNS 레코드를 동적으로 업데이트합니다. 이 구성에서는 DHCP 서버가 "A" 레코드 및 "PTR" 레코드에 대한 동적 DNS 업데이트를 관리할 것으로 예상합니다. 그러나 클라이언트와 서버가 모두 DNS 레코드를 만드는 것을 관찰합니다. 구성에 따라 이 동작에는 다음과 같은 효과가 있습니다.

  • 비보안 및 보안 동적 업데이트에 대한 DNS 영역을 구성하는 경우 DHCP 서버가 레코드를 만든 다음 DHCP 클라이언트가 동일한 레코드를 삭제하고 다시 만드는 것을 볼 수 있습니다.
  • 보안 전용 동적 업데이트에 대한 DNS 영역을 구성하는 경우 DNS 레코드가 일치하지 않을 수 있습니다. DHCP 서버와 DHCP 클라이언트 모두 레코드를 만듭니다. 그러나 DHCP 서버는 DHCP 클라이언트가 만드는 레코드를 업데이트할 수 없으며 DHCP 클라이언트는 DHCP 서버에서 만든 레코드를 업데이트할 수 없습니다.

이 문제를 해결하려면 DHCP 서버가 "항상 동적으로 DNS 레코드 업데이트"로 설정된 경우 DNS 레코드 등록 동작을 참조하세요.

데이터 수집

Microsoft 지원 문의하기 전에 문제에 대한 정보를 수집할 수 있습니다.

필수 구성 요소

  • 로컬 시스템에 대한 관리자 권한이 있는 계정의 보안 컨텍스트에서 TSS를 실행합니다. TSS를 처음 실행할 때 EULA를 수락합니다. (EULA를 수락하면 TSS에서 다시 메시지를 표시하지 않습니다.)
  • scope PowerShell 실행 정책을 LocalMachine 사용하는 RemoteSigned 것이 좋습니다.

참고

현재 PowerShell 실행 정책에서 TSS 실행을 허용하지 않는 경우 다음 작업을 수행합니다.

  1. cmdletSet-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSignedRemoteSigned 실행하여 프로세스 수준에 대한 실행 정책을 설정합니다.
  2. 변경 내용이 적용되는지 확인하려면 cmdlet을 Get-ExecutionPolicy -List 실행합니다.

이러한 프로세스 수준 권한은 현재 PowerShell 세션에만 적용됩니다. TSS가 실행되는 PowerShell 창을 닫으면 프로세스 수준에 대한 할당된 권한이 이전에 구성된 상태로 되돌아갑니다.

Microsoft 지원에 문의하기 전에 주요 정보 수집

  1. 모든 노드에서 TSS 를 다운로드하고 파일을 C:\tss 폴더로 확장합니다.

  2. 관리자 권한 PowerShell 명령 프롬프트 창에서 C:\tss 폴더를 엽니다.

  3. 다음 cmdlet을 실행하여 클라이언트 및 서버에서 추적을 시작합니다.

    • 클라이언트:

      TSS.ps1 -Scenario NET_DNScli
      
    • 서버:

      TSS.ps1 -Scenario NET_DNSsrv
      
  4. 추적이 서버 또는 클라이언트에서 처음으로 실행되는 경우 EULA를 수락합니다.

  5. 녹화 허용(PSR 또는 비디오).

    참고

    클라이언트와 서버 모두에서 로그를 수집하는 경우 문제를 재현하기 전에 이 메시지가 두 노드에 모두 나타날 때까지 기다립니다.

  6. 문제를 재현합니다.

  7. 문제를 재현한 후 Y 를 입력하여 데이터 로깅을 완료합니다.

TSS는 C:\MS_DATA 폴더의 압축된 파일에 추적을 저장합니다. 분석을 위해 파일을 작업 영역에 업로드할 수 있습니다.

참조