DNS 서버에서 HTTPS를 통한 DNS 문제 해결

클라이언트가 DoH를 사용하여 DNS 서버에 연결할 수 없거나 명확한 이유 없이 암호화된 DNS 쿼리가 실패하나요? 이 문서는 Windows DNS 서버에서 DNS over HTTPS (DoH) 문제 식별 및 해결 방법을 안내합니다. 인증서 바인딩 오류, 포트 충돌 또는 성능 문제를 처리하는 경우 DoH가 제대로 작동하도록 하는 단계별 지침을 찾을 수 있습니다.

문제 해결 검사 목록으로 시작하여 문제를 신속하게 파악한 다음, 증상별 섹션에 따라 자세한 해결 단계를 수행합니다. 이 문서는 DoH 기능이 활성화된 Windows Server 2025 이상 버전에 적용됩니다.

필수 조건

DoH 문제를 해결하기 전에 다음이 있는지 확인합니다.

DoH 인증서는 다음 요구 사항을 충족해야 합니다.

  • 향상된 키 사용 확장: 서버 인증(1.3.6.1.5.5.7.3.1) 개체 식별자를 포함해야 합니다.

  • 주체 또는 주체 대체 이름: 구성된 DoH URI 템플릿과 일치하는 정규화된 도메인 이름 또는 IP 주소가 있는 SAN(주체 대체 이름)이 있는 서명된 인증서

  • 프라이빗 키: 로컬 컴퓨터의 저장소에 있어야 하며 인증서와 올바르게 연결되어 있어야 하며 강력한 프라이빗 키 보호를 사용하도록 설정해서는 안 됩니다.

  • 트러스트 체인: DNS 클라이언트가 신뢰하는 CA에서 발급해야 합니다.

문제 해결 검사 목록

이 검사 목록을 통해 DoH 문제를 식별합니다. 각 링크는 자세한 해결 단계로 연결됩니다.

1. DoH 상태 확인

✅ DoH가 활성화됨: Get-DnsServerEncryptionProtocol 표시 EnableDoh : True

✅DNS 서비스가 실행 중입니다. Get-Service DNSRunning

✅구성된 포트가 수신 대기 중입니다. netstat -an | findstr :<port>LISTENING을(를) 표시합니다. 기본 포트는 443입니다.

서비스 구성 문제를 해결하려면 증상: DoH가 구성되거나 실행되지 않음을 참조하세요.

2. DoH 초기화 확인

✅ 서비스를 다시 시작한 후 DNS 서버 이벤트 로그에 이벤트 ID 822가 나타납니다.

✅ 이벤트 로그에 오류 이벤트 없음(823, 824, 825, 826)

✅ 인증서는 구성된 포트에 바인딩됩니다. netsh http show sslcert

초기화 실패를 해결하려면 증상: DoH를 초기화하지 못했습니다.

3. 클라이언트 연결 확인

✅ 클라이언트는 기본적으로 443으로 구성된 DoH 포트(브라우저를 사용하여 테스트)에서 DNS 서버에 연결할 수 있습니다.

✅ 방화벽은 구성된 DoH 포트에서 인바운드 TCP를 허용합니다.

✅ 클라이언트는 서버 인증서를 신뢰합니다(인증서 경고 없음).

연결 문제를 해결하려면 증상: 클라이언트가 DoH를 사용하여 연결할 수 없음을 참조하세요.

4. 쿼리 처리 확인

✅ 이벤트 ID 597(수신된 쿼리)이 분석 로그에 표시됩니다.

✅ 이벤트 ID 598(전송된 응답)이 분석 로그에 표시됨

✅ 이벤트 ID 599(응답 실패) 또는 이벤트 ID 600(쿼리 거부) 없음

쿼리 처리 문제를 해결하려면 증상: DoH 쿼리 실패 또는 시간 초과를 참조하세요.

팁 (조언)

이벤트 ID 597이 표시되지 않으면 먼저 클라이언트 연결 문제를 해결합니다. 증상 참조: 클라이언트는 DoH를 사용하여 연결할 수 없습니다.

5. 성능 확인

✅ DoH 요청 삭제/초 카운터 = 0

✅ DoH 응답 전송/초 ≈ DoH 요청 수신/초

