Вопрос или проблема
В нашей сети Windows у нас есть два контроллера домена: первичный A и вторичный B.
У нас также есть IIS на сервере, подключенном к домену.
Когда компьютер пользователя, подключенный к домену, делает запрос к серверу IIS, сервер IIS отправляет пакет DCERPC контроллеру домена. Однако IIS обращается только к одному из контроллеров примерно 200 минут, затем переключается и в течение следующих примерно 200 минут обращается ко второму контроллеру. Можно ли сделать так, чтобы он отправлял пакеты один раз одному контроллеру, а один раз другому?
Ответ или решение
NTLM DCERPC: Оптимизация работы с доменными контроллерами
Введение
В современных корпоративных сетях, где используется архитектура Active Directory, взаимодействие между клиентами и доменными контроллерами (DC) является ключевым аспектом. Ваша ситуация с IIS-сервером, который стабильно обращается к одному доменному контроллеру в течение 200 минут, а затем переключается на другой, поднимает важные вопросы о балансировке нагрузки и отказоустойчивости.
Проблема и контекст
Ваша сеть включает два доменных контроллера: первичный A и вторичный B. IIS, находясь на сервере, подключенном к домену, делает запросы через DCERPC (Distributed Component Object Model Remote Procedure Call), направляя все сетевые пакеты к одному контроллеру в течение длительного времени. Эта схема не обеспечивает оптимальное использование ресурсов и может создавать риски, связанные с отказом в случае проблем с DC.
Причины текущего поведения IIS
-
Настройки кэширования: IIS, вероятно, кэширует информацию о DNS или использует механизмы, которые поддерживают активное соединение с одним DC. Это может привести к ситуации, когда он продолжает использовать один DC до завершения времени жизни кэша (TTL).
-
NTLM аутентификация: Если ваш IIS сервер настроен на использование NTLM для аутентификации, это может также повлиять на выбор доменного контроллера, так как NTLM осуществляет аутентификацию в рамках одной сессии.
-
DNS и SRV записи: Записи SRV в DNS могут играть роль в разрешении имен доменных контроллеров. Но если конфигурация DNS не оптимальна, то это может привести к длительным периодам обращения к одному контроллеру.
Оптимизация конфигурации
Для достижения более равномерного распределения нагрузки между двумя доменными контроллерами, рассмотрите следующие настройки:
-
Обновление кэша DNS:
- Убедитесь, что время жизни (TTL) для DNS-записей, связанных с доменными контроллерами, установлено на разумные значения. Снижение TTL может повысить скорость переключения между DC.
-
Настройка балансировщика нагрузки:
- Внедрение балансировщика нагрузки на уровне сетевого слоя или уровня приложения может помочь распределить запросы между контроллерами более равномерно.
-
Механизм округления:
- Если ваши приложения позволяют, разработайте функцию, которая будет использовать один контроллер для определённого объема транзакций или по круговой схеме.
-
Изменение конфигурации IIS:
- Рассмотрите возможность изменения настроек аутентификации в IIS, чтобы использовать Kerberos вместо NTLM, если это возможно. Kerberos обеспечивает более эффективное управление сессиями и может улучшить взаимодействие с несколькими контроллерами.
-
Мониторинг и анализ:
- Используйте инструменты мониторинга для анализа заполнения нагрузки на каждый из доменных контроллеров. Это поможет прояснить, не возникает ли ситуации, когда один из DC перегружен, в то время как другой простаивает.
Заключение
Оптимизация работы с доменными контроллерами в контексте DCERPC – задача, требующая комплексного подхода. Настройки DNS, использование механизмов балансировки нагрузки и перенастройка сервисов аутентификации могут значительно повысить эффективность работы вашей сети и упростить управление ресурсами. Рекомендуется проводить регулярный аудит и анализ сети для выявления узких мест и повышения общей надежности системы.