Как настроить раздачу клиентских лицензий через сервер 1С
Содержание
Чтобы сервер 1С раздавал клиентские лицензии, нужны две вещи: лицензии должны быть доступны самому серверу (программные — активированы на его компьютере, ключ HASP — виден ему локально или по сети), а в свойствах информационной базы в консоли кластера должна быть разрешена выдача лицензий сервером 1С:Предприятия. После этого пользователи получают лицензию при подключении к базе, и на их компьютерах ничего настраивать не надо.
Частое заблуждение: «купили лицензию на сервер, значит, клиенты тоже будут работать». Нет. Лицензия на сервер 1С разрешает запуск самого сервера, а места для пользователей — это отдельные клиентские лицензии. Их и настраивают на раздачу с сервера.
Какую схему лицензирования выбрать и что подготовить
Раздача лицензий сервером работает только в клиент-серверном варианте. Для файловой базы сервера 1С нет, и лицензии берёт каждый клиент сам: со своего компьютера или из сетевого ключа.
Основные схемы:
| Схема | Где лежат лицензии | Когда подходит | Слабое место |
|---|---|---|---|
| Программные лицензии на сервере 1С | Файлы лицензий на компьютере сервера | Новые внедрения, виртуальные машины | Привязка к параметрам оборудования |
| Сетевой ключ HASP в сервере 1С | USB-ключ в компьютере сервера | Есть купленные ключи, физический сервер | Ключ в виртуальной среде требует проброса USB |
| Сетевой ключ на отдельном компьютере | Ключ + HASP License Manager | Ключ нельзя вставить в сервер 1С | Зависит от сети, порт 475, ещё одна точка отказа |
| Локальные лицензии у каждого клиента | Рабочие места | Мало пользователей, файловые базы | Учёт лицензий размазан по компьютерам |
💡 Если сервер 1С работает в виртуальной машине, выбирайте программные лицензии. Они привязаны к параметрам «железа», и при переносе виртуалки или смене её конфигурации лицензию придётся восстанавливать. Поэтому лишний раз ВМ между хостами не двигайте.
Что проверить перед стартом:
- 🖥️ сервер 1С установлен и запущен как служба, база в кластере открывается;
- 🔑 у вас есть комплект клиентских лицензий: пинкоды программной лицензии или сетевой ключ;
- 👤 вы знаете, под какой учётной записью работает служба сервера 1С (по умолчанию USR1CV8);
- 🌐 известен IP-адрес компьютера, где будет стоять ключ, если ключ не в самом сервере.
Установка защиты: драйвер HASP, License Manager и программные лицензии
Программные лицензии на сервере
Программную лицензию активируют на том компьютере, где работает сервер 1С. Удобнее всего запустить на нём клиент 1С и пройти мастер получения лицензии, выбрав сохранение лицензии для всех пользователей компьютера. Тогда файл ляжет в общий каталог, и служба сервера его увидит.
Где лежат файлы лицензий:
- Windows:
C:\ProgramData\1C\licenses; - Linux:
/var/1C/licenses.
У учётной записи службы сервера должно быть право на чтение этого каталога. Если лицензию активировали «только для текущего пользователя», она окажется в профиле администратора, и сервер её не найдёт.
На Linux для работы с лицензиями есть утилита ring с модулем лицензий. Список доступных команд показывает ring help — подкоманды и параметры смотрите там, а не по памяти.
Ключ HASP прямо в сервере 1С
- Установите драйвер Sentinel/HASP. В каталоге дистрибутива платформы есть установщик
haspdinst.exe, запуск из командной строки администратора:haspdinst.exe -i. - Вставьте сетевой ключ в USB-порт сервера.
- Проверьте, что ключ определился: в диспетчере устройств он виден как USB-устройство Aladdin/SafeNet, без жёлтого значка.
Если ключ стоит в том же компьютере, что и сервер 1С, License Manager не обязателен: серверу хватает драйвера. Менеджер нужен, когда к ключу ходят по сети.
Ключ на отдельном компьютере
- Установите драйвер HASP так же, как выше.
- Установите HASP License Manager (установщик
lmsetup.exe) в режиме службы Windows. - Убедитесь, что служба запущена и стоит автоматический запуск.
- Запомните IP-адрес этого компьютера: он понадобится в
nethasp.ini.
Порты и брандмауэр: что открыть
Менеджер лицензий HASP отвечает на порту 475, и UDP, и TCP. Именно его чаще всего закрывает брандмауэр после установки.
| Что | Порт | Где открыть |
|---|---|---|
| HASP License Manager | 475 UDP и TCP | Входящие на компьютере с ключом |
| Агент сервера 1С (ragent) | 1540 TCP | Входящие на сервере 1С |
| Менеджер кластера (rmngr) | 1541 TCP | Входящие на сервере 1С |
| Рабочие процессы (rphost) | диапазон, по умолчанию 1560–1591 TCP | Входящие на сервере 1С |
Пример правил для Windows Firewall на компьютере с ключом:
netsh advfirewall firewall add rule name="HASP LM UDP 475" dir=in action=allow protocol=UDP localport=475
netsh advfirewall firewall add rule name="HASP LM TCP 475" dir=in action=allow protocol=TCP localport=475
Если ключ стоит в сервере 1С и раздаёт лицензии сам сервер, клиентам порт 475 не нужен вообще. Им нужны только порты кластера. Это одно из главных преимуществ схемы: лицензионный трафик не выходит за пределы серверной.
Если между ключом и сервером 1С стоит маршрутизатор или VPN, проверьте, что UDP 475 проходит в обе стороны. Широковещательный поиск ключа через маршрутизатор не работает, поэтому адрес нужно указать явно.
Файл nethasp.ini: как указать адрес ключа
nethasp.ini нужен, когда ключ находится на другом компьютере. Если ключ стоит в сервере 1С, файл можно не трогать.
Где файл лежит: в каталоге conf установленной платформы, например C:\Program Files\1cv8\conf\nethasp.ini. Редактировать нужно файл на том компьютере, который ищет ключ. При раздаче лицензий сервером это компьютер сервера 1С, а не рабочие места.
Минимальная рабочая настройка:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.20
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled
Что здесь важно:
- 📍
NH_SERVER_ADDR— адрес компьютера с ключом и License Manager. Несколько менеджеров перечисляют через запятую; - 📡
NH_USE_BROADCAST = Disabled— отключает широковещательный поиск. Без этого поиск ключа медленнее и может «зацепить» чужой ключ в сети; - 🔁
NH_TCPIP_METHOD— если UDP режется, попробуйтеTCP.
💡 После правки nethasp.ini перезапустите службу сервера 1С: файл читается при старте процесса. Перезапуск службы обрывает сеансы всех пользователей — делайте это вечером или после предупреждения.
Включаем выдачу лицензий в кластере
Самый важный шаг, который часто пропускают. Без него сервер видит лицензии, но клиентам их не отдаёт, и каждый клиент ищет лицензию у себя.
- Откройте консоль администрирования серверов 1С:Предприятия.
- Раскройте кластер → «Информационные базы» → нужная база → «Свойства».
- Найдите параметр «Разрешить выдачу лицензий сервером 1С:Предприятия» и установите «Да».
- Сохраните. Повторите для каждой базы, где лицензии должен выдавать сервер.
То же самое через утилиту командной строки rac:
rac infobase update --cluster=<uuid-кластера> --infobase=<uuid-базы> --license-distribution=allow
UUID кластера показывает rac cluster list, список баз — rac infobase summary list --cluster=<uuid>. Если кластер защищён паролем, добавьте параметры администратора; их точный вид подскажет rac help infobase.
Кластер из нескольких серверов
Программная лицензия привязана к конкретному компьютеру. Если в кластере два рабочих сервера, а лицензии активированы только на одном, второй сервер выдать лицензию не сможет.
Решение — требования назначения функциональности. В свойствах рабочего сервера, где лежат лицензии, добавьте требование для объекта «Клиентская лицензия» с типом «Назначать». На остальных серверах — требование «Не назначать» для того же объекта. Так все запросы лицензий уйдут туда, где лицензии есть.
Терминальный сервер и RDP: особенности
На терминальном сервере (RDS) несколько пользователей работают с одного компьютера, и здесь логика подсчёта другая.
- 👥 На обычном рабочем месте несколько сеансов 1С с одного компьютера занимают одну лицензию. На терминальном сервере каждая пользовательская сессия Windows считается отдельно.
- 🔌 Однопользовательский локальный ключ, вставленный в терминальный сервер , даст одну лицензию на всех. Для терминала нужен сетевой ключ или многопользовательская программная лицензия.
- 🧩 Лучший вариант для терминальной фермы с клиент-серверной базой — раздача лицензий сервером 1С. Тогда терминальным серверам вообще не нужны ни ключи, ни
nethasp.ini, а количество одновременных пользователей ограничивает комплект на сервере.
Если база файловая и открывается на терминальном сервере, сервер 1С в цепочке не участвует. Лицензии тогда ставят на сам терминальный сервер: программные или сетевой ключ через License Manager.
Как проверить, что лицензии выдаёт сервер
Откройте в консоли кластера список сеансов нужной базы. В колонке с лицензией видно, откуда она получена: с сервера или с клиента, программная или ключ HASP.
Из командной строки то же показывает:
rac session list --cluster=<uuid-кластера> --licenses
Для сетевого ключа есть Aladdin Monitor (aksmon). Он показывает, какие менеджеры лицензий видны в сети, сколько мест в ключе и кто их занял. Если монитор не видит менеджер по адресу, проблема в сети или брандмауэре, а не в 1С.
Мини-кейс: переход с ключей на рабочих местах
Офис на 12 человек: у каждого бухгалтера свой локальный ключ, база уже клиент-серверная. Решили собрать лицензии на сервере.
- Купили программный комплект на 10 мест и активировали его на сервере 1С с сохранением для всех пользователей.
- Разрешили выдачу лицензий сервером в свойствах базы.
- Проверили в списке сеансов, что у новых подключений лицензия получена с сервера.
- Только после этого сняли локальные ключи с рабочих мест.
Порядок важен: если снять ключи раньше, люди останутся без доступа до конца настройки. Оставшиеся два ключа можно перенести на ноутбуки, которые работают вне офиса.
Диагностика: почему клиенты не получают лицензию
Начинайте с текста ошибки. Платформа обычно пишет Не обнаружена лицензия для использования программного продукта или Не обнаружен ключ защиты программы. Ниже — частые сочетания «симптом → что проверить».
Ещё две частые причины, которые не видны по тексту ошибки:
- 🕒 зависшие сеансы. Сеанс, закрытый некорректно, держит лицензию до таймаута. Завершайте их в консоли кластера и предупреждайте пользователей: несохранённые данные пропадут;
- 🔀 смешанные комплекты. Ключи разных серий (например, ключ на 5 и на 10 мест) суммируются, но только если сервер видит оба. Если один из ключей на другом компьютере, его адрес должен быть в
nethasp.ini.