Почему HASP LM не видит ключ защиты 1С:Предприятия и как исправить эту проблему?

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

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

Общие шаги по диагностике и первичные проверки

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

  1. Проверяем физическое состояние ключа.

    Убедитесь, что аппаратный ключ HASP подключен к USB-порту и на нем горит световой индикатор. Если индикатор не горит, попробуйте переподключить ключ в другой USB-порт или на другой компьютер, чтобы исключить его физическую неисправность.

  2. Статус службы менеджера лицензий.

    На компьютере, куда установлен ключ, должен быть запущен менеджер лицензий. В зависимости от версии, это может быть HASP License Manager (nhsrvice.exe) или Sentinel LDK License Manager (hasplms.exe). Откройте "Службы" Windows и убедитесь, что соответствующая служба запущена и настроена на автоматический запуск. Если вы работаете в среде GNU/Linux, вам может быть полезен опыт того, как реализован запуск серверов на Linux посредством systemd для обеспечения стабильной работы сервисов.

  3. Проверяем сетевое подключение и IP-адрес.

    Компьютер, на котором установлен ключ и менеджер лицензий, должен иметь статический IP-адрес. Убедитесь, что между компьютером с ключом и клиентскими машинами есть сетевая связность (например, с помощью команды ping).

  4. Брандмауэр и антивирусное ПО.

    Часто причиной проблем являются брандмауэры Windows или сторонние антивирусные программы, которые блокируют сетевые порты, используемые менеджерами лицензий. Мы должны убедиться, что порты 475 UDP (для HASP LM) и 1947 TCP/UDP (для Sentinel LDK License Manager) открыты как на сервере с ключом, так и на клиентских машинах. Для диагностики попробуйте временно отключить брандмауэр и антивирус на обеих сторонах и проверить доступность лицензий.

Разбираемся с менеджерами лицензий и используемыми портами

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

Существуют два основных типа менеджеров лицензий, с которыми может работать 1С:

  1. HASP License Manager (HASP LM).

    Это "классический" менеджер лицензий для аппаратных ключей HASP. Он работает по протоколу UDP на порту 475. Именно этот порт и протокол использует платформа 1С для поиска ключей в сети. Утилита Aladdin Monitor, предназначенная для мониторинга ключей, также работает исключительно по UDP 475.

  2. Sentinel LDK License Manager (SLDK LM).

    Это более новая версия менеджера лицензий. Веб-интерфейс Sentinel Admin Control Center (ACC) работает по протоколам TCP и UDP на порту 1947. Помните, что для 1С этот менеджер также должен поддерживать раздачу лицензий по порту 475.

Прошивка ключей и проблемы с драйверами

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

  1. Устаревшие версии прошивки.

    Некоторые старые ключи HASP имеют микропрошивку версии 2.17. Такие ключи могут работать в Windows, но не всегда корректно отображаются в современных инструментах мониторинга. Платформа 1С в Windows может получать лицензии с такого ключа напрямую, если он установлен локально.

  2. Проблемы с драйверами.

    Мы рекомендуем установить актуальную версию драйвера HASP с официального сайта. При установке всегда выполняйте действия с правами администратора.

Алгоритм поиска лицензий 1С и его особенности

