Аварийное отключение электроэнергии в офисе — распространенная причина внезапных сбоев в работе локальной сети и программного комплекса 1С. Часто возникает ситуация, когда после восстановления питания один или несколько компьютеров пользователей теряют связь с сетевым аппаратным ключом защиты HASP. При этом остальные рабочие станции продолжают успешно функционировать, а попытки переустановить платформу 1С или драйверы защиты на проблемном компьютере не приносят желаемого результата.
В рамках данной статьи мы подробно разберем, почему возникает подобная проблема, проанализируем механизмы сетевого поиска лицензий 1С, рассмотрим по шагам процесс ручной настройки связи через конфигурационный файл nethasp.ini, а также выясним, как полностью устранить последствия некорректных действий системных администраторов, пытавшихся обойти защиту программы.
Для начала проанализируем физику процесса. В одноранговых сетях (peer-to-peer, где нет выделенного сервера, а компьютеры соединены через обычный роутер или коммутатор) сетевой ключ защиты 1С вставляется в USB-порт одного из рабочих компьютеров. На этом же хосте запускается специальная служба раздачи лицензий — HASP License Manager.
Остальные компьютеры в сети при запуске 1С пытаются найти эту службу. По умолчанию поиск происходит посредством широковещательных UDP-запросов (broadcast) по всей локальной сети. Если служба на хосте откликается, клиентский ПК получает лицензию и запускает 1С. После аварийного отключения света эта схема часто ломается по двум основным причинам:
Также важно развеять популярное заблуждение, с которым часто сталкиваются начинающие специалисты. Устанавливать драйвер HASP-ключа на клиентском компьютере, где ключа нет физически, не имеет никакого смысла. Драйвер необходим исключительно для того, чтобы операционная система того ПК, в который физически вставлена металлическая USB-флешка (ключ), могла распознать это устройство. Клиентским компьютерам для работы нужен только сетевой доступ по протоколу TCP/IP.
Самым надежным способом решения проблемы, который обходит ограничения брандмауэра и нестабильность широковещательного поиска, является жесткое указание IP-адреса компьютера-хоста (где установлен ключ) в конфигурационном файле nethasp.ini.
Давайте рассмотрим, где найти этот файл и как его правильно отредактировать. Обычно файл nethasp.ini находится в каталоге установленной платформы 1С. В зависимости от разрядности операционной системы и версии платформы, пути могут быть следующими:
C:\Program Files\1cv8\conf\C:\Program Files (x86)\1cv8\conf\C:\Program Files\1cv8\8.3.XX.YYYY\bin\conf\Откроем файл nethasp.ini с помощью стандартного текстового редактора «Блокнот» (обязательно запустив его от имени Администратора, иначе система не позволит сохранить изменения) и приведем секцию [NH_TCPIP] к следующему виду:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100
NH_PORT_NUMBER = 475
NH_USE_BROADCAST = Disabled
Разберем детально, что означают эти параметры:
NH_TCPIP = Enabled — принудительно включает использование сетевого протокола TCP/IP для поиска ключа защиты.NH_SERVER_ADDR = 192.168.1.100 — указывает платформе точный IP-адрес компьютера, на котором физически установлен USB-ключ 1С. Вместо 192.168.1.100 необходимо вписать реальный IP-адрес вашего компьютера-хоста.NH_PORT_NUMBER = 475 — определяет стандартный сетевой порт для работы службы HASP (разрешен как TCP, так и UDP трафик).NH_USE_BROADCAST = Disabled — полностью отключает широковещательный поиск (broadcast) в сети. Это ускоряет запуск 1С, так как платформа сразу обращается по конкретному IP-адресу, не тратя время на опрос всей сети и минуя блокировки брандмауэра.Важное примечание: Чтобы данная настройка работала стабильно и не сбивалась в будущем, компьютеру, на котором физически установлен USB-ключ, необходимо присвоить статический (постоянный) IP-адрес. Это можно сделать в настройках вашего роутера (зарезервировав IP по MAC-адресу сетевой карты) или вручную прописав параметры IP в свойствах сетевого подключения в самой Windows на компьютере-хосте.
Если после настройки файла nethasp.ini ключ все еще не обнаруживается, нам необходимо проверить сетевые экраны (брандмауэры) как на клиентском компьютере, так и на компьютере с ключом.
Выполним следующие действия для диагностики сетевой доступности:
475. Разрешим подключение для всех профилей сети. Повторим аналогичную процедуру для «Правил для исходящих подключений».ping до компьютера с ключом. Если пакеты проходят, но порт закрыт, можно воспользоваться специализированной утилитой проверки доступности портов, например, командным запросом PowerShell:
Test-NetConnection -ComputerName 192.168.1.100 -Port 475
Если тест показывает отрицательный результат, значит, порт закрыт со стороны компьютера-хоста, либо сетевой трафик блокируется сторонним антивирусным ПО с функцией сетевого экрана (Firewall).
Часто в спешке системные администраторы пытаются решить проблему неработающего ключа деструктивными методами — например, установкой «патчей» или эмуляторов аппаратных ключей защиты. В результате таких действий пользователи сталкиваются с тем, что база данных объявляется «поврежденной», либо при запуске платформы возникает критическая ошибка: «Обнаружено нарушение целостности системы».
Современные версии платформы 1С:Предприятие имеют встроенную интеллектуальную защиту от использования эмуляторов (таких как Virtual USB Multikey, UniSable, HASP HL Emulator и др.). При обнаружении следов нелицензионного ПО в операционной системе 1С аварийно завершает работу. Чтобы восстановить штатную работу лицензионной программы, нам необходимо полностью вычистить все «следы» работы подобных утилит.
Выполним процедуру глубокой очистки системы по шагам:
Virtual Usb Bus, Virtual USB Multikey, VUSBBUS или SafeNet (если физический ключ не вставлен в этот ПК). При обнаружении таких устройств нажмем по ним правой кнопкой мыши и выберем «Удалить», обязательно отметив пункт «Удалить программы драйверов для этого устройства».C:\Windows\System32\drivers\ и проверим наличие файлов драйверов эмуляции. Ищем файлы со следующими именами: vusbbus.sys, haspflt.sys, HHLflt.sys, multikey.sys. Если они присутствуют, их необходимо удалить. Перед удалением следует остановить соответствующие службы. Откроем командную строку от имени Администратора и выполним команды:
loaddrv.exe -stop haspflt
loaddrv.exe -remove haspflt
loaddrv.exe -stop vusbbus
loaddrv.exe -remove vusbbus
regedit в окне «Выполнить» (Win + R). Перейдем по следующим путям и полностью удалим разделы реестра, если они существуют:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\vusbbusHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\haspfltHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EmulatorHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\NEWHASPПосле удаления этих веток перезагрузим компьютер.
Также нередко «химики» подменяют оригинальные файлы платформы 1С (в частности, библиотеку защиты backbas.dll). Чтобы гарантированно избавиться от модифицированных файлов, мы рекомендуем полностью удалить платформу 1С через «Панель управления» -> «Программы и компоненты», вручную удалить оставшуюся папку C:\Program Files\1cv8\ (или C:\Program Files (x86)\1cv8\) и выполнить чистую установку платформы из официального дистрибутива технологической платформы 1С.
Если клиентский компьютер полностью настроен и очищен, но ключ все равно не выдает лицензию, переключим наше внимание на компьютер, в который этот ключ вставлен физически. После скачка напряжения или аварийного выключения на нем могли произойти аппаратные или программные сбои:
services.msc через Win + R). Найдем службу, отвечающую за работу сетевого ключа. В зависимости от версии драйверов она может называться HASP Loader, HASP License Manager или Sentinel LDK License Manager. Убедимся, что служба запущена и тип ее запуска установлен как «Автоматически». Если служба остановлена, запустим ее вручную. Если она зависла — выполним перезапуск.Применяя данные методы диагностики и настройки последовательно, мы сможем оперативно локализовать проблему сетевого ключа защиты, надежно настроить подключение через файл nethasp.ini в обход нестабильного сетевого окружения и полностью восстановить бесперебойную работу пользователей в программных продуктах 1С.