Основной DNS-сервер нашей организации — Windows Server 2008, на котором установлены два переадресатора. Я случайно заметил на нашем брандмауэре, что этот сервер отправляет обычные TCP-запросы переадресаторам в дополнение к стандартным UDP-запросам. Я запустил 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-серверы демонстрировали такое же поведение. Это наш единственный сервер Windows, который отправляет некоторые DNS-пакеты через TCP.
решение1
Если вы немного углубитесь в эти пакетные захваты, вы, вероятно, обнаружите, что эти TCP-запросы следуют за усеченным UDP-ответом в 512 байт. Альтернативно, это может быть попыткой выполнить передачу зоны, но тот факт, что вы сказали, что это был пересылающий сервер, заставляет меня меньше верить в это.
При отсутствии работающего EDNS по UDP программное обеспечение DNS часто пытается повторить TCP-запрос, чтобы получить полный пакет. [SYN]
Это [RST, ACK]
означает, что удаленный сервер не прослушивает этот порт, и возвращает классическое сообщение «соединение отклонено».
Если это действительно так, вам нужно выяснить, почему удаленный сервер отклоняет сеансы TCP. Влияние того, что DNS-сервер не может получить полную полезную нагрузку ответа, будет полностью зависеть от того, какое приложение ее запрашивает и как используются эти данные.