Windows Server 2008은 일반 TCP DNS 요청을 전달자에게 보냅니다.

Windows Server 2008은 일반 TCP DNS 요청을 전달자에게 보냅니다.

우리 조직의 기본 DNS 서버는 두 개의 Forwarder가 설정된 Windows Server 2008입니다. 나는 우연히 우리 방화벽에서 이 ​​서버가 표준 UDP 쿼리 외에도 전달자에게 정기적인 TCP 요청을 보내고 있다는 것을 발견했습니다. 서버에서 Wireshark를 실행했는데 속도가 다양하지만 초당 약 2패킷인 것을 확인했습니다. 모든 패킷은 거의 동일합니다.

<server> <forwarder> TCP 62 55148 > domain [SYN] Seq=0 Win=8192 Len=0 MSS=1460 SACK_PERM=1

때때로 전달자가 재설정으로 응답합니다.

<forwarder> <server> TCP 60 domain > 55148 [RST, ACK] Seq=1 Ack=0 Win=0 Len=0

이는 정상적이고 예상되는 동작입니까, 아니면 우려해야 합니까? 다른 DNS 서버에서는 이와 동일한 동작을 보이지 않습니다. 이것은 TCP를 통해 일부 DNS 패킷을 보내는 유일한 Windows 서버입니다.

답변1

해당 패킷 캡처를 좀 더 자세히 살펴보면 이러한 TCP 요청이 512바이트의 잘린 UDP 응답을 따른다는 것을 알 수 있습니다. 또는 영역 전송을 수행하려는 시도일 수도 있지만 포워더라고 말씀하셨기 때문에 이 말을 믿을 가능성이 낮아졌습니다.

UDP를 통해 EDNS가 작동하지 않는 경우 DNS 소프트웨어가 전체 패킷을 얻기 위해 TCP 재시도를 시도하는 것이 일반적입니다. [SYN]그 뒤에는 [RST, ACK]원격 서버가 해당 포트에서 수신 대기 중이 아니며 일반적인 "연결이 거부되었습니다"를 반환함을 의미합니다.

실제로 그런 일이 일어나고 있다면 원격 서버가 TCP 세션을 거부하는 이유를 알아내야 합니다. 전체 응답 페이로드를 얻을 수 없는 DNS 서버의 영향은 전적으로 이를 요청하는 애플리케이션과 해당 데이터가 사용되는 방식에 따라 달라집니다.

관련 정보