Как настроить раздачу клиентских лицензий через сервер 1С

· 9 мин

Содержание

Чтобы сервер 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С

  1. Установите драйвер Sentinel/HASP. В каталоге дистрибутива платформы есть установщик haspdinst.exe, запуск из командной строки администратора: haspdinst.exe -i.
  2. Вставьте сетевой ключ в USB-порт сервера.
  3. Проверьте, что ключ определился: в диспетчере устройств он виден как USB-устройство Aladdin/SafeNet, без жёлтого значка.

Если ключ стоит в том же компьютере, что и сервер 1С, License Manager не обязателен: серверу хватает драйвера. Менеджер нужен, когда к ключу ходят по сети.

Ключ на отдельном компьютере

  1. Установите драйвер HASP так же, как выше.
  2. Установите HASP License Manager (установщик lmsetup.exe) в режиме службы Windows.
  3. Убедитесь, что служба запущена и стоит автоматический запуск.
  4. Запомните IP-адрес этого компьютера: он понадобится в nethasp.ini.

Порты и брандмауэр: что открыть

Менеджер лицензий HASP отвечает на порту 475, и UDP, и TCP. Именно его чаще всего закрывает брандмауэр после установки.

ЧтоПортГде открыть
HASP License Manager475 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С:Предприятия.
  2. Раскройте кластер → «Информационные базы» → нужная база → «Свойства».
  3. Найдите параметр «Разрешить выдачу лицензий сервером 1С:Предприятия» и установите «Да».
  4. Сохраните. Повторите для каждой базы, где лицензии должен выдавать сервер.

То же самое через утилиту командной строки 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 человек: у каждого бухгалтера свой локальный ключ, база уже клиент-серверная. Решили собрать лицензии на сервере.

  1. Купили программный комплект на 10 мест и активировали его на сервере 1С с сохранением для всех пользователей.
  2. Разрешили выдачу лицензий сервером в свойствах базы.
  3. Проверили в списке сеансов, что у новых подключений лицензия получена с сервера.
  4. Только после этого сняли локальные ключи с рабочих мест.

Порядок важен: если снять ключи раньше, люди останутся без доступа до конца настройки. Оставшиеся два ключа можно перенести на ноутбуки, которые работают вне офиса.

Диагностика: почему клиенты не получают лицензию

Начинайте с текста ошибки. Платформа обычно пишет Не обнаружена лицензия для использования программного продукта или Не обнаружен ключ защиты программы. Ниже — частые сочетания «симптом → что проверить».

Диагностика: выберите симптом

Ещё две частые причины, которые не видны по тексту ошибки:

  • 🕒 зависшие сеансы. Сеанс, закрытый некорректно, держит лицензию до таймаута. Завершайте их в консоли кластера и предупреждайте пользователей: несохранённые данные пропадут;
  • 🔀 смешанные комплекты. Ключи разных серий (например, ключ на 5 и на 10 мест) суммируются, но только если сервер видит оба. Если один из ключей на другом компьютере, его адрес должен быть в nethasp.ini.

Частые вопросы

Нужен ли License Manager, если ключ стоит в сервере 1С?
Нет. Серверу достаточно драйвера HASP. License Manager нужен, только когда к ключу обращаются с других компьютеров по сети.
Можно ли смешивать программные лицензии и ключ HASP?
Да. Сервер учитывает все доступные ему клиентские лицензии: и программные, и из ключей. Общее число мест — их сумма.
Работает ли раздача лицензий сервером для файловой базы?
Нет. В файловом варианте нет сервера 1С, лицензию ищет сам клиент на своём компьютере или в сетевом ключе.
Сколько лицензий займёт пользователь, открывший две базы на одном сервере?
С одного обычного компьютера — одну. В терминальной сессии считается каждая сессия пользователя Windows отдельно.
Что делать, если пропал пароль администратора кластера и не открыть свойства базы?
Не пересоздавайте кластер. Восстановите файлы настроек кластера из резервной копии или обратитесь к тому, кто администрирует сервер.