Проблемы с аппаратными ключами защиты HASP — одна из классических задач, с которыми сталкиваются системные администраторы при поддержке 1С. Ситуация, когда ключ горит красным, но лицензии не выдаются или «отваливаются» в процессе работы, требует комплексного подхода. Рассмотрим подробнее, как диагностировать и устранить причины нестабильной работы сетевого ключа, основываясь на техническом опыте и особенностях работы драйверов защиты.
Разберем ситуацию, когда ключ физически подключен (индикатор горит), но служба защиты его теряет. Одной из неочевидных причин является логика работы USB-контроллеров на сервере. Проанализируем основные моменты:
Часто проблема заключается в том, что служба HASP Loader (или Sentinel LDK License Manager) запускается раньше, чем операционная система успевает полностью инициализировать USB-контроллер и подключенное к нему устройство защиты. В этом случае служба стартует «вхолостую» и не видит ключ, пока её не перезапустят вручную.
Рассмотрим шаги по стабилизации работы службы:
Во-первых, проанализируем тип запуска. В свойствах службы Hasp Loader рекомендуется установить тип запуска «Автоматически (отложенный запуск)». Это даст системе фору в 1-2 минуты для завершения инициализации оборудования.
Во-вторых, если ключ «пропадает» во время работы, можно настроить действия при сбое в свойствах службы на вкладке «Восстановление», установив «Перезапуск службы» при первом и втором отказах.
Одной из самых частых причин сообщений «Ключ защиты не обнаружен» является использование широковещательных (broadcast) запросов в локальной сети. 1С по умолчанию пытается найти ключ, рассылая UDP-пакеты по всей сети, что часто блокируется маршрутизаторами или антивирусами. Проанализируем, как стабилизировать это соединение с помощью файла nethasp.ini.
Разберем пример настройки клиентского файла nethasp.ini (обычно он находится в папке conf установленной платформы или в каталоге пользователя):
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; Укажите здесь IP-адрес вашего сервера с ключом
NH_PORT_NUMBER = 475 ; Стандартный порт HASP LM
NH_TCPIP_METHOD = TCP ; Принудительно используем TCP вместо UDP
NH_USE_BROADCAST = Disabled ; Выключаем широковещательный поиск
Использование параметра NH_USE_BROADCAST = Disabled заставляет 1С обращаться напрямую к серверу лицензий. Это не только решает проблему «невидимости» ключа, но и значительно ускоряет запуск программы, так как 1С не ждет окончания таймаута сканирования всей сети.
Выясним причину возможных конфликтов на уровне портов. Стандартно для работы HASP License Manager используется порт 475 (UDP и TCP). Однако современные драйверы Sentinel также используют порт 1947 для веб-интерфейса Admin Control Center.
Рассмотрим ситуацию со Skype и другими программами. Хотя Skype чаще конфликтует с портами 80 и 443, любые приложения, использующие динамические порты, могут занять нужный диапазон. Для проверки доступности порта с клиентской машины используем команду:
telnet 192.168.1.100 475
Если в Windows 8.1 или 10/11 компонент Telnet не установлен, его нужно включить через «Включение и отключение компонентов Windows» или использовать PowerShell:
Test-NetConnection -ComputerName 192.168.1.100 -Port 475
Важно понимать разницу в раздаче лицензий. Проанализируем ситуацию, когда HASP Monitor показывает свободные лицензии, а пользователи не могут зайти:
HASP Monitor отображает корректную информацию о сессиях.rmngr). Сервер 1С забирает лицензии у ключа «оптом» и раздает их пользователям самостоятельно. Внимание: HASP Monitor не видит лицензии, которые раздал сервер 1С, он будет показывать их как свободные или видеть только одно соединение от самого сервера.Посмотрим на пример из практики: если у вас ключ на 5 пользователей и вы работаете в SQL-варианте, сервер 1С может забрать все 5 лицензий, и в мониторе это может отображаться некорректно. Для диагностики в современных системах лучше использовать интерфейс Sentinel Admin Control Center, доступный в браузере по адресу http://localhost:1947 на сервере, где установлен ключ.
Проанализируем влияние операционной системы. В последних обновлениях Windows 10 и 11 усилены меры безопасности, такие как «Изоляция ядра». Старые версии драйверов HASP (7.x) могут работать нестабильно или вызывать BSOD (синий экран смерти). Проверьте версию установленного драйвера. Для стабильной работы рекомендуется использовать версию Sentinel LDK Runtime 8.11 и выше. Перед установкой нового драйвера обязательно удалите старый через утилиту haspdinst.exe -purge.
Подводя итог, если ваш HASP-ключ работает нестабильно, последовательно проверьте питание USB-порта, настройте «отложенный запуск» службы HASP Loader и жестко пропишите IP-адрес сервера в nethasp.ini на клиентских машинах. Эти три шага решают 90% проблем с сетевыми ключами 1С.