Что делать, если 1С перестала видеть сетевой ключ после отключения электричества?

Системный администратор IT и автоматизация бизнеса
← На главную

Аварийное отключение электроэнергии в офисе — распространенная причина внезапных сбоев в работе локальной сети и программного комплекса 1С. Часто возникает ситуация, когда после восстановления питания один или несколько компьютеров пользователей теряют связь с сетевым аппаратным ключом защиты HASP. При этом остальные рабочие станции продолжают успешно функционировать, а попытки переустановить платформу 1С или драйверы защиты на проблемном компьютере не приносят желаемого результата.

В рамках данной статьи мы подробно разберем, почему возникает подобная проблема, проанализируем механизмы сетевого поиска лицензий 1С, рассмотрим по шагам процесс ручной настройки связи через конфигурационный файл nethasp.ini, а также выясним, как полностью устранить последствия некорректных действий системных администраторов, пытавшихся обойти защиту программы.

Выясняем причины проблемы: почему пропадает связь с сетевым ключом?

Для начала проанализируем физику процесса. В одноранговых сетях (peer-to-peer, где нет выделенного сервера, а компьютеры соединены через обычный роутер или коммутатор) сетевой ключ защиты 1С вставляется в USB-порт одного из рабочих компьютеров. На этом же хосте запускается специальная служба раздачи лицензий — HASP License Manager.

Остальные компьютеры в сети при запуске 1С пытаются найти эту службу. По умолчанию поиск происходит посредством широковещательных UDP-запросов (broadcast) по всей локальной сети. Если служба на хосте откликается, клиентский ПК получает лицензию и запускает 1С. После аварийного отключения света эта схема часто ломается по двум основным причинам:

  1. Смена сетевого профиля операционной системы. При перезагрузке после сбоя питания ОС Windows (особенно Windows 7 или Windows 10) на проблемном компьютере может ошибочно определить локальную сеть не как «Частную» (Домашнюю/Рабочую), а как «Общественную» (Public). Брандмауэр Windows в общественном профиле по умолчанию блокирует любые входящие и исходящие широковещательные UDP-запросы. В результате компьютер физически видит другие ПК по сети, но широковещательный запрос от 1С не может выйти наружу или получить ответ.
  2. Изменение IP-адреса хоста с ключом. Если на компьютере, где физически установлен USB-ключ, IP-адрес выдается роутером автоматически по DHCP, то после перезагрузки сетевого оборудования этот адрес мог измениться. Прежние настройки связи перестают работать.

Также важно развеять популярное заблуждение, с которым часто сталкиваются начинающие специалисты. Устанавливать драйвер HASP-ключа на клиентском компьютере, где ключа нет физически, не имеет никакого смысла. Драйвер необходим исключительно для того, чтобы операционная система того ПК, в который физически вставлена металлическая USB-флешка (ключ), могла распознать это устройство. Клиентским компьютерам для работы нужен только сетевой доступ по протоколу TCP/IP.

Шаг 1. Прямое указание сетевого адреса в файле nethasp.ini

Самым надежным способом решения проблемы, который обходит ограничения брандмауэра и нестабильность широковещательного поиска, является жесткое указание IP-адреса компьютера-хоста (где установлен ключ) в конфигурационном файле nethasp.ini.

Давайте рассмотрим, где найти этот файл и как его правильно отредактировать. Обычно файл nethasp.ini находится в каталоге установленной платформы 1С. В зависимости от разрядности операционной системы и версии платформы, пути могут быть следующими:

Откроем файл 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

Разберем детально, что означают эти параметры:

Важное примечание: Чтобы данная настройка работала стабильно и не сбивалась в будущем, компьютеру, на котором физически установлен USB-ключ, необходимо присвоить статический (постоянный) IP-адрес. Это можно сделать в настройках вашего роутера (зарезервировав IP по MAC-адресу сетевой карты) или вручную прописав параметры IP в свойствах сетевого подключения в самой Windows на компьютере-хосте.

Шаг 2. Настройка брандмауэра Windows и сетевого профиля

Если после настройки файла nethasp.ini ключ все еще не обнаруживается, нам необходимо проверить сетевые экраны (брандмауэры) как на клиентском компьютере, так и на компьютере с ключом.

