Мы часто сталкиваемся с ситуацией, когда система лицензирования 1С:Предприятия, основанная на аппаратных ключах HASP, начинает работать некорректно. Одной из самых распространенных проблем является сообщение "HASP LM не видит ключ" или невозможность получения лицензии, хотя ключ физически установлен. Давайте вместе разберем эту непростую ситуацию, выясним причины и найдем эффективные решения. Мы рассмотрим различные сценарии, начиная от базовых проверок и заканчивая тонкими настройками конфигурационных файлов и алгоритмов поиска лицензий.
Прежде чем углубляться в специфические настройки, давайте проведем ряд базовых проверок. Это поможет нам исключить простые причины проблемы и сузить круг поиска.
Убедитесь, что аппаратный ключ HASP подключен к USB-порту и на нем горит световой индикатор. Если индикатор не горит, попробуйте переподключить ключ в другой USB-порт или на другой компьютер, чтобы исключить его физическую неисправность.
На компьютере, куда установлен ключ, должен быть запущен менеджер лицензий. В зависимости от версии, это может быть HASP License Manager (nhsrvice.exe) или Sentinel LDK License Manager (hasplms.exe). Откройте "Службы" Windows и убедитесь, что соответствующая служба запущена и настроена на автоматический запуск. Если служба не запускается или работает некорректно (например, не открывает порты, если установлена как сервис), попробуйте перезагрузить компьютер или временно запустить HASP LM как приложение вместо службы. Иногда, особенно для старых версий HASP LM, служба корректно стартует только после перезагрузки операционной системы.
Компьютер, на котором установлен ключ и менеджер лицензий, должен иметь статический IP-адрес. Убедитесь, что между компьютером с ключом и клиентскими машинами есть сетевая связность (например, с помощью команды ping).
Часто причиной проблем являются брандмауэры Windows или сторонние антивирусные программы, которые блокируют сетевые порты, используемые менеджерами лицензий. Мы должны убедиться, что порты 475 UDP (для HASP LM) и 1947 TCP/UDP (для Sentinel LDK License Manager) открыты как на сервере с ключом, так и на клиентских машинах. Для диагностики попробуйте временно отключить брандмауэр и антивирус на обеих сторонах и проверить доступность лицензий.
Нам необходимо четко понимать, какие менеджеры лицензий существуют и какие порты они используют, так как путаница в этом вопросе часто приводит к неверным настройкам.
Существуют два основных типа менеджеров лицензий, с которыми может работать 1С:
Это "классический" менеджер лицензий для аппаратных ключей HASP. Он работает по протоколу UDP на порту 475. Именно этот порт и протокол использует платформа 1С для поиска ключей в сети. Утилита Aladdin Monitor, предназначенная для мониторинга ключей, также работает исключительно по UDP 475.
Важно: 1С не использует веб-интерфейсы менеджеров лицензий. Даже при установке платформы нам предлагают отключить неиспользуемые возможности драйвера защиты. Это относится к веб-интерфейсам, которые могут работать на других портах.
Это более новая версия менеджера лицензий от Thales (ранее Aladdin/SafeNet). Он включает в себя функциональность старого HASP LM и добавляет поддержку новых типов ключей и возможностей. Веб-интерфейс для управления SLDK LM называется Sentinel Admin Control Center (ACC) и работает по протоколам TCP и UDP на порту 1947. По умолчанию доступ к ACC с удаленных клиентов запрещен, и его необходимо явно разрешить в настройках, если вы планируете мониторить ключи удаленно. Однако, для 1С SLDK LM также поддерживает раздачу лицензий по порту 475, как и старый HASP LM.
Запомните: ACC можно использовать для мониторинга ключей, но не для настройки того, как 1С будет получать лицензии. 1С работает с менеджерами лицензий через порт 475, а не через веб-интерфейс 1947.
Несоответствие версий прошивки ключа или устаревшие драйверы могут быть причиной того, что ключ не определяется или не виден.
Некоторые старые ключи HASP имеют микропрошивку версии 2.17 (или 2.16). Такие ключи могут работать в Windows, но не будут отображаться в Sentinel Admin Control Center (ACC). Платформа 1С в Windows может получать лицензии с такого ключа напрямую, минуя менеджеры лицензий, если ключ установлен локально. Если ключ не виден в ACC, это не всегда означает его неработоспособность. Для Linux-систем ключи версии 2.17 могут быть несовместимы и требовать обновления прошивки до 3.25, но в Windows это не всегда критично.
Драйверы HASP, которые поставляются с платформой 1С, могут быть устаревшими. Также могут возникать проблемы совместимости старых драйверов с новыми версиями Windows. Мы рекомендуем установить актуальную версию драйвера HASP с официального сайта Thales. При установке или удалении драйверов всегда выполняйте действия с правами администратора и, если возникают проблемы, временно отключайте антивирусное ПО.
Если ключ определяется в диспетчере устройств как "неопознанное USB-устройство" или "HASP 2.17", попробуйте различные версии драйверов. Иногда драйверы от HASP LM версии 8.31 или 8.32 могут подойти лучше, чем те, что идут с платформой.
Платформа 1С и сервер 1С:Предприятия ищут лицензии по определенному алгоритму. Понимание этого алгоритма критически важно для диагностики.
HASP LM или SLDK LM. Порт в этом случае не имеет значения.HASP License Manager (или SLDK LM, работающему в режиме совместимости) по сети через порт 475 UDP.Сервер 1С также ищет лицензии по схожему алгоритму: сначала из последнего успешного источника, затем локальные программные лицензии, локальные ключи HASP, а потом сетевые ключи HASP через HASP License Manager.
1cv8conn.pfl и "кеш" лицензий.
Платформа 1С "запоминает", откуда она последний раз успешно получала лицензию. Эта информация хранится в файле 1cv8conn.pfl. Если вы изменили источник лицензий, но 1С продолжает обращаться к старому, попробуйте удалить (или переименовать/заархивировать) этот файл. Он находится в профиле пользователя (например, C:\Users\ИмяПользователя\AppData\Roaming\1C\1cv8\). Это поможет сбросить "кеш" и заставить 1С искать лицензию заново по полному алгоритму.
Если на сервере 1С включена опция "Раздавать лицензии сервером 1С:Предприятия 8", то сервер будет выступать в качестве основного источника лицензий. Он будет пытаться получить лицензии (как программные, так и аппаратные, если ключ установлен на нем локально или доступен через менеджер лицензий) и выдавать их клиентским сеансам. В этом случае клиенты, подключающиеся к серверу, не смогут брать лицензии напрямую от других HASP LM в сети, пока сервер сам не исчерпает свои лицензии или пока эта опция не будет отключена. Мы не можем запретить серверу брать лицензии с локально установленного ключа, если опция раздачи лицензий включена.
Эти два файла являются ключевыми для настройки сетевого взаимодействия с аппаратными ключами HASP. Давайте рассмотрим их подробно.
Файл nhsrv.ini используется для настройки самого HASP License Manager (или SLDK LM, когда он работает как HASP LM) и должен располагаться на той машине, где установлен аппаратный ключ и менеджер лицензий. Часто его следует размещать в каталоге C:\Windows\System32 (или C:\Windows\SysWOW64 для 64-битных систем).
Рассмотрим пример содержимого nhsrv.ini:
[NHS_SERVER]
NHS_USERLIST = 250; // Максимальное количество пользователей, которым может быть выдана лицензия (не влияет на номинал ключа, только на HASP LM)
NHS_SERVERNAMES = keys1; // Имя менеджера лицензий. Должно быть уникальным, алфавитно-цифровым (англ. буквы), не длиннее 7 символов.
NHS_HIGHPRIORITY = no; // Использовать высокий приоритет для процесса менеджера лицензий
[NHS_IP]
NHS_USE_UDP = enabled; // Разрешить использование UDP-протокола
NHS_USE_TCP = enabled; // Разрешить использование TCP-протокола (требует включения NetBIOS over TCP/IP)
NHS_IP_portnum = 475; // Порт для раздачи лицензий 1С
NHS_IP_LIMIT = 172.168.0.50, 172.168.0.52-254, 172.168.3.*; // Ограничение IP-адресов, которым разрешено получать лицензии
// Можно указать конкретные IP, диапазоны или подсети.
[NHS_IPX]
NHS_USE_IPX = disabled; // Отключить использование IPX (устаревший протокол)
NHS_AppendAddr = no;
NHS_usesap = enabled;
NHS_ipx_socketnum = 0x7483;
[NHS_NETBIOS]
NHS_USE_NETBIOS = disabled; // Отключить использование NetBIOS (устаревший протокол)
Важные моменты:
NHS_IP_LIMIT: Этот параметр позволяет нам ограничить круг IP-адресов, с которых разрешено брать лицензии. Это полезно для безопасности и для того, чтобы "направить" клиентов к определенному ключу. Мы можем указать IP-адреса через запятую, диапазоны (например, 192.168.1.10-192.168.1.20) или целые подсети (192.168.3.*).NHS_SERVERNAMES: Убедитесь, что имя уникально, если у вас несколько HASP LM в сети.Файл nethasp.ini размещается на клиентских машинах и сообщает клиенту 1С, где искать HASP License Manager в сети. Его следует размещать в каталоге установки платформы 1С, например, C:\Program Files (x86)\1cv8\conf или C:\Program Files\1cv8\conf для 64-битной версии.
Рассмотрим пример содержимого nethasp.ini:
[NH_COMMON]
NH_DEFAULT_MODE = NH_TCPIP; // Использовать TCP/IP для поиска
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100, 192.168.1.101; // IP-адреса серверов с HASP LM, разделенные запятыми
NH_USE_BROADCAST = Disabled; // Отключить широковещательный поиск (рекомендуется при указании конкретных IP)
NH_PORT_NUMBER = 475; // Порт для поиска HASP LM
[NH_NETBIOS]
NH_USE_NETBIOS = Disabled; // Отключить NetBIOS
Важные моменты:
NH_SERVER_ADDR: Здесь мы указываем IP-адреса компьютеров, на которых запущен HASP License Manager и воткнуты ключи. Если у вас несколько таких серверов, перечислите их через запятую.NH_USE_BROADCAST = Disabled: При явном указании IP-адресов в NH_SERVER_ADDR, рекомендуется отключать широковещательный поиск. Это ускоряет процесс поиска лицензий и уменьшает сетевой трафик.При наличии нескольких аппаратных ключей HASP в сети или на одной машине могут возникать нюансы.
Важно: любые два клиентских ключа 1С одной серии (например, два ключа ORGL8 на 5 и 10 рабочих мест) бесполезно втыкать в одну машину. Будет работать только один из них. Исключение составляют ключи на 300 и 500 рабочих мест, так как они относятся к другим сериям. Если нам нужно использовать несколько ключей, их следует устанавливать на разные машины, каждая со своим HASP LM.
Сервер 1С:Предприятия может получить клиентскую лицензию только от одного сетевого аппаратного ключа защиты одной серии, обнаруженного через HASP License Manager. Если лицензии с этого ключа исчерпаны, сервер будет искать ключи других серий, но не будет искать другие ключи той же серии.
Для корректной работы нескольких сетевых ключей, каждый HASP License Manager должен иметь уникальное имя, заданное в параметре NHS_SERVERNAMES файла nhsrv.ini. Это позволяет клиентам и серверу 1С различать источники лицензий.
Давайте рассмотрим несколько распространенных ситуаций, которые часто вызывают сложности, и предложим пути их решения.
Это частая проблема, когда на сервере 1С включена опция "Раздавать лицензии сервером 1С:Предприятия 8", и он сам успешно получает лицензии (например, с программных лицензий или локально установленного ключа). В этом случае сервер 1С имеет приоритет, и клиенты будут брать лицензии от него.
Решение:
Если у вас нет программных лицензий, которые должен раздавать сервер, мы можем отключить опцию "Раздавать лицензии сервером 1С:Предприятия 8" в консоли кластера 1С. Это заставит клиентов искать лицензии самостоятельно, в том числе через HASP LM.
Внимание: Если на сервере есть программные лицензии, которые он должен раздавать, отключить эту опцию нельзя, иначе программные лицензии также перестанут раздаваться.
1С "запоминает" последний успешный источник лицензии. Чтобы сбросить этот "кеш" и принудительно заставить клиент использовать локальный ключ (если он установлен):
HASP LM и будет вынуждена обратиться к локально установленному ключу.1cv8conn.pfl, как мы уже обсуждали выше.Иногда, особенно на новых версиях Windows со старыми версиями HASP LM, служба может стартовать, но не открывать необходимые порты, что делает ее бесполезной.
Решение:
Для старых версий HASP LM часто требуется полная перезагрузка системы после установки, чтобы служба корректно инициализировалась и открыла порты.
Временно попробуйте запустить HASP LM не как службу, а как обычное приложение. Если в этом режиме порты открываются и ключи видны, это указывает на проблему с запуском службы. В таком случае, возможно, потребуется проверить режим совместимости для исполняемого файла nhsrvice.exe или переустановить HASP LM.
Если клиенты "видят" ключ (например, в Aladdin Monitor), но 1С не получает лицензии, это может указывать на проблемы с конфигурацией nhsrv.ini или неправильное понимание алгоритма поиска.
Решение:
nhsrv.ini.
Убедитесь, что в файле nhsrv.ini на сервере с ключом корректно указаны параметры NHS_IP_LIMIT, если вы хотите ограничить круг клиентов. Если этот параметр настроен слишком строго, он может блокировать доступ. Также проверьте, что NHS_SERVERNAMES уникален.
nhsrv.ini.
В некоторых случаях, если nhsrv.ini настроен некорректно, временное удаление этого файла (или его переименование) может позволить HASP LM работать в режиме по умолчанию, что иногда помогает в диагностике.
Отключите компьютер с ключом от сети и запустите 1С локально. Если ключ не работает даже локально, возможно, он неисправен или проблема с драйверами.
Используйте "Журнал поиска ключей" в 1С (доступный через "Все функции" -> "Стандартные" -> "Журнал поиска ключей") для анализа того, как происходит поиск лицензий и почему они не находятся. Это дает ценную информацию для диагностики.
Убедитесь, что в системе полностью отсутствуют следы ранее установленных эмуляторов ключей, так как они могут конфликтовать с настоящими ключами и менеджерами лицензий. Удалите все их компоненты из системы и реестра.
В будущих версиях платформы 1С (начиная с 8.5.2) HASP License Manager будет заменен новым приложением "1С:Предприятие – менеджер лицензий", которое будет раздавать лицензии по TCP и UDP, а также локально через IPC. Это может упростить процесс, но пока мы работаем с текущей реализацией.
Мы рассмотрели основные аспекты проблемы "HASP LM не видит ключ" и предложили комплексные решения. Помните, что диагностика требует системного подхода и последовательной проверки всех возможных причин. Надеемся, что эта подробная инструкция поможет вам успешно настроить систему лицензирования 1С:Предприятия.
← К списку