В этом посте я хочу представить достаточно интересную информацию о проблеме, над которой я недавно работал. Если вы когда-либо сталкивались с подобной проблемой, я думаю это поможет вам ее решить.
Проблема: Службы Microsoft Forefront Treat Management Gateway (TMG) не стартуют. Для того, чтобы запустить службы, заказчику приходилось удалять настройки NLB и снова их воспроизводить каждый раз, когда это случалось.
Поиск причины и решение:
Мы просмотрели журналы событий и обнаружили следующие записи:
Error | server1 | 21235 | Microsoft Forefront TMG Control | Failed to configure Network Load Balancing to work with Forefront TMG |
Information | server1 | 14181 | Microsoft Forefront TMG Control | The Forefront TMG Control service was stopped gracefully |
Я предложил заказчику проверить на проблемном сервере следующую запись реестра:
HKLM\System\CurrentControlSet\Services\WLBS\Parameters\Global\EnableTCPNotification
Упомянутая запись отсутствовала в реестре, поэтому я предложил создать ее и установить ее значение в 2:
HKLM\System\CurrentControlSet\Services\WLBS\Parameters\Global
Dword name: EnableTCPNotification
Dword Value: 2
После добавления записи в реестр мы перезагрузили сервер. Службы TMG запустились без каких-либо проблем.
Объяснение:
Когда интегрированная в операционную систему служба NLB настроена в массиве TMG, служба Microsoft Forefront TMG Control зависит от правильной конфигурации NLB. TMG управляет NLB через службу NLB, и ответственна за ее конфигурирование. Если службе Microsoft Forefront TMG Control не удается выполнить конфигурацию NLB, то одно из событий, которые могут появиться в данном случае – это событие с ID 21235. Это событие обычно появляется при инициализации службы Microsoft Forefront TMG Control.
В данном случае, событие с кодом 21235 появляется потому, что служба TMG просматривает записи реестра, чтобы определить, установлено ли TCP Connection Callback в значение, предусматривающее использование альтернативного обратного вызова (alternate callback). Это необходимо при использовании NLB, и в случае, если эта запись отсутствует, генерируется указанное событие.
Запись, указывающая значение TCP Connection Callback находится по следующему пути реестра:
HKLM\System\CurrentControlSet\Services\WLBS\Parameters\Global\
Запись имеет имя EnableTCPNotification и должна быть установлена в 2, что соответствует значению NLB_CONNECTION_CALLBACK_ALTERNATE.
Дополнительную информацию по этому параметру вы можете найти в следующей статье TechNet в описании события с ID 81.
NLB Connection Tracking and Load Balancing: http://technet.microsoft.com/en-us/library/dd363974(v=ws.10).aspx
Хочу поблагодарить Escalation Engineer Eric Detoc за помощь в анализе этого события и определении соответствующего ключа реестра.
Автор:
Suraj Singh — Security Support Escalation Engineer, Microsoft CSS Forefront Security Edge Team
Рецензент:
Richard Barker — Sr Security Support Escalation Engineer, Microsoft CSS Forefront Security Edge Team
Оригинал:
Страницы в социальных сетях:
Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VKontakte: https://vk.com/inpowershell