Работа с аппаратными USB-ключами HASP в инфраструктуре 1С:Предприятие часто сопровождается техническими сложностями, особенно когда в сети сосуществуют и серверные, и файловые базы данных. Одной из самых коварных ошибок является сообщение: «nethasp.ini: прочитан успешно, ошибка соединения с менеджером лицензий: Net Status=0, System Error=0, Warning=15». Рассмотрим подробно причины возникновения этой ситуации и разберем по шагам методы её решения, основываясь на системном подходе к настройке сетевых интерфейсов и драйверов защиты.
Ошибка Warning=15 в контексте протокола NetHASP означает коммуникационную проблему (Communication Error). Это специфический статус, который говорит о том, что драйвер 1С смог найти конфигурационный файл nethasp.ini, успешно его прочитал и даже попытался инициировать соединение с менеджером лицензий (HASP LM), но сессия была прервана или не получила ответа. Проанализируем основные факторы, провоцирующие этот сбой:
Выясним причину, по которой ключ не виден в сети. Первым делом на сервере, где физически установлены USB-ключи, должен быть установлен HASP License Manager (HASP LM). Без этой службы ключи будут доступны только локально. Рассмотрим, как правильно настроить конфигурацию менеджера, чтобы избежать проблем с несколькими сетевыми интерфейсами.
Найдем файл nhsrv.ini, который обычно располагается в папке с установленным менеджером лицензий. Нам необходимо жестко привязать службу к конкретному IP-адресу сервера, который доступен всем пользователям. Отредактируем секцию [NHS_IP]:
[NHS_IP]
NHS_USE_UDP = Enabled
NHS_USE_TCP = Enabled
NHS_IP_ADDR = 192.168.1.200 ; Укажите здесь реальный IP вашего сервера
NHS_IP_PORT = 475
Важный момент: если у вас две подсети, убедитесь, что указанный IP-адрес маршрутизируется для обеих групп пользователей. После внесения изменений обязательно перезапустите службу HASP Loader через оснастку «Службы».
Теперь перейдем к настройке рабочего места пользователя. Нам нужно заставить 1С не тратить время на бесполезный широковещательный поиск (который часто и выдает Warning 15), а сразу обращаться по конкретному адресу сервера. Проанализируем структуру файла nethasp.ini, который обычно находится в папке C:\Program Files\1cv8\conf\ (или в папке bin\conf конкретной версии платформы).
Отредактируем секцию [NH_TCPIP] следующим образом:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.200 ; IP сервера с ключами
NH_PORT_NUMBER = 475
NH_TCPIP_METHOD = TCP или UDP ; Попробуйте переключить на TCP, если UDP блокируется
NH_USE_BROADCAST = Disabled ; Отключаем широковещательный поиск
Использование параметра NH_USE_BROADCAST = Disabled является критически важным. Это исключает задержки и ошибки, связанные с ожиданием ответа от всей сети, и направляет запрос напрямую к менеджеру лицензий. Чтобы упростить массовое применение измененного конфигурационного файла на компьютерах пользователей, можно использовать решение для автоматического развертывания платформы 1С по сети.
Проверим, не блокирует ли брандмауэр или антивирус прохождение трафика. Даже если брандмауэр Windows выключен, сетевые экраны антивирусного ПО могут продолжать фильтрацию. Для диагностики воспользуемся утилитой telnet. В командной строке на компьютере пользователя выполним:
telnet 192.168.1.200 475
Если после выполнения команды экран стал пустым (черным) — порт открыт и соединение установлено. Если появилось сообщение «Connect failed» — проблема в сетевом экране на сервере или в настройках маршрутизатора. Рассмотрим ситуацию, когда порт открыт, но лицензия не выдается. В этом случае стоит временно отключить настройку «Выдавать лицензии сервером 1С» в параметрах информационной базы в консоли администрирования, чтобы исключить конкуренцию между способами получения лицензий.
Разберем ситуацию с современными драйверами Sentinel, которые поставляются с последними версиями 1С 8.3. В них управление ключами часто осуществляется через веб-интерфейс Admin Control Center (ACC).
http://localhost:1947.0.0.0.0 для всех интерфейсов или указать конкретный IP).Если в списке Sentinel Keys ключи видны локально, но не отображаются в мониторе на клиентских ПК, проблема кроется именно в этих настройках доступа.
Проанализируем ситуацию, когда стандартные настройки не помогают. Иногда в системе происходит конфликт старых и новых версий драйверов HASP. Выясним, как произвести «чистую» установку:
haspdinst.exe).haspdinst.exe -purge. Это удалит все системные файлы драйвера и записи в реестре.haspdinst.exe -i.Также полезно проверить наличие файлов aks*.sys в системных папках Windows. Если после удаления драйвера они остались — удалим их вручную, так как они могут блокировать работу новых версий nhsrvice.exe.
Подводя итог, можно сказать, что борьба с HASP — это всегда последовательная проверка цепочки: Физический ключ -> Драйвер -> HASP LM (nhsrv.ini) -> Сеть (Port 475) -> Клиент (nethasp.ini). В случае с файловыми базами и Warning 15 чаще всего помогает именно жесткое прописание IP-адреса сервера в nethasp.ini при одновременном отключении Broadcast. Это позволяет 1С миновать сетевые коллизии и устанавливать прямое соединение с менеджером лицензий. Для комплексной диагностики и решения сопутствующих системных проблем полезно иметь под рукой структурированный справочник по администрированию Windows, Linux и 1С.
Помните, что если на сервере установлено два ключа одной серии (например, два ключа по 5 лицензий), HASP LM будет раздавать лицензии только с одного из них. В таких случаях лицензии не суммируются, и для корректной работы потребуется либо замена ключа на один более емкий, либо разнесение ключей на разные физические компьютеры.