После установки обновления безопасности 953230 (MS08-037) для службы DNS-сервера возникают проблемы с сетевыми службами, работающими с протоколом UDP


Проблема


После установки обновления безопасности 953230 (MS08-037) для службы DNS-сервера и перезагрузки компьютера могут возникнуть проблемы с сетевыми службами, работающими с протоколом UDP. После установки обновления безопасности 953230 на компьютере с операционной системой Windows 2000, Windows Server 2003 или Windows Server 2008 службы, работа которых зависит от порта UDP, могут перестать запускаться. Проблема возникает, если служба назначается службе DNS-сервера после установки обновления безопасности 953230.

Причина


Проблема возникает потому, что служба не может получить доступ к порту, который требуется ей для правильной работы. Это связано с изменениями распределения портов в службе DNS после установки обновления безопасности 953230.

По умолчанию после установки обновления безопасности 953230 служба DNS-сервера в произвольном порядке распределяет 2500 портов из диапазона временных портов. Это новый режим, введенный в данном обновлении. Может возникнуть конфликт, если один из этих портов, назначаемых в случайном порядке, используется конфликтующей службой.

Конфликты служб более вероятны на многоролевых серверах, которые выполняют дополнительные роли, включая функцию DNS-сервера. В связи с тем, что эти порты распределяются в случайном порядке, сбои могут возникать время от времени.

Например, конфликт может возникнуть в службе Windows IPsec. Служба IPsec использует UDP-порт 4500. На DNS-сервере, который также выполняет службы IPsec, конфликт портов может препятствовать запуску службы IPsec.

Временное решение


Чтобы решить эту проблему, необходимо зарезервировать UDP-порт из диапазона временных портов, чтобы гарантировать возможность запуска службы, зависящей от этого порта.

Дополнительные сведения о резервировании временных портов см. в следующей статье базы знаний Майкрософт:
812873 Резервирование диапазона временных портов на компьютере с системой Windows Server 2003 или Windows 2000 Server (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
Дополнительные сведения о сетевых UDP-портах, которые могут вызывать конфликт, см. в следующей статье базы знаний Майкрософт:
832017 Службы и сетевые порты в серверных системах Microsoft Windows
В примере со службой IPsec, приведенном выше, можно добавить порты 4500–4500 с помощью раздела реестра ReservedPorts.

Дополнительная информация


Подробное описание причины

Ниже приведено более подробное описание причин возникновения проблемы.

Присвоение портов-источников DNS-сервера в произвольном порядке и реализация SocketPool

В обновлении безопасности для DNS-сервера резервируется набор портов при произвольном назначении запросов. Это было сделано для решения проблем с производительностью DNS-серверов, которые обрабатывают и отправляют значительно большее количество запросов в сравнении с клиентами с ОС Windows. Набор зарезервированных для DNS-сервера портов далее называется «группой портов».

Стандартный размер группы портов на сервере с ОС Windows — 2500 портов. Это значение можно настроить, изменив параметр реестра SocketPoolSize в следующем подразделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Parameters\SocketPoolSize
Примечание. Чтобы изменения параметра SocketPoolSize вступили в силу, необходимо перезапустить службу DNS.

Windows 2000 и Windows Server 2003
  • Назначение временных портов и параметр реестра MaxUserPort
    Порты, которые назначаются как часть группы портов, запрашиваются из набора доступных временных портов сервера. Временные порты временно назначаются стеком TCP/IP в ходе создания «временных связей», когда требуемый порт первоначального источника не указывается.

    На серверах с операционной системой Windows параметр реестра MaxUserPort определяет диапазон временных портов и наибольшее количество портов, которое может быть назначено для временных портов. Параметр реестра MaxUserPort находится в следующем подразделе реестра:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\
    Дополнительные сведения о параметре реестра MaxUserPort см. на веб-узле корпорации Майкрософт по следующему адресу:
  • Эффективный диапазон временных портов при явном указании значения параметра реестра MaxUserPort
    В операционных системах Windows Server 2003 и Windows 2000 Server значение параметра реестра MaxUserPort определяет диапазон временных портов. Диапазон включает порты с номерами с 1024 по значение, определяемое параметром реестра MaxUserPort.

    После установки обновления безопасности 953230 на сервере с системой Windows Server 2003 и платформами предыдущих версий справедливо следующее:

    • если значение параметра реестра MaxUserPort задано, порты назначаются произвольно из диапазона [1024, MaxUserPort];
    • если значение параметра реестра MaxUserPort не задано, порты назначаются произвольно из диапазона [49152, 65535].
Windows Server 2008
  • Назначение временных портов и параметр реестра MaxUserPort
    В операционных системах Windows Server 2008 и Windows Vista значение параметра реестра MaxUserPort определяет число временных портов. Этот диапазон определяется значениями [начальный порт, начальный диапазон + MaxUserPort]. Начальный порт по умолчанию — 49152.
  • Эффективный диапазон временных портов
    Перед установкой обновления безопасности 953230 на компьютере с системой Windows Server 2008 назначение временных портов происходит в диапазоне портов [49152–65535]. После установки обновления безопасности 953230 режим распределения портов не изменяется.
    Дополнительные сведения об этом обновлении для системы безопасности и известных проблемах, возникающих после установки определенных его выпусков см. в следующей статье базы знаний Майкрософт:

    929851 Изменение динамического диапазона портов TCP/IP по умолчанию в операционных системах Windows Vista и Windows Server 2008 (Эта ссылка может указывать на содержимое полностью или частично на английском языке)

Статус


Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе "Информация в данной статье применима к".