✅ 쿼리 대기 시간이 허용됩니다.

성능 문제를 해결하려면 증상: DoH 성능 문제를 참조하세요.

증상: DoH가 구성되거나 실행되지 않음

DoH를 사용하려고 하지만 클라이언트는 암호화되지 않은 DNS를 계속 사용하거나 서버에서 DoH가 사용하도록 설정되어 있는지 확인할 수 없습니다.

일반적인 원인:

  • 서버에서 DoH를 사용하도록 설정하지 않음

  • DNS 서비스가 중지됨

  • DoH 설정의 구성 오류

진단 방법:

DoH 구성을 확인하려면 다음 명령을 실행합니다.

Get-DnsServerEncryptionProtocol

DoH가 제대로 구성된 경우 다음이 표시됩니다.

EnableDoh   : True
UriTemplate : https://dns.contoso.com:443/dns-query

DNS 서비스 상태를 확인하려면 다음 명령을 실행합니다.

Get-Service DNS

출력에 Status: Running가 표시되어야 합니다.

구성된 포트가 수신 대기 중인지 확인하려면 다음 명령을 실행합니다. 다른 경우 구성한 포트로 443를 대체하십시오.

netstat -an | findstr :443

LISTENING 상태에서 TCP 항목이 표시되어야 합니다.

자세한 모니터링 절차는 HTTPS를 통한 DNS 모니터링을 참조하세요.

해결 방법:

EnableDohFalse 경우, DoH를 사용하도록 설정하려면 다음 명령을 실행하세요.

Set-DnsServerEncryptionProtocol -EnableDoh $true -UriTemplate "https://dns.contoso.com:443/dns-query"

인증서 SAN과 일치하는 DNS 서버의 FQDN으로 대체 dns.contoso.com 합니다.

DNS 서버 서비스를 다시 시작하려면 다음 명령을 실행합니다.

Restart-Service -Name DNS

DoH가 이전에 구성되지 않은 경우, 인증서 요구 사항을 포함한 전체 설정 지침은 Windows DNS Server에서 DNS over HTTPS 사용 설정하기를 참조하세요.


증상: DoH를 초기화하지 못함

DoH를 사용하도록 설정하지만 서비스가 제대로 초기화되지 않습니다. 클라이언트는 DoH를 사용하여 연결할 수 없습니다.

일반적인 원인:

  • 인증서 바인딩 문제(이벤트 ID 823).

  • 포트 충돌(이벤트 ID 825, 826).

  • 잘못된 URI 템플릿 구성입니다.

진단 방법:

DNS 서버 이벤트에 대한 Windows 이벤트 뷰어를 확인합니다. 애플리케이션 및 서비스>로 이동합니다.

전체 이벤트 세부 정보는 HTTPS - 서버 이벤트를 통해 DNS 모니터링을 참조하세요.

다음 특정 이벤트를 확인합니다.

  • 이벤트 ID 823(DNS_EVENT_HTTP_SERVER_INIT_FAILED): 일반적으로 인증서 바인딩 문제 또는 포트 충돌로 인해 HTTP 서버 초기화에 실패했습니다.

  • 이벤트 ID 824(DNS_EVENT_HTTP_SERVER_SESSION_FAILED): 일반적으로 리소스 제약 조건으로 인해 HTTP 서버 세션을 만들지 못했습니다.

  • 이벤트 ID 825(DNS_EVENT_HTTP_CREATE_URL_FAILED): 잘못된 URI 형식 또는 포트 충돌로 인해 URL 등록에 실패했습니다.

성공적인 초기화를 나타내는 이벤트 ID 822(DNS_EVENT_HTTP_URL_REGISTERED)를 찾습니다. 서비스를 다시 시작한 후 이 이벤트가 누락되면 초기화에 실패했습니다.

해결 방법:

인증서 바인딩 문제

이벤트 ID 823이 표시되면 다음 명령을 실행하여 인증서 바인딩을 확인합니다.

netsh http show sslcert

IP 주소 및 포트(예 0.0.0.0:443: )와 일치하는 항목을 찾습니다. DNS 서버 인증서의 지문이 표시되는지 확인합니다.

인증서가 바인딩되지 않았거나 잘못된 지문이 표시되는 경우 올바른 인증서를 바인딩하는 단계는 인증서 바인딩 을 참조하세요.