Платформа 1С и сервер 1С:Предприятия ищут лицензии по определенному алгоритму. Понимание этого алгоритма критически важно для диагностики.

  1. Последовательность поиска лицензий клиентским приложением:
    1. Последний успешный источник: Клиентское приложение 1С сначала пытается получить лицензию из источника, который использовался при последнем успешном подключении.
    2. Локальные программные лицензии: Затем ищутся программные лицензии на локальном компьютере. Если вам необходимо настроить доступ для разработчиков, изучите, как выполняется установка комьюнити-лицензии разработчика на сервер 1С.
    3. Локальный аппаратный ключ HASP: После этого проверяется наличие локального ключа.
    4. Сетевой HASP LM: Только потом клиент обращается к HASP License Manager по сети через порт 475 UDP.
    5. Сервер 1С:Предприятия: Если база на сервере, он может выдать лицензию клиенту.
  2. Файл 1cv8conn.pfl и "кеш" лицензий.

    Платформа 1С "запоминает" источник лицензии в файле 1cv8conn.pfl. Для понимания того, где хранятся подобные данные, полезно изучить информацию по рабочему каталогу центрального сервера (srvinfo) и методы его очистки.

  3. Сервер 1С и раздача лицензий.

    Если на сервере включена опция "Раздавать лицензии сервером 1С:Предприятия 8", сервер становится приоритетным источником. В этом случае клиенты будут зависеть от доступности лицензий на самом сервере.

Настройка конфигурационных файлов: nhsrv.ini и nethasp.ini

Эти два файла являются ключевыми для настройки сетевого взаимодействия с аппаратными ключами HASP.

Файл nhsrv.ini (для HASP License Manager)

Файл nhsrv.ini настраивает сам менеджер лицензий на машине с ключом. Пример настройки:


[NHS_SERVER]
NHS_SERVERNAMES     = keys1; // Уникальное имя менеджера лицензий

[NHS_IP]
NHS_USE_UDP         = enabled;
NHS_IP_portnum      = 475;     // Порт для раздачи лицензий 1С
NHS_IP_LIMIT        = 172.168.0.*; // Ограничение доступа по подсети

Файл nethasp.ini (для клиентов 1С)

Файл nethasp.ini сообщает клиенту 1С, где искать HASP LM в сети.


[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100; // IP-адрес сервера с HASP LM
NH_USE_BROADCAST = Disabled; // Отключаем широковещательный поиск для ускорения

Использование нескольких ключей и конфликты

  1. Несколько ключей на одной машине.

    Бесполезно втыкать в одну машину два клиентских ключа одной серии (например, два ключа по 10 лицензий). Будет работать только один. Для масштабирования ключи нужно разносить по разным серверам.

  2. Разделение ключей.

    Для корректной работы нескольких сетевых ключей, каждый менеджер должен иметь уникальное имя в NHS_SERVERNAMES файла nhsrv.ini.

Специфические сценарии и решения

Сценарий 1: Клиент берет лицензию с сервера 1С, хотя настроен на HASP LM

Если сервер 1С раздает лицензии сам, он перехватывает запросы клиентов. Чтобы управлять этим процессом, вы можете использовать консоль администрирования серверов 1С (ras) для Linux и Windows, которая является отличной альтернативой штатным средствам. Для этой задачи есть инструмент управления кластерами серверов и сеансами 1С.

Решение:

  1. Отключить раздачу лицензий сервером в консоли кластера, если это допустимо.
  2. Для оперативного вмешательства в текущую ситуацию используйте WEB приложение для управления сеансами сервера 1С, которое позволяет удалять лишние сеансы и завершать зависшие процессы rphost.

Сценарий 2: HASP LM не открывает порты, когда запущен как служба

Решение: Попробуйте перезагрузить компьютер или временно запустить nhsrvice.exe как обычное приложение для проверки доступности портов. Если проблема в правах доступа службы, проверьте настройки безопасности ОС.

Сценарий 3: Клиенты видят ключ броадкастом, но не получают лицензии

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

Дополнительные рекомендации и заключение

  1. Журнал поиска ключей 1С.

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

  2. Эмуляторы ключей.

    Наличие остатков старых эмуляторов в системе — гарантированный способ получить конфликты при поиске настоящего ключа. Тщательно очищайте реестр.

Мы рассмотрели основные аспекты проблемы "HASP LM не видит ключ" и предложили комплексные решения. Надеемся, что эта подробная инструкция и предложенные инструменты помогут вам успешно настроить систему лицензирования 1С:Предприятия.

← На главную