Выполним следующие действия для диагностики сетевой доступности:

  1. Проверим профиль сети. Перейдем в «Центр управления сетями и общим доступом». Убедимся, что текущее сетевое подключение имеет статус «Домашняя сеть» или «Рабочая сеть» (Частная). Если там указано «Общественная сеть», изменим этот параметр на частный.
  2. Откроем порт 475 в брандмауэре Windows. Нам нужно создать правила для входящих и исходящих подключений. Откроем «Брандмауэр Windows в режиме повышенной безопасности», выберем пункт «Правила для входящих подключений» -> «Создать правило». Выберем тип «Для порта», укажем протоколы TCP и UDP и введем номер порта 475. Разрешим подключение для всех профилей сети. Повторим аналогичную процедуру для «Правил для исходящих подключений».
  3. Для проверки связи между компьютерами используем командную строку. Попробуем выполнить команду ping до компьютера с ключом. Если пакеты проходят, но порт закрыт, можно воспользоваться специализированной утилитой проверки доступности портов, например, командным запросом PowerShell:

Test-NetConnection -ComputerName 192.168.1.100 -Port 475

Если тест показывает отрицательный результат, значит, порт закрыт со стороны компьютера-хоста, либо сетевой трафик блокируется сторонним антивирусным ПО с функцией сетевого экрана (Firewall).

Шаг 3. Удаляем последствия вмешательства сисадмина и чистим систему

Часто в спешке системные администраторы пытаются решить проблему неработающего ключа деструктивными методами — например, установкой «патчей» или эмуляторов аппаратных ключей защиты. В результате таких действий пользователи сталкиваются с тем, что база данных объявляется «поврежденной», либо при запуске платформы возникает критическая ошибка: «Обнаружено нарушение целостности системы».

Современные версии платформы 1С:Предприятие имеют встроенную интеллектуальную защиту от использования эмуляторов (таких как Virtual USB Multikey, UniSable, HASP HL Emulator и др.). При обнаружении следов нелицензионного ПО в операционной системе 1С аварийно завершает работу. Чтобы восстановить штатную работу лицензионной программы, нам необходимо полностью вычистить все «следы» работы подобных утилит.

Выполним процедуру глубокой очистки системы по шагам:

  1. Проверка Диспетчера устройств. Откроем Диспетчер устройств Windows. В верхнем меню перейдем в раздел «Вид» и установим галочку «Показать скрытые устройства». Внимательно проанализируем дерево устройств. В ветках «Контроллеры USB» или «Системные устройства» не должно быть виртуальных устройств с названиями, содержащими: Virtual Usb Bus, Virtual USB Multikey, VUSBBUS или SafeNet (если физический ключ не вставлен в этот ПК). При обнаружении таких устройств нажмем по ним правой кнопкой мыши и выберем «Удалить», обязательно отметив пункт «Удалить программы драйверов для этого устройства».
  2. Удаление файлов эмуляторов из системных каталогов. Перейдем в папку 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
  1. Очистка реестра Windows. Откроем редактор реестра с помощью команды regedit в окне «Выполнить» (Win + R). Перейдем по следующим путям и полностью удалим разделы реестра, если они существуют:

После удаления этих веток перезагрузим компьютер.

Также нередко «химики» подменяют оригинальные файлы платформы 1С (в частности, библиотеку защиты backbas.dll). Чтобы гарантированно избавиться от модифицированных файлов, мы рекомендуем полностью удалить платформу 1С через «Панель управления» -> «Программы и компоненты», вручную удалить оставшуюся папку C:\Program Files\1cv8\ (или C:\Program Files (x86)\1cv8\) и выполнить чистую установку платформы из официального дистрибутива технологической платформы 1С.

Шаг 4. Проверка и диагностика компьютера-хоста (где установлен физический ключ)

Если клиентский компьютер полностью настроен и очищен, но ключ все равно не выдает лицензию, переключим наше внимание на компьютер, в который этот ключ вставлен физически. После скачка напряжения или аварийного выключения на нем могли произойти аппаратные или программные сбои:

Применяя данные методы диагностики и настройки последовательно, мы сможем оперативно локализовать проблему сетевого ключа защиты, надежно настроить подключение через файл nethasp.ini в обход нестабильного сетевого окружения и полностью восстановить бесперебойную работу пользователей в программных продуктах 1С.

← На главную