Перенос аппаратных ключей защиты (USB-ключей HASP) с одного сервера на другой — задача, которая часто сопровождается техническими трудностями. Одной из наиболее распространенных проблем является некорректная работа или аварийное завершение HASP License Manager (HASP LM), из-за чего пользователи не могут получить лицензию для работы с базой данных. В рамках данной статьи мы подробно разберем, как правильно настроить среду на базе Windows Server 2012 R2, устранить ошибки запуска службы и обеспечить стабильное подключение клиентов.
Прежде всего, проанализируем фундаментальное различие в компонентах защиты. Для работы аппаратного ключа необходимы две разные составляющие:
Важно понимать: если у вас клиент-серверный вариант работы (SQL), сам Сервер 1С:Предприятия может забирать лицензии из ключа напрямую и раздавать их пользователям без участия HASP LM. Однако, если пользователям необходимо работать с файловыми базами, расположенными на сервере или в сети, установка HASP LM является обязательным условием.
При запуске HASP LM на Windows Server 2012 R2 пользователи часто сталкиваются с критической ошибкой. Выясним причину этого поведения. Чаще всего это связано с механизмом DEP (Data Execution Prevention) или несовместимостью версий.
Рассмотрим пошагово, как исправить ситуацию:
nhsrvice.exe) в список исключений.Проанализируем ситуацию, когда часть пользователей видит лицензии, а часть — нет. Если в настройках кластера 1С включен параметр «Разрешить выдачу лицензий сервером 1С:Предприятия», сервер начинает работать по схеме программных лицензий. В этом случае действует правило: одна сессия — одна лицензия.
Использование HASP LM дает важное преимущество для аппаратных ключей: лицензия выдается на рабочее место (компьютер). Это означает, что пользователь может открыть 10 разных баз на одном ПК, задействовав всего одну лицензию из ключа. Если же лицензии раздает Сервер 1С, на каждое открытие базы будет тратиться новая лицензия.
Когда автоматический поиск ключа не дает результатов (например, из-за блокировки широковещательных UDP-пакетов в сети), нам необходимо принудительно указать клиенту адрес сервера лицензий. Для этого используется файл nethasp.ini.
Разберем структуру настройки этого файла. Он должен находиться в папке bin установленной платформы 1С. Отредактируйте секции следующим образом:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
;; Укажите IP-адрес вашего сервера, где установлен ключ и HASP LM
NH_SERVER_ADDR = 192.168.1.100
;; Отключаем широковещание, чтобы избежать задержек и блокировок
NH_USE_BROADCAST = Disabled
;; Явно указываем протокол TCP
NH_TCPIP_METHOD = TCP
Внимание: Если на компьютере пользователя установлено несколько версий платформы, убедитесь, что файл nethasp.ini скопирован в каталог каждой используемой версии или размещен в системных путях поиска 1С.
Если после настройки файла nethasp.ini лицензия все еще не подтягивается, проверим доступность сервера по сети. Основным портом для работы HASP является 475.
Выполним следующие действия:
Важно учитывать, что локальные однопользовательские ключи 1С (синего цвета) физически не могут работать в сессиях удаленного рабочего стола (RDP). Для работы через терминальный сервер требуются только многопользовательские сетевые ключи (красного цвета), которые корректно обслуживаются через HASP LM. В нашем случае (ключ на 50 мест) это ограничение не должно мешать, если служба менеджера лицензий запущена и доступна по сети.
Таким образом, для успешного запуска аппаратных лицензий необходимо последовательно исключить блокировку службы системой DEP, настроить прямую адресацию в nethasp.ini и убедиться в прозрачности сетевого прохождения пакетов по порту 475.