Почему 1С не видит все сетевые аппаратные ключи HASP и как настроить выдачу лицензий?

Системный администратор IT и автоматизация бизнеса
← На главную

Рассмотрим распространенную ситуацию в крупных инфраструктурах 1С: в сети установлено несколько сетевых аппаратных ключей защиты HASP (например, 4 ключа по 100 лицензий), однако пользователи периодически сталкиваются с ошибкой «Не найдена лицензия для использования программы». При этом сетевая утилита мониторинга видит все ключи, а суммарный лимит лицензий значительно превышает реальное количество работающих пользователей.

Проанализируем причины возникновения этой проблемы и разберем по шагам все доступные способы настройки системы для корректного использования всех купленных лицензий.

Выясним причину: почему сервер 1С задействует только один ключ

Главная причина кроется в особенностях работы платформы «1С:Предприятие» при включенной опции «Разрешить выдачу лицензий сервером» в свойствах информационной базы:

  1. Ограничение по сериям ключей: сетевые аппаратные ключи HASP на 5, 10, 20, 50 и 100 пользователей относятся к одной и той же серии — ORGL8. Если сервер 1С самостоятельно занимается раздачей лицензий клиентским сеансам, он опрашивает сеть и выбирает строго один ключ одной серии. То есть из четырех имеющихся ключей на 100 лицензий сервер выберет только один, а остальные три ключа той же серии ORGL8 проигнорирует. В результате сервер сможет раздать максимум 100 лицензий.
  2. Подсчет лицензий (сеансы против пользователей): при выдаче лицензии сервером 1С каждый запущенный сеанс занимает отдельную лицензию (1 сеанс = 1 лицензия). Если один пользователь открывает две базы или два сеанса одной базы, у него расходуются 2 лицензии. При клиентской же раздаче лицензия фиксируется за рабочим компьютером (1 ПК = 1 лицензия вне зависимости от числа запущенных баз).

Разберем подробнее варианты решения данной проблемы.

Способ 1. Перевод клиентов на прямое получение лицензий от HASP License Manager

Если отключить централизованную выдачу лицензий сервером 1С, клиентские приложения начнут запрашивать лицензии у менеджеров лицензий напрямую по сети. Это позволит использовать все ключи и переключит алгоритм подсчета на схему «1 ПК = 1 лицензия».

Разберем по шагам, как выполнить эту настройку:

  1. Откройте консоль администрирования кластера серверов 1С и в свойствах информационной базы установите параметр «Разрешить выдачу лицензий сервером» в значение «Нет» (или сняв соответствующую галочку).
  2. На рабочих станциях пользователей настройте файл конфигурации nethasp.ini (он располагается в каталоге bin установленной платформы 1С).
  3. Пропишите явное указание IP-адресов компьютеров, на которых установлены ключи защиты и запущен HASP License Manager, отключив широковещательный опрос (broadcast):

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10, 192.168.1.11, 192.168.1.12, 192.168.1.13
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled

Важно: явное указание протокола TCP вместо UDP предотвращает потерю сетевых пакетов в нагруженных сетях, что существенно повышает стабильность получения лицензий клиентами.

Обратите внимание: данный способ не подходит, если в системе активно используются веб-клиенты или подключения через тонкий клиент с использованием веб-сервера. Веб-сервер всегда запрашивает лицензии только через сервер приложений 1С.

Способ 2. Борьба с зависшими сессиями в HASP License Manager

Аппаратные ключи защиты имеют свойство удерживать лицензии за отключившимися ПК при некорректном разрыве связи или сетевых сбоях. По умолчанию менеджер лицензий может удерживать такую сессию до 36 часов.

Для предотвращения «зависания» лицензий выполните следующие действия:

  1. На компьютерах, где установлены USB-ключи, откройте файл конфигурации менеджера лицензий nhsrv.ini.
  2. Настройте таймаут неактивных пользовательских сессий с помощью параметра NHS_USER_SESSION, чтобы отвалившиеся подключения закрывались автоматически (например, установите лимит в минутном эквиваленте).
  3. Контролируйте количество занятых и подвисших лицензий в режиме реального времени с помощью административной консоли SafeNet (HASP License Monitor).

Способ 3. Замена нескольких ключей на один ключ большего номинала или другой серии

Чтобы сервер 1С мог корректно раздавать все лицензии самостоятельно, можно изменить конфигурацию самих ключей:

  1. Обмен ключей одной серии: по программе апгрейда 1С можно сдать три ключа по 100 лицензий (серия ORGL8) и приобрести один ключ на 300 пользователей (серия ORG8A).
  2. Использование ключей разных серий: сервер 1С умеет одновременно задействовать по одному ключу каждой серии:
    • Один ключ серии ORGL8 (на 5, 10, 20, 50 или 100 пользователей);
    • Один ключ серии ORG8A (на 300 пользователей);
    • Один ключ серии ORG8B (на 500 пользователей).
    Если в вашей системе будет один ключ на 100 пользователей (серия ORGL8) и один ключ на 300 пользователей (серия ORG8A), установленные даже на одном сервере, сервер 1С сможем суммировать их и раздать все 400 лицензий.

Способ 4. Использование допсерверов в кластере 1С

Если требуется сохранить текущие физические ключи по 100 лицензий и при этом оставить выдачу лицензий на стороне сервера 1С, проанализируем вариант с масштабированием кластера:

  1. На компьютеры, в которые вставлены остальные ключи, устанавливается служба сервера «1С:Предприятия».
  2. Эти рабочие серверы объединяются в единый кластер 1С.
  3. В настройках кластера для дополнительных серверов задается назначенный сервис — «Сервис лицензирования».

В такой конфигурации каждый рабочий сервер кластера будет опрашивать локально подключенный к нему ключ и успешно передавать лицензии центральному серверу кластера.

← На главную