Как настроить 1С для использования сетевого аппаратного ключа HASP

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Анализ приоритетов поиска лицензий

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

  1. Локальный программный ключ (на компьютере пользователя).
  2. Локальный аппаратный ключ (USB-токен фиолетового цвета на 1 рабочее место).
  3. Сетевой аппаратный ключ (через HASP License Manager).
  4. Программная лицензия от сервера 1С (из общего пула сервера).

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

Настройка параметров запуска и 1CEStart.cfg

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

  1. Глобально для всех баз: Отредактируем файл 1CEStart.cfg. Обычно он располагается в каталоге %AppData%\1C\1CEstart. Добавим или изменим параметр: UseHWLicenses=1
  2. Для конкретной информационной базы: В окне запуска 1С выберем нужную базу, нажмем "Изменить" и на последней вкладке в поле "Дополнительные параметры запуска" впишем: /UseHwLicenses+

Использование ключа /UseHwLicenses+ принудительно включает поиск HASP. Если же вы хотите, наоборот, запретить поиск ключа, используется ключ /UseHwLicenses-.

Тонкая настройка сетевого поиска через nethasp.ini

Если клиент "не видит" ключ в сети, хотя HASP License Manager установлен и запущен на сервере с ключом, нам потребуется отредактировать файл nethasp.ini. Проанализируем, где он должен находиться. Платформа ищет его в папке conf конкретной версии платформы (например, C:\Program Files\1cv8\8.3.21.1622\bin\conf) или в общем каталоге конфигурации C:\Program Files\1cv8\conf.

Рассмотрим пример правильной настройки секции [NH_TCPIP] для ускорения поиска ключа и исключения широковещательных запросов (broadcast), которые часто блокируются маршрутизаторами:


[NH_COMMON]
NH_TCPIP = ENABLED

[NH_TCPIP]
; Указываем конкретный IP-адрес сервера, где установлен USB-ключ
NH_SERVER_ADDR = 192.168.13.12 
; Отключаем широковещательный опрос сети
NH_USE_BROADCAST = DISABLED
; Можно ограничить порты, если используется нестандартная настройка
NH_TCPIP_METHOD = UDP

Важно: Основной обмен данными между драйвером HASP и менеджером лицензий идет по протоколу UDP (порт 475). Проверка через telnet (который работает по TCP) может показать, что порт открыт, но лицензия не будет получена, если UDP-трафик заблокирован брандмауэром.

Настройка сервера 1С:Предприятие

Иногда настройки клиента недостаточно, так как сервер 1С "навязывает" свою программную лицензию. Выясним, как ограничить выдачу лицензий сервером для конкретной информационной базы:

  1. Запустим консоль "Администрирование серверов 1С Предприятия".
  2. Найдем нужную информационную базу в дереве серверов.
  3. Откроем её свойства.
  4. Снимем галочку «Разрешить выдачу лицензий сервером 1С».

После этого сервер перестанет выдавать лицензии из своего программного пула, и клиент будет вынужден искать либо локальный ключ, либо сетевой HASP через менеджер лицензий.

Диагностика и типичные ошибки

Проанализируем ситуацию, когда все настройки верны, но лицензия все равно не подхватывается. Существует несколько критических факторов:

  1. Маркировка и цвет ключей:
    • Красный ключ: Сетевой многопользовательский (именно он нужен для 100 пользователей).
    • Зеленый ключ: Лицензия на сервер 1С. Он не содержит пользовательских лицензий. Если вы пытаетесь получить лицензию на подключение с зеленого ключа, это не сработает.
    • Фиолетовый ключ: Локальный, на 1 рабочее место.
  2. Работа через RDP: Локальные (фиолетовые) ключи физически не могут быть использованы в терминальной сессии. Для работы по RDP подходят только сетевые ключи (красные) с настроенным HASP LM или программные лицензии.
  3. Кэширование лицензий: 1С запоминает тип последней успешной лицензии. Если вы ранее запускались под программной лицензией, рекомендуется очистить кэш конфигурации или временно скрыть файлы программных лицензий (с расширением .lic), чтобы заставить платформу инициировать новый поиск.

Для глубокой диагностики рекомендуется использовать утилиту Aladdin Monitor (AKS Monitor). Она позволяет в режиме реального времени увидеть, видит ли менеджер лицензий ваш USB-ключ, сколько лицензий свободно и с каких IP-адресов подключены пользователи. Если в мониторе ключ не отображается, проблему нужно искать в драйверах или физическом подключении устройства к серверу.

Посмотрим на типичный алгоритм действий при возникновении проблем:

Таким образом, комбинируя настройки nethasp.ini, параметры запуска /UseHwLicenses+ и управление раздачей лицензий на сервере, мы можем гибко управлять распределением аппаратных и программных ресурсов защиты в инфраструктуре 1С.

← На главную