RDP работает после перезагрузки, затем перестает работать через час или около того, а потом снова начинает работать.

Вопрос или проблема

Среда: Все контроллеры домена и серверы-члены работают под управлением Windows Server 2019. Функциональный уровень леса/домена AD — 2016. Учетные записи защищены с использованием PKI/смарт-карт.

У меня возникают проблемы с серверами в сети — вход через RDP периодически не удается. Сразу после перезагрузки RDP работает. Через пару часов вход через RDP снова не удается, а через некоторое время начинает работать опять.

В журнале безопасности на контроллерах домена (у контроллеров домена также есть эта проблема) отображается успешный вход для пользователя, пытающегося подключиться через RDP. Журнал Operational Log службы Remote Desktop Services-RdpCoreTS показывает отключение по «причине 14».

Последовательность событий в журнале RDP выглядит следующим образом:

  1. Событие 131 – Сообщение: Сервер принял новое TCP соединение от клиента
  2. Событие 65 – Сообщение: Создано соединение RDP-Tcp#3
  3. Событие 72 – Сообщение: Вызван метод интерфейса: Подготовка к принятию
  4. Событие 72 – Сообщение: Вызван метод интерфейса: Отправка данных политики
  5. Событие 141 – Сообщение: Начата сессия PerfCounter с идентификатором экземпляра 3
  6. Событие 142 (ПРЕДУПРЕЖДЕНИЕ) – Сообщение: Операция TCP Socket READ завершилась неудачей, ошибка 64
  7. Событие 226 (ПРЕДУПРЕЖДЕНИЕ) – Сообщение: RDP_TCP: Ошибка при переходе из StateUnknown в ответ на Event_Disconnect (код ошибки 0x80070040)
  8. Событие 72 – Сообщение: Вызван метод интерфейса: OnDisconnected
  9. Событие 102 – Сообщение: Сервер завершил основное RDP соединение с клиентом
  10. Событие 145 – Сообщение: За время этого соединения сервер не отправил данные или обновление графики в течение 0 секунд (Idle1: 0, Idle2: 0)
  11. Событие 148 – Сообщение: Канал rdpinpt был закрыт между сервером и клиентом на транспортном туннеле: 0.
  12. Событие 148 – Сообщение: Канал rdpcmd был закрыт между сервером и клиентом на транспортном туннеле: 0.
  13. Событие 148 – Сообщение: Канал rdplic был закрыт между сервером и клиентом на транспортном туннеле: 0.
  14. Событие 103 – Сообщение: Причина отключения – 14

Что я пробовал:

  1. Перезапускать службы по одной и пытаться войти в систему
  2. Отключить службу NLA через изменение реестра
  3. Проверить kerberos, так как я вижу события Security-Kerberos в системном журнале. Эти события показывают попытку использования SPN “ldap/<domain fqdn>” и “ldap/localhost”, но эти события появляются еще до попытки входа, так что, вероятно, это ложный след
  4. Проверить настройки локальной политики в разделе RD Session Host, включив “Требовать использования определенного уровня безопасности для RDP соединений” и установив его на “RDP”
  5. Отключить UDP через изменение реестра в HKLM:\Software\Policies\Microsoft\Windows NT\Terminal Services\Client”
  6. Другие изменения реестра под этим же ключом реестра
  7. Пробовал учетные записи с именем пользователя и паролем, но безуспешно

Надеюсь, кто-нибудь здесь сможет помочь.

Ответ или решение

Теория:

Проблема с прерыванием работы удаленного рабочего стола (RDP) является достаточно распространенной в корпоративных средах и требует детального анализа как программных, так и сетевых аспектов. В описанной ситуации, где RDP работает после перезагрузки, а затем перестает функционировать через несколько часов, сразу бросается в глаза, что проблема может быть связана с сетевой конфигурацией, настройками безопасности, или может указывать на ошибки в конфигурации служб или драйверов. RDP протокол корректно обрабатывает подключения при старте, и это показывает, что глубинные программные ошибки маловероятны, но возможность конфликтов с определёнными службами или политиками не исключена. Регулярные неудачи при повторных попытках указывают на то, что что-то изменяется в состоянии системы или сети, что приводит к сбоям в работе RDP.

Примеры:

На основании предоставленных логов и сообщения об ошибке "reason 14" (означает разрыв подключения по причине таймаута поддержания соединения), возможно, что проблема кроется в политиках сетевой безопасности или неправильно настроенном мониторинге активности. Сетевые устройства могут автоматически выполнять операции блокировки или сброса сессий, основываясь на перерывах в передаче данных.

Событие 142 и ошибка TCP Socket READ с кодом 64 свидетельствуют о непредвиденной сетевой ошибке, которая, как правило, связана с проблемами на нижнем уровне TCP/IP или с нехваткой ресурсов для обработки входящих соединений. Это может происходить, если службы RDP сталкиваются с превышением или исчерпанием лимитов соединений или ресурсов.

Общие причины возникновения подобных ситуаций:

  • Некорректные или устаревшие политики групповой политики, особенно касающиеся безопасности, сетевых настройках и контроля доступа.
  • Неоптимальные политики таймаута соединения, установленные на уровне сервера или сети.
  • Проблемы с сертификатами и аутентификацией, особенно в средах с использованием PKI/smartcard.

Применение:

Предлагаем пошаговый подход для решения проблемы:

  1. Проверка и настройка сетевых параметров:

    • Убедитесь, что сетевые соединения, особенно на маршрутизаторах и коммутаторах, не подвержены таймаутам или блокировкам при отсутствии активности.
    • Проверьте максимальное количество подключений и установите соответствующие пределы.
  2. Анализ и корректировка настроек безопасности:

    • Перепроверьте настройки групповой политики в Active Directory и сетевой политики, обеспечивающие удалённый доступ. Убедитесь, что политики не накладывают излишние ограничения на сессии RDP.
    • Переустановите или обновите сертификаты, связанные с PKI/smartcard, так как истекающие или некорректно настроенные сертификаты могут стать причиной неудач аутентификации.
  3. Мониторинг и логирование:

    • Включите более детализированный мониторинг RDP и сетевой активности для уточнения диагноза проблемы.
    • Рассмотрите возможность использования инструментов диагностики, таких как Wireshark, для анализа пакетов, чтобы выявить какие пакеты или процессы вызывают разрыв соединения.
  4. Обновление и проверка актуальности ПО:

    • Проверьте актуальность обновлений для всех компонентов, включая драйверы сетевых интерфейсов и сервисы Windows.
    • Примените последние патчи и апдейты, которые могут содержать исправления ошибок, влияющих на работу RDP.
  5. Тестирование с изменением конфигурации:

    • Испытайте изменение конфигураций, таких как отключение специфических компонентов, сохраняющих состояние сессий, чтобы изолировать и выявить причину проблемы.

Ваши попытки с изменением реестра и отключением UDP уже показывают, что вы на правильном пути, но проблема может потребовать более глубокого анализа как на уровне настроек, так и на уровне взаимодействий компонентов сети. Если применение всех вышеперечисленных шагов не приносит результаты, может потребоваться консультация со специалистами в области сетевых технологий или с технической поддержкой Microsoft для проведения полноценного аудита и нахождения специализированного решения.

Оцените материал
Добавить комментарий

Капча загружается...