1С на терминальном сервере: роль RDS, RemoteApp, лицензии и защита
Содержание
Чтобы работать в 1С через терминал, на Windows Server ставят роль «Службы удалённых рабочих столов» (RDS), устанавливают туда платформу 1С 8.3 для всех пользователей, раздают общий список баз и подключают сотрудников по RDP — целым рабочим столом или только окном программы через RemoteApp. Пользователь запускает обычный клиент mstsc, а 1С фактически работает на сервере.
Отдельно решают два вопроса лицензий: клиентские лицензии Microsoft на подключения (RDS CAL) и лицензии 1С на каждый сеанс. Без них подключение к 1С как к терминалу проработает недолго: у RDS есть льготный период 120 дней, у 1С льготного периода нет.
Как устроен терминальный доступ к 1С и какое железо нужно
Схема простая: у пользователя только RDP-клиент, а программа, кэш, печать и обмен с базой идут на сервере. По сети до офиса гоняется картинка экрана, поэтому 1С через терминал нормально работает даже на медленном канале.
Возможны три варианта размещения базы:
| Вариант | Где база | Когда подходит |
|---|---|---|
| Файловая база на терминальном сервере | Локальный диск этого же сервера | До 5–10 одновременных пользователей, небольшие объёмы |
| Клиент-серверная база, сервер 1С на той же машине | Сервер 1С + СУБД рядом с RDS | Небольшая компания, один мощный сервер |
| Клиент-серверная база, отдельный сервер 1С | Отдельная машина в той же локальной сети | От 15–20 пользователей, тяжёлые конфигурации |
Ориентиры по ресурсам (примерно, для типовых конфигураций вроде БП 3.0 и ЗУП 3.1):
- 🧠 Память: 4 ГБ на систему плюс ориентировочно 400–700 МБ на сеанс тонкого клиента ; толстый клиент съедает заметно больше.
- ⚙️ Процессор: важнее частота ядра, чем их число. 1 ядро на 3–5 активных пользователей — рабочий минимум.
- 💾 Диск: только SSD. Профили пользователей и кэш 1С пишутся постоянно.
- 🖥️ ОС: Windows Server 2016 и новее.
Если база файловая — держите её на локальном диске терминального сервера, а не в сетевой папке. Разница в скорости бывает в разы: все сеансы читают файл 1Cv8.1CD без сети.
Шаг 1. Устанавливаем роль служб удалённых рабочих столов
Сервер лучше ввести в домен: мастер полного развёртывания RDS и публикация RemoteApp через «Диспетчер серверов» рассчитаны на доменную среду.
- Откройте
Диспетчер серверов → Управление → Добавить роли и компоненты. - Выберите тип установки «Установка служб удалённых рабочих столов».
- Для одного сервера подходит «Быстрый запуск», затем «Развёртывание рабочих столов на основе сеансов».
- Укажите текущий сервер и запустите установку. Сервер перезагрузится.
- После перезагрузки в «Диспетчере серверов» появится раздел «Службы удалённых рабочих столов» с коллекцией
QuickSessionCollection.
Затем настройте лицензирование RDS:
- Добавьте роль «Лицензирование удалённых рабочих столов» (можно на этот же сервер).
- В оснастке «Диспетчер лицензирования удалённых рабочих столов» активируйте сервер и установите купленные RDS CAL.
- Укажите режим лицензирования («На пользователя» или «На устройство») и адрес сервера лицензий через групповую политику:
Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Узел сеансов удалённых рабочих столов → Лицензирование.
Режим лицензирования в политике должен совпадать с типом купленных CAL. Ключи «на пользователя» при режиме «на устройство» не выдаются, и после льготного периода подключения прекратятся.
Добавьте сотрудников в локальную группу «Пользователи удалённого рабочего стола» или в доменную группу, которая в неё входит. Без этого RDP-вход будет отклонён.
Шаг 2. Ставим 1С на терминальный сервер для всех пользователей
Платформу устанавливают один раз на сервер, а не каждому пользователю. Перед установкой переключите сервер в режим установки — так программа корректно пропишется для всех сеансов:
change user /install
setup.exe
change user /execute
При установке отметьте компоненты:
- ✅ «1С:Предприятие» (толстый клиент) — если кто-то работает в толстом клиенте или в конфигураторе;
- ✅ «1С:Предприятие — тонкий клиент» — основной режим для терминала;
- ✅ «Модули расширения веб-сервера» — понадобятся, если параллельно публикуете базу на веб-сервере;
- ✅ «Администрирование сервера 1С:Предприятия» — если сервер 1С стоит здесь же.
По умолчанию платформа ставится в C:\Program Files\1cv8\, номер версии — отдельной папкой, а общий стартер лежит в C:\Program Files\1cv8\common\1cestart.exe.
Общий список баз вместо ручной настройки
Чтобы не добавлять базы каждому сотруднику, создайте один файл списка и подключите его всем:
- Сформируйте файл
ibases.v8iс нужными базами (например, у себя в профиле через «Добавить» в окне запуска, затем скопируйте файл). - Положите его в общую папку, например
C:\1C\ibases.v8i. - Откройте файл
C:\ProgramData\1C\1CEStart\1CEStart.cfgи добавьте строку:
CommonInfoBases=C:\1C\ibases.v8i
Теперь у каждого пользователя в окне запуска появятся общие базы. Личные списки при этом сохраняются.
Если сотрудник работает только в одной базе, можно сразу запускать её без окна выбора: в ярлыке или в RemoteApp передайте параметры ENTERPRISE /F"C:\Bases\Buh" для файловой базы или ENTERPRISE /S"srv1c\buh" для серверной.
Публикация 1С через RemoteApp
RemoteApp показывает пользователю только окно 1С, без рабочего стола сервера. Выглядит как обычная программа на его компьютере.
- В «Диспетчере серверов» откройте
Службы удалённых рабочих столов → Коллекции → QuickSessionCollection. - В блоке «Программы RemoteApp» выберите задачу «Опубликовать программы RemoteApp».
- Если 1С нет в списке, нажмите «Добавить» и укажите
C:\Program Files\1cv8\common\1cestart.exe. - Опубликуйте. Для пользователя RemoteApp раздаётся через веб-доступ RD Web или готовым
.rdp-файлом.
Публикуйте именно 1cestart.exe, а не исполняемый файл из папки конкретной версии. Стартер сам выбирает нужную версию платформы. Если опубликовать 1cv8c.exe из папки 8.3.xx.xxxx, после обновления платформы ярлык поведёт на старую версию или перестанет работать.
Шаг 3. Веб-публикация как альтернатива или дополнение
Терминал — не единственный способ дать удалённый доступ. Часто его комбинируют с веб-публикацией: бухгалтерия работает через RDP, а менеджеры на выездах — через браузер или тонкий клиент по HTTP.
Как опубликовать базу:
- На сервере установите IIS (с компонентами ISAPI-расширений) или Apache 2.4.
- Убедитесь, что в платформе установлены «Модули расширения веб-сервера».
- Запустите Конфигуратор от имени администратора Windows.
- Откройте
Администрирование → Публикация на веб-сервере. - Задайте имя публикации, тип веб-сервера и каталог, нажмите «Опубликовать».
- База станет доступна по адресу вида
http://server/имя_публикации.
| Критерий | Терминал (RDP) | Веб-публикация |
|---|---|---|
| Что нужно клиенту | Только RDP-клиент | Браузер или тонкий клиент 1С |
| Канал связи | Терпит слабый | Нужен стабильный |
| Печать, сканер, торговое оборудование | Через перенаправление RDP | Ограниченно, зависит от клиента |
| Лицензии Microsoft | Нужны RDS CAL | Не нужны |
| Нагрузка на сервер | Высокая: все клиенты работают на нём | Ниже: клиент работает у пользователя |
Веб-публикацию без HTTPS в интернет не выставляйте. Пароли пользователей 1С иначе идут открытым текстом.
Шаг 4. Кластер серверов 1С при клиент-серверной базе
Если база клиент-серверная, терминальный сервер — это просто клиент кластера 1С. Сеансы с RDS подключаются к нему так же, как с обычных компьютеров:
- клиент обращается к агенту сервера по порту 1540;
- агент передаёт его менеджеру кластера (порт 1541);
- данные идут через рабочие процессы — диапазон портов задаётся в свойствах рабочего сервера (по умолчанию 1560–1591).
Если между терминальным сервером и сервером 1С есть межсетевой экран, откройте все три группы портов. Чаще всего забывают как раз диапазон рабочих процессов: окно запуска видит базу, а при входе подключение обрывается.
Для управления кластером используйте «Консоль администрирования серверов 1С:Предприятия». Если консоль не открывается после смены версии платформы, перерегистрируйте библиотеку из папки установленной версии:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\radmin.dll"
Версия клиента на терминальном сервере должна совпадать с версией сервера 1С до последней цифры номера. Обновили сервер — сразу ставьте ту же сборку на RDS, иначе пользователи получат ошибку о несоответствии версий.
Держите терминальный сервер и сервер 1С в одной локальной сети с минимальной задержкой. Терминал снимает проблему медленного канала только на участке «пользователь → RDS», а не «RDS → сервер 1С».
Шаг 5. Лицензии 1С и ключи HASP в терминальном режиме
Главное правило: каждый сеанс 1С на терминальном сервере занимает отдельную клиентскую лицензию. Двадцать бухгалтеров одновременно — нужно 20 лицензий, даже если все они сидят на одной машине.
Где и как размещать лицензии:
| Ситуация | Где ставить лицензию | Комментарий |
|---|---|---|
| Файловая база, программные лицензии | На терминальный сервер | Активация от имени администратора, лицензии становятся общими для всех пользователей машины |
| Клиент-серверная база | На сервер 1С | Лицензии выдаёт сервер; на RDS клиентские лицензии не нужны |
| Аппаратный ключ HASP | Многопользовательский ключ на сервер + менеджер лицензий HASP | Однопользовательский локальный ключ терминальные сеансы не обслуживает |
Программные лицензии активируйте один раз, запустив 1С от имени администратора: тогда файлы лицензий попадут в общий каталог C:\ProgramData\1C\licenses, а не в профиль одного пользователя.
Программная лицензия привязана к параметрам компьютера. Замена материнской платы, сетевой карты или перенос виртуальной машины на другой хост может «сбросить» привязку. Сохраните пин-коды из конверта: они понадобятся для повторной активации.
Лицензии Microsoft считаются отдельно. RDS CAL нужны на каждого пользователя или устройство независимо от числа лицензий 1С. И наоборот: купленные RDS CAL не дают права запускать лишние сеансы 1С.
Скорость и ошибки: что тормозит 1С через терминал
Большинство жалоб «1С в терминале тормозит» сводится к нескольким причинам:
- 🛡️ Антивирус проверяет каждое обращение к файлам базы и кэша. Добавьте в исключения каталоги баз,
%APPDATA%\1C,%LOCALAPPDATA%\1Cи процессы1cv8.exe,1cv8c.exe. - 🧠 Не хватает памяти: при нехватке ОЗУ система уходит в файл подкачки, и тормозят все сеансы сразу.
- 🗂️ Перемещаемые профили на сетевом ресурсе. Кэш 1С тогда при каждом входе гоняется по сети.
- 🖨️ Перенаправление принтеров с драйверами, которые сервер не знает. Используйте Easy Print.
- 📺 Высокая цветность и разрешение на слабом канале. Ограничьте глубину цвета в
.rdp-файле или политиках.
Сброс кэша часто лечит странное поведение конкретного пользователя: зависания при старте, старые формы после обновления. Попросите сотрудника выйти из 1С, затем очистите его папки %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 или запустите базу с параметром /ClearCache.
Если сеанс пользователя завис, сначала завершите процесс 1С только в его сеансе через «Диспетчер задач» на вкладке «Пользователи». Перезагрузка терминального сервера оборвёт работу всех, кто подключён, и несохранённые документы пропадут. Делайте её вне рабочего времени.
Чтобы отключённые сеансы не держали лицензии 1С часами, задайте лимит в политике Узел сеансов удалённых рабочих столов → Ограничение сеансов по времени: например, завершать отключённый сеанс через 30–60 минут. Предупредите сотрудников: несохранённые данные в таком сеансе пропадут.
Безопасность терминального доступа к 1С
Терминальный сервер с базой 1С — лакомая цель: на нём бухгалтерия, банковские выписки и ключи ЭП. Открытый в интернет порт 3389 начинают перебирать боты буквально в первые часы.
Минимальный набор мер:
- 🔒 Не выставляйте RDP напрямую. Подключение — через VPN или шлюз удалённых рабочих столов (RD Gateway) по HTTPS-порту 443. Смена порта 3389 на другой защитой не считается — это лишь снижает шум в журналах.
- 🔑 Включите проверку подлинности на уровне сети (NLA) в свойствах коллекции или системы.
- 🚫 Политика блокировки учётных записей: например, блокировка на 15 минут после 5 неверных паролей.
- 👥 Отдельные учётные записи для каждого сотрудника, без общих логинов «buh1». Права администратора — только у администратора.
- 📋 Ограничьте перенаправления: диски, буфер обмена и USB отключайте там, где они не нужны. Особенно для подрядчиков.
- 🧾 Пароли и в 1С. У каждого пользователя базы — свой логин и пароль, у администратора 1С — сложный пароль.
- 💾 Резервные копии баз и профилей — на отдельный носитель, недоступный из пользовательских сеансов. Шифровальщик, попавший в сеанс, иначе зашифрует и бэкапы.
Если сотрудники подключаются с домашних компьютеров, включите двухфакторную аутентификацию на шлюзе или VPN. Украденный пароль тогда в одиночку не откроет доступ к базе.