인증서가 다음 요구 사항을 충족하는지 확인합니다.

  • 에서 유효한 SSL/TLS 인증서 LocalMachine\My store

  • SAN(주체 대체 이름)이 DoH URI의 FQDN과 일치합니다.

  • 프라이빗 키가 설치됨

  • 만료되지 않음

자세한 인증서 설정은 Windows DNS Server에서 HTTPS를 통한 DNS 사용을 참조하세요.

포트 충돌

이벤트 ID 825 또는 826이 표시되면 다른 서비스에서 포트 443을 사용할 수 있습니다. 포트를 사용하는 항목을 확인하려면 다음 명령을 실행합니다.

netstat -ano | findstr :443

다른 프로세스에서 포트 443을 사용하는 경우 다음 중 하나를 수행합니다.

  • 충돌하는 서비스를 중지하거나
  • 다른 포트를 사용하도록 DoH를 구성하려면 다음 명령을 실행합니다.
Set-DnsServerEncryptionProtocol -EnableDoh $true -UriTemplate "https://dns.contoso.com:8443/dns-query"

그런 다음 인증서를 새 포트에 바인딩하고 그에 따라 방화벽 규칙을 업데이트합니다.

구성 오류

URI 템플릿의 형식이 올바르게 지정되었는지 확인합니다.

  • https://으로 시작

  • 인증서 SAN과 일치하는 FQDN을 포함합니다.

  • 경로를 포함합니다 /dns-query

  • 예: https://dns.contoso.com:443/dns-query

현재 URI 템플릿 구성을 확인하려면 다음 명령을 실행합니다.

Get-DnsServerEncryptionProtocol | Select-Object UriTemplate

URI 템플릿이 잘못되었거나 누락된 경우 다음 명령을 실행하여 다시 구성합니다.

Set-DnsServerEncryptionProtocol -EnableDoh $true -UriTemplate "https://dns.contoso.com:443/dns-query"

DNS 서버의 FQDN으로 dns.contoso.com을(를) 바꾸세요. FQDN이 인증서의 SAN(주체 대체 이름)과 정확히 일치하는지 확인합니다.

문제를 해결한 후 다음 명령을 실행하여 DNS 서비스를 다시 시작합니다. 이벤트 ID 822를 확인하여 성공적인 초기화를 확인합니다.

Restart-Service -Name DNS

증상: 클라이언트가 DoH를 사용하여 연결할 수 없음

서버에서 DoH를 구성하고 시작하지만 클라이언트가 연결할 수 없거나 인증서 오류가 발생합니다.

일반적인 원인:

  • 기본적으로 443인 구성된 DoH 포트를 차단하는 네트워크 또는 방화벽입니다.

  • 인증서 신뢰 문제.

  • 잘못된 URI 또는 구성을 사용하는 클라이언트입니다.

진단 방법:

