Помилка RDP підключення Outdated entry in the DNS cache

Користувачі стали скаржитися, що при спробі підключитися до RDS фермі (Remote Desktop Server) на базі Windows Server 2008 R2 за допомогою стандартного RD клієнта (mstsc.exe), періодично з'являлася помилка.

The connection can not be completed because the remote computer that was reached is not the one you specified. This could be caused by an outdated entry in the DNS cache. Try using the IP address of the computer instead of the name.

Конфігурація RDS ферми: 3 сервера під керуванням Windows Server 2008 R2 з RD Connection Broker, використовуваного для розподілу навантаження на термінали і можливості перепідключення до сесій. Той факт, що помилка плаваюча, відразу навів на думку, що є проблема з одним з серверів ферми. Шляхом послідовного перебору, знайшли проблемний сервер і підключилися до робочого столу з IP адресою.

Про всяк випадок запустив перереєстрацію записи сервера в DNS:

ipconfig / registerdns

А на клієнті через пару хвилин скинув локальний DNS кеш:

ipconfig / flushdns

Але ефекту не дало. Більш ніяких дивацтв з сервером виявлено не було, тому довелося скористатися послугами Google. Помилково відразу вийшов на статтю в базі знань Microsoft: https://support.microsoft.com/ru-ru/kb/2493594 (RDP connection to Remote Desktop server running Windows Server 2008 R2 may fail with message 'The Local Security Authority can not be contacted').

У запропонованому в статті вирішенні було запропоновано спробувати знизити рівень протоколу, використовуваного для шифрування RDP з'єднання з SSL (для аутентифікації використовується TLS 1.0) до RDP Security Layer (вбудоване, менш безпечне RDP шифрування).

Примітка. Ця установка знаходиться в розділі Remote Desktop Session Host Configuration -> Microsoft RDP 7.1 -> Properties -> Security Layer

Але в нашій конфігурації вже використовувався метод Negotiate, що має на увазі автоматичне перемикання з TLS на RDP Security Layer в разі, якщо клієнт не підтримує перший метод.

І тут абсолютно випадково виявляю, що час на проблемному сервері відстає від часу на контролері домену. І насправді виявилося, що цей сервер (він віртуальний) перебував на ESXi хості з неправильним часом, а в налаштуваннях VMWare Tools включена опція синхронізації часу з хостової гіпервізором (Time synchronization between the virtual machine and the ESX Server).

Довелося відключити синхронізацію з ESXi, і перезапустити службу часу Windows, щоб виконалася синхронізація часу з DC.

net stop w32time
net start w32time

Після цього користувачі стали підключатися до всіх серверів RDS ферми без помилок.

Примітка. Помилка "This could be caused by an outdated entry in the DNS cache" також з'являється, якщо намагатися підключатися до конкретного сервера в RDS ферми по імені. При такому способі підключення балансувальник Connection Broker може перенаправити клієнта на інший RD хост (з іншим DNS ім'ям і IP адресою), в результаті RDP клієнт виявить невідповідність між вказаною адресою та адресою сервера, на якому виконується авторизація, і видасть помилку. Тому при підключенні потрібно завжди вказувати ім'я RD ферми.