Как устранить ошибку соединения с менеджером лицензий HASP «Warning=15» при запуске файловых баз 1С

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

Работа с аппаратными USB-ключами HASP в инфраструктуре 1С:Предприятие часто сопровождается техническими сложностями, особенно когда в сети сосуществуют и серверные, и файловые базы данных. Одной из самых коварных ошибок является сообщение: «nethasp.ini: прочитан успешно, ошибка соединения с менеджером лицензий: Net Status=0, System Error=0, Warning=15». Рассмотрим подробно причины возникновения этой ситуации и разберем по шагам методы её решения, основываясь на системном подходе к настройке сетевых интерфейсов и драйверов защиты.

Анализ причины проблемы: почему возникает Warning 15

Ошибка Warning=15 в контексте протокола NetHASP означает коммуникационную проблему (Communication Error). Это специфический статус, который говорит о том, что драйвер 1С смог найти конфигурационный файл nethasp.ini, успешно его прочитал и даже попытался инициировать соединение с менеджером лицензий (HASP LM), но сессия была прервана или не получила ответа. Проанализируем основные факторы, провоцирующие этот сбой:

  1. Наличие нескольких сетевых карт на сервере (Multi-homed server). Если на сервере установлены две и более сетевые карты (или настроено несколько IP-адресов), менеджер лицензий HASP LM может «слушать» не тот интерфейс, к которому обращаются пользователи, или пытаться отправить ответ через неверный шлюз.
  2. Блокировка UDP-трафика. По умолчанию поиск ключа идет по протоколу UDP через порт 475. В сложных сетях с разными подсетями широковещательные (broadcast) пакеты часто отсекаются маршрутизаторами или брандмауэрами.
  3. Особенности файловых баз. В отличие от клиент-серверного варианта, где лицензию выдает сам сервер 1С, файловая база при запуске на клиентском компьютере должна самостоятельно найти ключ в сети. Если на сервере не настроен и не запущен HASP License Manager, файловая база «не увидит» USB-ключ, вставленный в сервер.
  4. Конфликт версий драйверов. Остатки старых драйверов или некорректная установка Sentinel LDK могут приводить к тому, что служба запущена, но не имеет доступа к физическому USB-порту.

Шаг 1. Настройка сервера и HASP License Manager

Выясним причину, по которой ключ не виден в сети. Первым делом на сервере, где физически установлены 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 через оснастку «Службы».

Шаг 2. Настройка клиента через nethasp.ini

Теперь перейдем к настройке рабочего места пользователя. Нам нужно заставить 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С по сети.

Шаг 3. Проверка доступности портов

Проверим, не блокирует ли брандмауэр или антивирус прохождение трафика. Даже если брандмауэр Windows выключен, сетевые экраны антивирусного ПО могут продолжать фильтрацию. Для диагностики воспользуемся утилитой telnet. В командной строке на компьютере пользователя выполним:

telnet 192.168.1.200 475

Если после выполнения команды экран стал пустым (черным) — порт открыт и соединение установлено. Если появилось сообщение «Connect failed» — проблема в сетевом экране на сервере или в настройках маршрутизатора. Рассмотрим ситуацию, когда порт открыт, но лицензия не выдается. В этом случае стоит временно отключить настройку «Выдавать лицензии сервером 1С» в параметрах информационной базы в консоли администрирования, чтобы исключить конкуренцию между способами получения лицензий.

Шаг 4. Работа с современными драйверами (Sentinel ACC)

Разберем ситуацию с современными драйверами Sentinel, которые поставляются с последними версиями 1С 8.3. В них управление ключами часто осуществляется через веб-интерфейс Admin Control Center (ACC).

  1. Откроем браузер на сервере и перейдем по адресу http://localhost:1947.
  2. Перейдем в раздел Configuration, затем на вкладку Access from Remote Clients.
  3. Убедимся, что установлена галочка Allow Access from Remote Clients.
  4. На вкладке Network проверим, на каких сетевых интерфейсах разрешено прослушивание (рекомендуется оставить 0.0.0.0 для всех интерфейсов или указать конкретный IP).

Если в списке Sentinel Keys ключи видны локально, но не отображаются в мониторе на клиентских ПК, проблема кроется именно в этих настройках доступа.

Шаг 5. Полная очистка «хвостов» драйверов

Проанализируем ситуацию, когда стандартные настройки не помогают. Иногда в системе происходит конфликт старых и новых версий драйверов HASP. Выясним, как произвести «чистую» установку:

  1. Удалим текущий драйвер через «Панель управления».
  2. Скачаем официальную утилиту HASP SRM Run-time Command-line Installer (обычно файл называется haspdinst.exe).
  3. Запустим команду очистки: haspdinst.exe -purge. Это удалит все системные файлы драйвера и записи в реестре.
  4. После очистки установим драйвер заново командой 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 будет раздавать лицензии только с одного из них. В таких случаях лицензии не суммируются, и для корректной работы потребуется либо замена ключа на один более емкий, либо разнесение ключей на разные физические компьютеры.

← На главную