Сайт ARNY.RU
Начну с главного: всё нормально и быстро настраивается. Опубликовать remoteapp в 2012 R2 без домена не получится, но это и не нужно. При обновлении 2008 R2 до 2012 R2 на этапе проверки совместимости, установка попросила удалить роль Удаленных рабочих столов. Удивился. Ладно.. После обновления стало понятно — Microsoft в очередной раз перехитрила саму себя: теперь нормально работать с RDP можно лишь в составе домена. Зачем.. Если у меня сервер 1С на 5 бухгалтеров, зачем мне роль AD DS? Думаю я не одинок в этом вопросе. Почитал в интернете — решение есть! Кто-то ставил роль контроллера домена, в виртуалке поднимал ещё один сервер, вводил в домен и на нём уже удаленные рабочие столы. Всё проще. Солюшенов несколько, решил собрать воедино.
Сервер
Установка роли
Службы удаленных рабочих столов (Remote Desktop Services), Далее, отмечаем чекбоксы: Лицензирование удаленных рабочих столов (Remote Desktop Licensing), Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) — со всем соглашаемся, установка, перезагрузка.
В Диспетчере серверов, в пункте меню Средства, появилась закладка — Terminal Services.
Настройка параметров RDP
Настройка всех параметров RDP теперь в групповых политиках. Отдельной графической оснастки, как было раньше, нет:
- Win+R — gpedit.msc — Конфигурация компьютера (Computer Configuration);
- Административные шаблоны (Administrative Templates) —
Компоненты Windows (Windows Components); - Службы удаленных рабочих столов (Remote Desktop Services) —
Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) —
Лицензирование (Licensing).
Редактируем два параметра:
- Использовать указанные серверы лицензирования удаленных рабочих столов (Use the specified Remote Desktop license servers) — включено — указываем имя сервера;
- Задать режим лицензирования удаленных рабочих столов (Set the Remote licensing mode) — включено — на пользователя.
В соседних ветках настраиваются все параметры подключения клиентов. Далее:
Диспетчер серверов — Локальный сервер — Terminal Services — Диспетчер лицензирования удаленных рабочих столов (Remote Desktop Licensing Manager) — Активировать сервер. Сведения об организации: обязательно нужно заполнить первую страницу, вторую можно оставить пустой.
После активации запускается Мастер установки лицензий:
- Выбираем Enterprise Agreement — Далее (бессмысленный набор цифр ищем в интернете, ищется легко, буквально вторая/третья ссылка) — вводим номер — Далее — выбираем число лицензий и тип На пользователя.
- Заходим Диспетчер серверов — Локальный сервер — Terminal Services — Средство диагностики, проверяем, что нет ошибок.
Создаем файл RDP
На примере 1С предприятия: открываем блокнот и помещаем туда следующую информацию, заменяя имя_сервера на действительное имя сервера:
Сохраняем файл, меняем расширение на rdp, раздаём пользователям.
Реестр
Правим реестр на сервере через блокнот:
Проверяем правильность путей и ключа для иконки, сохраняем с раcширением reg, закидываем в реестр. Проверяем. Если не работает, смотрим ветку TSAppAllowList, у меня это:
Возможные проблемы
Когда недавно делал по своей же инструкции, то получил сообщение, что приложения 1С нет в списке разрешенных, посмотрел на сервере ветку:
— она пустая. При копировании текста с сайта могут неправильно переноситься кавычки, поэтому после копирования все кавычки нужно подправить/проверить в блокноте вручную. И ещё раз проверить пути:
- Путь для иконки IconPathточно будет другой, нужно найти у себя в Windows\Installerправильный путь и заменить мою комбинацию 80897B76-D827-4270-808C-C8FCD379475Dна свою
- Path — для 1С 8.3 будет 1cv8\\common\\1cestart.exe,для 1С 8.2 1cv82\\common\\1cestart.exe
- ShortPath— тоже самое
Подключение через интернет
В файлике rdp вместо имя_сервера, можно использовать IP-адрес (или даже IP-адрес с портом через двоеточие). Это позволяет подключать клиентов через интернет и NAT:
- Пробросить на роутере рандомный внешний порт на внутренний 3389 сервера;
- Вбить в файлик rdp внешний реальник офиса с портом.
Конструкцию с RD Gateway считаю излишней, тем более если делается с пробросом 443 порта на внутренний ресурс, тем более что RD Gateway требует установки роли Web Server, то есть потребляет ресурсы — чем проще, тем надежнее. После настройки роли RDP и проверки работоспособности смело можно удалить даже фичи для администрирования RDP — они больше не нужны.
Клиенты
Клиенты MAC
Добавляем клиентов MAC OS X:
- Обновляем встроенный в MAC OS X RDP-клиент от MS на последнюю версию;
- Отключаем проверку подлинности.
Если режим RemoteApp не нужен, то на этом всё. Если нужен — берём файл rdp, созданный по описанию выше для Windows, меняем имя_сервера на IP-адрес, закидываем на мак и всё работает.
Клиенты Windows XP
Добавляем клиентов Windows XP:
- SP3 должен быть установлен;
- Включаем проверку подлинности на уровне сети (NLA). Тут обновляем RDP-клиент, потом включаем NLA. Сначала КB969084, ребут, потом FixIt. Скачать можно с моего Гугл-драйва.
Клиенты Android
Наверное последнее, что нужно сказать по этой теме — для Андроида тоже есть RD Client от MS — функционирует он штатно и нормально. Приложение бесплатное, загружается через Play Market. Как и для Mac’а файл rdp, закинутый на Андроид, запустится с помощью этого приложения — но логин и пароль при этом сохранить невозможно, а нужно вводить каждый раз. Связана такая ситуация, с тем, что в новых версиях RDP учетные данные не сохраняются в самом файле rdp, а хранятся в отдельной базе данных. На компьютере эти данные можно посмотреть в Панель управления\Учетные записи пользователей\Диспетчер учетных данных, либо Выполнить — control userpasswords2, что тоже самое. Где искать в Андроиде? Не знаю, да и не очень интересно, так как remoteapp для телефонов и планшетов больше блажь, чем реальная потребность. Обычная RDP-сессия работает? — Работает. Этого достаточно.
Три способа повысить защиту RDP
- Уровень безопасности SSL;
- Уровень шифрования FIPS-совместимый;
- Подключения принимаются только от клиентов с NLA.
Траблшутинг
Залипания
Если возникают на 1 клиентском компьютере, нужно проверить сам компьютер и такие вещи как драйвера на видеокарту, количество свободных ресурсов, потому как залипание может происходить в моменты, когда жесткий диск свопит изо всех сил и даже мышку. Была курьёзная ситуация (несвязанная с данной проблемой), что при нажатии на кнопку мыши щелчок есть, а фактически нажатия нет, поменяли мышку, всё работает.
Если же залипание массовое и с ресурсами сервера всё в порядке, то проблема 90% сетевая. В 2012 R2 для RDP используется как TCP, так и UDP или только TCP. Нужно проверить, что UDP используется. Статья в помощь. Сайт MS. Таже нужно просмотреть политики.
Область применения
Статейка написана давно, более чем 2 года назад, тогда Windows Server 2012 R2 был ещё относительно свежим и хотелось разобраться как же это всё настроить. Был накидан рабочий черновик – вот эта заметка и ни на какую полноту она не претендует. С тех пор поднято несколько серверов в данном режиме, которые работают так по сей день. Тема исчерпана, но вопросы идут и некоторые люди не понимают нишу использования remoteapp, зачем такой режим, почему именно для 1C, какой тут смысл и в чём заключается выигрыш. Вещи-то очевидные, но раз так, то надо сказать пару слов.
Remoteapp не панацея
А именно есть очень толстые минусы как RDP в целом, так и remoteapp в частности:
- Каждый раз когда пользователь хочет сохранить файл, ему открываются диски удалённой машины. Есть варианты, но это неудобно в работе;
- Далеко не все пользователи продвинутые и с компьютером «на ты», многие очень тяжело воспринимают remoteapp, они путаются где какой диск, сложно и затратно по времени растолковать им данный режим работы;
- Для запуска remoteapp нужно время, так как на сервере должен загрузиться пользовательский сеанс;
- При закрытии приложения сеанс отключается и нужно ждать его завершения (минимум 1 минута), если в сеансе открыт конкретный фал, он будет блокирован на запись. Можно разрешить множественные сеансы для пользователя или можно убрать ограничения для отключенного сеанса, тогда возникают другие проблемы;
- В зависимости от версии Windows Server могут возникать различные глюки, связанные с временными задержками (не помню точно в какой версии сервера, но загружается сеанс и его нельзя завершить
30 секунд сразу после загрузки, было такое);
Может что-то даже упустил из виду, хотя и так немало. Поэтому использовать remoteapp нужно тогда, когда это действительно необходимо.
Примечание. Очень хороший пример когда не нужно использовать remoteapp — Word и Exel.
Зачем 1С Remoteapp?
Схема применения 1С может варьироваться в очень широких пределах от локальной однопользовательской базы до сотен пользователей и кластера серверов. Возьмем классический вариант: многопользовательская база на 5-15 пользователей. Работа с такой базой, даже на 5 человек, генерирует большой сетевой трафик и сама база требует серьёзной вычислительной мощности. Вот отсюда и два варианта применения remoteapp для 1С:
- Если чистый файловый вариант базы и как раз 5-6 человек, потому как больше такая схема не потянет, тогда весь обсчёт на клиентах – для того чтобы перенести обсчёт с клиентов на сервер. Это позволяет увеличить число клиентов и одновременно значительно повысить скорость работы без внедрения СУБД;
- Удаленная работа через медленные либо лимитные каналы связи как в файловом варианте, так и в клиент-серверном – передавать изображение намного выгоднее по объёму трафика, чем трафик 1С.
Remoteapp vs классический RDP
Обычно в случае 1С — база на сервере, а вот документы для работы — на локальном компьютере. Всё время сворачивать и разворачивать окно RDP неудобно, remoteapp тут гораздо комфортнее.
Исключения
- Если все клиентские машины достаточно мощные (Core i3 и выше), баз мало (1-2-3), базы файловые, сеть локальная гигабитная, пользователей не больше, скажем, 5 и работа с базой не слишком интенсивная — тут даже сервер не нужен, подойдёт любой компьютер с гигабитной сетевой картой и быстрым диском. Важный момент, что все машины мощные, так как 1 слабый компьютер станет узким местом и скорость работы будет равняться по нему;
- При удалённой работе есть альтернатива remoteapp — веб публикация 1С. У каждого из этих решений свои плюсы и минусы.
Почему 2012 R2
C чистой 2012 без R2 встретиться в работе не удалось и ничего про неё не скажу, но если сравнивать 2008 R2 и 2012 R2, то последняя имеет значительно перелопаченный код, как следствие быстрее работает на том же самом железе, а сетевой стек до 30% быстрее. Поддержка самого железа, особенно различных RAID-контроллеров, тоже лучше и если на 2008 R2 драйвер при установке нужно подпихивать, то в 2012 R2 он скорее всего уже встроен — сталкивался несколько раз. Поддержка RDP 8.1.
Windows Server 2016 уже тоже в продакшене, имеет ряд преимуществ над 2012 R2, но для новых плюшек, таких как вложенная виртуализация, требует современного железа. По этой причине 2012 R2 более универсален.
ItHelp
remoteapp в 2012 R2 без домена
Начну с главного: всё нормально и быстро настраивается. Опубликовать remoteapp в 2012 R2 без домена не получится, но это и не нужно. При обновлении 2008 R2 до 2012 R2 на этапе проверки совместимости, установка попросила удалить роль Удаленных рабочих столов. Удивился. Ладно.. После обновления стало понятно – Microsoft в очередной раз перехитрила саму себя: теперь нормально работать с RDP можно лишь в составе домена. Зачем.. Если у меня сервер 1С на 5 бухгалтеров, зачем мне роль AD DS? Думаю я не одинок в этом вопросе. Почитал в интернете – решение есть! Кто-то ставил роль контроллера домена, в виртуалке поднимал ещё один сервер, вводил в домен и на нём уже удаленные рабочие столы. Всё проще. Солюшенов несколько, решил собрать воедино.
Сервер
Установка роли
Службы удаленных рабочих столов (Remote Desktop Services), Далее, отмечаем чекбоксы: Лицензирование удаленных рабочих столов (Remote Desktop Licensing), Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) – со всем соглашаемся, установка, перезагрузка.
В Диспетчере серверов, в пункте меню Средства, появилась закладка – Terminal Services.
Настройка параметров RDP
Настройка всех параметров RDP теперь в групповых политиках. Отдельной графической оснастки, как было раньше, нет:
- Win+R – gpedit.msc – Конфигурация компьютера (Computer Configuration);
- Административные шаблоны (Administrative Templates) –
Компоненты Windows (Windows Components); - Службы удаленных рабочих столов (Remote Desktop Services) –
Узел сеансов удаленных рабочих столов (Remote Desktop Session Host) –
Лицензирование (Licensing).
Редактируем два параметра:
- Использовать указанные серверы лицензирования удаленных рабочих столов (Use the specified Remote Desktop license servers) – включено – указываем имя сервера;
- Задать режим лицензирования удаленных рабочих столов (Set the Remote licensing mode) – включено – на пользователя.
В соседних ветках настраиваются все параметры подключения клиентов. Далее:
Диспетчер серверов – Локальный сервер – Terminal Services – Диспетчер лицензирования удаленных рабочих столов (Remote Desktop Licensing Manager) – Активировать сервер. Сведения об организации: обязательно нужно заполнить первую страницу, вторую можно оставить пустой.
После активации запускается Мастер установки лицензий:
- Выбираем Enterprise Agreement – Далее (бессмысленный набор цифр ищем в интернете, ищется легко, буквально вторая/третья ссылка) – вводим номер – Далее – выбираем число лицензий и тип На пользователя.
- Заходим Диспетчер серверов – Локальный сервер – Terminal Services – Средство диагностики, проверяем, что нет ошибок.
Создаем файл RDP
На примере 1С предприятия: открываем блокнот и помещаем туда следующую информацию, заменяя имя_сервера на действительное имя сервера:
Сохраняем файл, меняем расширение на rdp, раздаём пользователям.
Реестр
Правим реестр на сервере через блокнот:
Проверяем правильность путей и ключа для иконки, сохраняем с раcширением reg, закидываем в реестр. Проверяем. Если не работает, смотрим ветку TSAppAllowList, у меня это:
Возможные проблемы
Когда недавно делал по своей же инструкции, то получил сообщение, что приложения 1С нет в списке разрешенных, посмотрел на сервере ветку:
– она пустая. При копировании текста с сайта могут неправильно переноситься кавычки, поэтому после копирования все кавычки нужно подправить/проверить в блокноте вручную. И ещё раз проверить пути:
- Путь для иконки IconPathточно будет другой, нужно найти у себя в Windows\Installerправильный путь и заменить мою комбинацию 80897B76-D827-4270-808C-C8FCD379475Dна свою
- Path – для 1С 8.3 будет 1cv8\\common\\1cestart.exe,для 1С 8.2 1cv82\\common\\1cestart.exe
- ShortPath– тоже самое
Подключение через интернет
В файлике rdpвместо имя_сервера, можно использовать IP-адрес (или даже IP-адрес с портом через двоеточие). Это позволяет подключать клиентов через интернет и NAT:
- Пробросить на роутере рандомный внешний порт на внутренний 3389 сервера;
- Вбить в файлик rdpвнешний реальник офиса с портом.
Конструкцию с RD Gateway считаю излишней, тем более если делается с пробросом 443 порта на внутренний ресурс, тем более что RD Gateway требует установки роли Web Server, то есть потребляет ресурсы – чем проще, тем надежнее. После настройки роли RDP и проверки работоспособности смело можно удалить даже фичи для администрирования RDP – они больше не нужны.