웹 브라우저를 열고 DoH URI(예 https://dns.contoso.com/dns-query: )로 이동하여 클라이언트 컴퓨터에서 연결을 테스트합니다. 다음 결과 중 하나가 표시됩니다.

  • 빈 페이지 또는 최소 응답은 서버가 수신 대기 중이며 네트워크 연결이 작동 중임을 나타냅니다.

  • 인증서 오류는 인증서 신뢰 문제를 나타내지만 네트워크 연결 및 방화벽 규칙이 올바른지 확인합니다.

  • 연결 시간 제한은 DoH를 사용하여 DNS 서버에 액세스할 수 없는 네트워크 또는 방화벽 문제를 나타냅니다.

DNS 서버에서 방화벽 규칙을 확인하려면 다음 명령을 실행합니다.

Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*DNS*" -or $_.DisplayName -like "*443*"} | Format-Table DisplayName, Enabled, Direction, Action

브라우저에서 인증서 세부 정보를 검사하여 클라이언트 인증서 트러스트를 확인합니다. 인증서 체인이 유효하고 신뢰할 수 있는지 확인합니다.

해결 방법:

네트워크 연결

먼저 HTTPS를 통해 클라이언트에서 DNS 서버로의 네트워크 연결을 확인합니다. 다음 명령을 실행하여 기본 포트가 아닌 포트를 구성한 경우 포트를 대체합니다.

Test-NetConnection -ComputerName dns.contoso.com -Port 443

TcpTestSucceededFalse을 반환하는 경우, 클라이언트와 서버 간의 네트워크 라우팅 및 방화벽 규칙을 확인하세요.

인바운드 연결을 허용하도록 서버에 새 Windows 방화벽 규칙을 만들려면 다음 명령을 실행합니다. 다른 경우 구성한 포트로 443를 대체하십시오.

New-NetFirewallRule -DisplayName "DNS over HTTPS" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow

하드웨어 방화벽 또는 네트워크 보안 그룹을 사용하는 경우 구성된 DoH 포트에서 DNS 서버로의 인바운드 TCP 트래픽을 허용하는지 확인합니다.

인증서 신뢰

개인 CA(인증 기관)를 사용하는 경우:

  1. DNS 클라이언트가 해당 CA를 신뢰하는지 확인합니다.

  2. 클라이언트 컴퓨터에 루트 CA 인증서를 설치합니다.

  3. 서버에서 인증서 체인이 완료되었는지 확인합니다.

또는 클라이언트가 이미 신뢰하는 공개적으로 신뢰할 수 있는 CA에서 서명한 인증서를 사용합니다.

클라이언트에서 DNS 서버의 DoH 포트에 대한 네트워크 연결을 테스트하려면 다음 명령을 실행합니다. 다른 경우 구성한 포트로 443를 대체하십시오.

Test-NetConnection -ComputerName dns.contoso.com -Port 443

클라이언트에서 인증서를 신뢰할 수 있는지 확인하려면 웹 브라우저를 열고 . https://dns.contoso.com/dns-query으로 이동합니다. 브라우저에 인증서 경고가 표시되면 클라이언트는 인증서 체인을 신뢰하지 않습니다.

인증서 배포 지침은 Windows DNS Server에서 HTTPS를 통한 DNS 사용을 참조하세요.

클라이언트 구성

클라이언트의 DoH 구성이 서버의 URI와 정확히 일치하는지 확인합니다.

  • Windows 11: 설정 > 네트워크 및 인터넷 > [연결] > DNS 설정

  • DoH 템플릿은 다음과 일치해야 합니다. https://dns.contoso.com:443/dns-query

  • 기본 포트가 아닌 포트를 사용하는 경우 클라이언트에서 지정해야 합니다.

클라이언트를 구성하지만 여전히 암호화되지 않은 DNS를 사용하는 경우 클라이언트 네트워크 설정의 DNS 서버 IP 주소가 DoH를 사용하도록 설정된 DNS 서버와 일치하는지 확인합니다.


증상: DoH 쿼리가 실패하거나 시간 초과됨

클라이언트는 DNS 서버에 연결하지만 쿼리가 실패하거나 응답을 받지 못합니다.

일반적인 원인:

  • 상류 DNS 해석 문제(이벤트 ID 599)

  • 클라이언트 프로토콜 비호환성(이벤트 ID 600)

  • 클라이언트 DoH 구성 문제

  • DNS 서버 구성 문제

진단 방법:

분석 로깅을 사용하여 자세한 쿼리별 이벤트를 캡처합니다.

  1. 이벤트 뷰어를 열고 애플리케이션 및 서비스 로그>Microsoft>Windows>DNS-Server로 이동합니다.

  2. 분석을 마우스 오른쪽 단추로 클릭하고 로그 사용을 선택합니다.

자세한 분석 로깅 절차는 HTTPS를 통한 DNS 모니터링 - 분석 이벤트를 참조하세요.

다음 주요 이벤트를 확인합니다.

  • 이벤트 ID 597: DoH 쿼리 수신 - 암호화된 DNS 쿼리가 서버에 도달했는지 확인합니다.

  • 이벤트 ID 598: 전송된 DoH 응답 - 성공적인 응답 확인

  • 이벤트 ID 599: DoH 응답 실패 - 서버가 응답하려고 했지만 실패했음을 나타냅니다(업스트림 해결 문제일 가능성이 높음).

  • 이벤트 ID 600: DoH 쿼리가 거부됨 - 서버가 특정 DoH 요청을 적극적으로 삭제하고 있습니다.

  • 이벤트 ID 601: DoH 채널 오류 - 일부 오류의 경우 600 또는 599와 함께 제공될 수 있음

패턴을 찾습니다.

  • 이벤트 ID 597 항목이 여러 개 있지만 이벤트 ID 598 항목이 없음은 서버가 쿼리를 확인할 수 없음을 시사합니다.

  • 이벤트 ID 600 항목은 HTTP 버전 비호환성 또는 잘못된 형식의 요청을 나타낼 수 있습니다.

  • 이벤트 ID 599는 SERVFAIL RCODE가 업스트림 전달자 문제와 관련이 있음을 제안합니다.

해결 방법:

업스트림 DNS 문제(이벤트 ID 599)

이벤트 ID 599와 SERVFAIL 유사한 오류가 표시되면 DNS 서버에서 업스트림 DNS 구성을 확인합니다. 다음 명령을 실행합니다.

Get-DnsServerForwarder

전달자에 대한 연결을 테스트하려면 다음 명령을 실행합니다.

Test-NetConnection -ComputerName <forwarder-ip> -Port 53

전달자에 연결할 수 없거나 잘못 구성된 경우 다음 명령을 사용하여 대체 전달자를 사용해 보세요.

Set-DnsServerForwarder -IPAddress <new-forwarder-ip>

해상도를 수동으로 테스트하려면 다음 명령을 실행합니다.

Resolve-DnsName -Name microsoft.com -Server localhost

기존 DNS 문제 해결은 DNS 서버 문제 해결을 참조하세요.

쿼리 거부(이벤트 ID 600)

이벤트 ID 600은 거부된 쿼리를 나타냅니다. 일반적인 원인은 다음과 같습니다.

  • HTTP 요청 비호환성: DNS 서버는 지원되지 않거나 잘못된 HTTP 요청 특성으로 인해 요청을 거부합니다.

  • 잘못된 형식의 요청: 쿼리가 RFC 8484를 준수하지 않습니다.

  • DNS 정책 제한: DNS 정책이 쿼리를 삭제할 수 있습니다.

  • 서버 쪽 요청 요구 사항이 충족되지 않음: 수신 인터페이스에서 DoH를 사용할 수 없거나 URI 템플릿이 일치하지 않거나 서버 쪽 유효성 검사, 구성 또는 정책 검사가 있습니다.

거부 이유에 대한 이벤트 세부 정보를 확인합니다. 클라이언트가 호환되지 않는 HTTP 버전을 사용하는 경우 클라이언트 소프트웨어를 업데이트하거나 다른 DoH 클라이언트 애플리케이션을 사용합니다.

DNS 정책이 간섭하지 않는지 확인하려면 다음 명령을 실행합니다.

Get-DnsServerQueryResolutionPolicy

클라이언트 DoH 구성

특정 클라이언트에서 쿼리가 실패하지만 다른 클라이언트에서 작동하는 경우 클라이언트의 DoH 구성을 확인합니다. 일반적인 문제는 다음과 같습니다.

  • 잘못된 DoH URI 템플릿
  • DOH에 사용되는 DNS 서버와 일치하지 않는 DNS 서버 IP 주소
  • DoH를 사용하도록 구성되지 않은 클라이언트

클라이언트 구성 지침은 DoH(HTTPS)를 통한 보안 DNS 클라이언트를 참조하세요.

서버 구성

이 문서의 앞부분에서 나열된 쿼리 이외의 이유로 쿼리가 실패하는 경우 일반 DNS 서버 구성을 확인합니다.

  • 루트 힌트가 올바르게 구성되었는지 확인합니다.

  • 권한 있는 영역에 대한 영역 로드를 확인합니다.

  • 서버가 재귀 확인을 수행해야 하는 경우 재귀 설정을 검토합니다.

포괄적인 DNS 문제 해결은 DNS 서버 문제 해결을 참조하세요.

과도한 이벤트 생성을 방지하려면 문제 해결이 완료되면 분석 로그를 사용하지 않도록 설정합니다.


증상: DoH 성능 문제

DoH는 작동하지만 암호화되지 않은 DNS에 비해 대기 시간이 높거나 쿼리가 삭제되거나 성능이 저하됩니다.

일반적인 원인:

  • 서버 용량 제한

  • TLS 핸드셰이크 오버헤드

  • 네트워크 정체 또는 높은 CPU 사용량

진단 방법:

DNS over HTTPS 모니터링 - 성능 모니터를 사용하여 다음 카운터에 대한 모니터링을 활성화하십시오:

  • DoH 요청 수신/초
  • DoH 응답 수/초
  • DoH 요청 실패/sec

성능 문제의 주요 지표:

  • DoH 요청 삭제/초 > 0: 서버에서 쿼리를 삭제합니다.

  • 요청 수신 횟수가 초당 응답 전송 횟수보다 훨씬 높습니다: 많은 쿼리에 대한 답변이 제공되지 않습니다.

  • DoH 쿼리 처리 중 CPU 사용량이 높거나 급증합니다.

또한 시스템 리소스를 모니터링합니다.

  • CPU 사용률

  • 메모리 사용량

  • 네트워크 처리량

특정 쿼리만 느린 경우 문제는 DoH 외부에 있을 수 있습니다. 예를 들어 특정 도메인에 대한 상위 서버에 대한 느린 요청 처리입니다. 일반적인 DNS 지연에서 DoH 오버헤드를 격리하려면 동일한 쿼리에 대해 DoH 및 암호화되지 않은 DNS 성능을 비교합니다. 둘 다 느린 경우 문제는 DoH 관련 문제가 아닌 업스트림 해결일 수 있습니다.

해결 방법:

삭제된 쿼리

DoH Requests Dropped/sec가 0보다 크다면, 다음 단계들을 수행하십시오.

  1. DNS 서버 로그의 이벤트 ID 600과 상관 관계를 지정하여 삭제의 원인을 식별합니다.

  2. 서버가 리소스 제한인지 확인합니다.

    Get-Counter '\Processor(_Total)\% Processor Time'
    Get-Counter '\Memory\Available MBytes'
    
  3. CPU 또는 메모리가 지속적으로 높은 경우 다음을 고려합니다.

    • 더 많은 CPU 또는 RAM 리소스를 사용하여 서버를 확장합니다.
    • 부하를 분산하기 위해 추가 DNS 서버를 추가합니다.
    • DNS 부하 분산 구현

긴 대기 시간

TLS 핸드셰이크 오버헤드는 암호화되지 않은 DNS에 비해 쿼리 대기 시간을 증가시킬 수 있습니다. 대기 시간 문제를 진단하려면:

  • DoH 쿼리 시간을 동일한 쿼리에 대한 암호화되지 않은 DNS 기준과 비교합니다.

  • 클라이언트 쪽 도구를 사용하여 엔드 투 엔드 DoH 쿼리 시간을 측정합니다.

  • 동일한 쿼리에 대해 DoH 및 암호화되지 않은 DNS가 모두 느린 경우 문제는 DoH별이 아닌 업스트림 해결입니다.

DoH 관련 대기 시간을 줄이려면 다음을 수행합니다.

  1. 서버 CPU 용량 확인: TLS 작업은 CPU를 많이 사용합니다. DoH 트래픽 중에 CPU가 병목 상태인지 확인하려면 다음 명령을 실행합니다.

    Get-Counter '\Processor(_Total)\% Processor Time' -SampleInterval 1 -MaxSamples 30
    

    DoH 트래픽 중에 CPU가 지속적으로 70-80% 초과하는 경우 서버 리소스를 업그레이드하거나 부하를 분산하는 것이 좋습니다.

  2. 인증서 체인 길이 검토: 더 짧은 인증서 체인은 유효성을 더 빠르게 검사합니다. 추가 조회를 방지하기 위해 중간 인증서가 제대로 구성되었는지 확인합니다.

  3. 네트워크 경로 확인: 클라이언트와 DNS 서버 간의 높은 네트워크 대기 시간은 쿼리 시간에 직접 영향을 줍니다. Test-NetConnection 또는 traceroute을 사용하여 네트워크 병목 현상을 찾으십시오.

리소스 제약 조건

서버가 과소 프로비전된 경우:

  1. 정상 작업 중에 기준 리소스 사용량을 모니터링합니다.

  2. 최대 사용 시간을 식별하고 쿼리 볼륨과 상관 관계를 지정합니다.

  3. 고려 사항:

    • 수직 크기 조정(더 큰 VM 또는 물리적 서버).
    • 수평 크기 조정(부하 분산 장치 뒤에 있는 여러 DNS 서버)
    • DNS 영역 구성을 최적화하여 영역 전송 오버헤드를 줄입니다.

장기 추세를 모니터링하고 용량을 계획하려면 다음 명령을 실행합니다.

Get-Counter '\DNS-over-HTTPS\DoH Requests Received/sec' -Continuous

용량 계획 지침은 HTTPS를 통한 DNS 모니터링 - 성능 모니터링을 참조하세요.


고급 진단

기본 문제 해결이 문제를 해결하지 못하는 경우 이러한 고급 기술을 사용하여 자세한 진단 정보를 수집합니다.

분석 로그 사용 설정

DNS 서버 분석 로그는 DoH 관련 작업을 비롯한 자세한 쿼리별 이벤트를 캡처합니다. 로그를 사용하도록 설정하면 각 DoH 쿼리, 응답, 실패 및 거부에 대한 이벤트 ID 597-600이 기록됩니다.

분석 로깅을 사용하도록 설정하고 사용하는 방법에 대한 단계별 지침은 HTTPS - 분석 이벤트를 통해 DNS 모니터링을 참조하세요.

중요합니다

사용 중인 서버에서 대량의 이벤트를 생성하므로 완료되면 분석 로깅을 사용하지 않도록 설정합니다.

자세한 이벤트 분석

DoH 이벤트를 검토할 때 다음 이벤트 필드를 검사하여 진단 단서를 확인합니다.

  • QNAME: 쿼리된 도메인 이름입니다. 이 필드는 문제가 도메인별 문제인지를 식별하는 데 도움이 됩니다.

  • QTYPE: A, AAAA, MX 등의 DNS 레코드 형식입니다.

  • RCODE: NOERROR, SERVFAIL, NXDOMAIN 등과 같은 응답 코드입니다.

  • 이유: 이벤트 ID 600의 경우 이 필드는 거부 이유를 제공합니다.

  • 클라이언트 IP: 쿼리의 원본입니다. 이 필드는 문제가 있는 클라이언트를 식별하는 데 도움이 됩니다.

시간에 따른 이벤트 상관 관계:

  • 패턴을 찾습니다. 특정 시간에 오류가 발생합니까?

  • 여러 클라이언트에서 동일한 문제가 발생하는지 확인합니다.

  • 오류가 높은 부하 기간과 상관 관계가 있는지 여부를 식별합니다.

다른 로그와 상호 참조:

  • Schannel TLS 오류에 대한 시스템 로그입니다.

  • 영역 및 전달자 문제에 대한 DNS 서버 운영 로그입니다.

  • 서비스 수준 오류에 대한 애플리케이션 로그입니다.

성능 분석

심층 성능 분석의 경우:

  1. 정상 작업 중에 기준 메트릭을 설정합니다.

  2. 현재 성능을 기준선과 비교합니다.

  3. 편차를 식별하고 이벤트 또는 구성 변경 내용과 상관 관계를 지정합니다.

시간에 따라 모니터링할 주요 성능 카운터:

Get-Counter -Counter @(
    '\DNS-over-HTTPS\DoH Requests Received/sec',
    '\DNS-over-HTTPS\DoH Responses Sent/sec',
    '\DNS-over-HTTPS\DoH Requests Dropped/sec',
    '\Processor(_Total)\% Processor Time',
    '\Memory\Available MBytes'
) -SampleInterval 5 -MaxSamples 60

이 명령은 5분 동안 5초마다 카운터를 샘플링하여 추세 데이터를 제공합니다.

추세 분석:

  • 시간이 지남에 따라 성능이 저하되고 있나요?

  • 하루 중 특정 시간에 문제가 표시 합니까?

  • 성능이 쿼리 볼륨과 상관 관계가 있나요?

이 데이터를 사용하여 다음을 수행합니다.

  • 용량 업그레이드를 계획합니다.

  • 구성 병목 상태를 식별합니다.

  • DNS 서버 설정을 최적화합니다.

포괄적인 성능 모니터링 지침은 HTTPS를 통한 DNS 모니터링을 참조하세요.