Почему 1С не видит второй USB-ключ на сервере и как это исправить?

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

При расширении штата сотрудников часто возникает ситуация, когда к уже имеющемуся аппаратному ключу защиты (например, на 10 пользователей) докупают еще один USB-ключ (например, на 5 пользователей). Однако после подключения второго ключа в свободный USB-порт сервера обнаруживается, что система «1С:Предприятие» по-прежнему видит только старые 10 лицензий, а новые пользователи зайти в базу не могут. В окне справки отображается информация только об одном ключе.

В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем технические ограничения защитной системы HASP и рассмотрим по шагам несколько рабочих способов ее решения.

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

Главная причина кроется в аппаратной архитектуре и делении ключей защиты на серии. Сетевые клиентские ключи «1С» на 5, 10, 20, 50 и 100 пользователей относятся к одной и той же серии — ORGL8. Ключи на 300 пользователей относятся к серии ORG8A, а на 500 пользователей — к серии ORG8B.

Драйвер защиты HASP и операционная система компьютера на физическом уровне не умеют различать два ключа одной серии, подключенные к одной машине. Для операционной системы они выглядят абсолютно одинаково — как два устройства с идентичными аппаратными идентификаторами (Vendor ID и Product ID). В результате операционная система инициализирует только один из них (выбранный случайным образом), а второй ключ просто игнорируется и остается неактивным.

Таким образом, простое подключение двух ключей серии ORGL8 в один системный блок физически не позволит вам суммировать лицензии. Чтобы решить эту проблему, нам придется применить один из системных обходных путей.

Проанализируем доступные варианты решения проблемы.

---

Способ 1. Разнесение ключей по разным компьютерам в локальной сети

Это классическое и наиболее надежное техническое решение, если у вас в локальной сети есть другие физические компьютеры (например, компьютеры пользователей или другие серверы).

Разберем по шагам, как правильно настроить эту схему, чтобы избежать конфликтов сетевых менеджеров лицензий (HASP LM):

  1. Физическое подключение. Оставьте первый ключ (на 10 пользователей) в основном сервере (например, сервере терминалов). Второй ключ (на 5 пользователей) подключите к любому другому постоянно включенному компьютеру в вашей локальной сети.
  2. Установка менеджера лицензий. На обоих компьютерах должен быть установлен и запущен драйвер защиты и служба HASP License Manager (HASP LM).
  3. Устранение конфликта имен в сети. По умолчанию все запущенные службы HASP LM пытаются зарегистрировать в локальной сети одно и то же имя по протоколу NetBIOS (обычно это AladinHaspV01.2:30). Это приводит к конфликту, и пользователи будут видеть только один из менеджеров. Чтобы этого избежать, нам нужно присвоить серверам лицензий уникальные имена в файле конфигурации nhsrv.ini.

Рассмотрим подробнее настройку конфигурационных файлов.

Найдите файл nhsrv.ini в папке установленного HASP License Manager (обычно это путь C:\Program Files (x86)\Aladdin\HASP LM\) на обоих компьютерах.

На первом компьютере (где установлен ключ на 10 лицензий) откройте файл текстовым редактором и отредактируйте секцию [NHS_SERVER] следующим образом:


[NHS_SERVER]
NHS_SERVERNAMES = LM_TEN

На втором компьютере (где установлен ключ на 5 лицензий) отредактируйте аналогичный файл, задав другое уникальное имя:


[NHS_SERVER]
NHS_SERVERNAMES = LM_FIVE

После изменения файлов обязательно перезапустите службы HASP License Manager на обоих компьютерах через оснастку "Службы" (services.msc).

Теперь необходимо настроить клиентские компьютеры (или сервер терминалов), чтобы они знали, откуда забирать лицензии. Для этого отредактируйте файл конфигурации клиентов nethasp.ini (он обычно располагается по пути C:\Program Files\1cv8\conf\ или в папке пользователя).

Внесите в него следующие настройки, отключив лишние протоколы для ускорения поиска ключей и явно указав IP-адреса машин:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10, 192.168.1.20 ; Укажите здесь реальные IP-адреса ваших серверов с ключами
NH_SERVER_NAME = LM_TEN, LM_FIVE            ; Укажите заданные нами имена менеджеров лицензий

---

Способ 2. Использование виртуализации на одном сервере (проброс USB)

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

Разберем, как реализовать эту схему:

  1. Установите на вашем сервере любую систему виртуализации (Hyper-V, ESXi, Proxmox, VirtualBox или встроенную роль Hyper-V в Windows Server).
  2. Создайте легковесную виртуальную машину (ВМ) под управлением любой операционной системы (подойдет даже устаревшая Windows XP или дистрибутив Linux, так как нагрузка будет минимальной).
  3. Настройте эксклюзивный проброс USB-порта (USB Passthrough). В настройках гипервизора укажите, что физический USB-порт, в который вставлен второй ключ (на 5 пользователей), должен быть напрямую проброшен в созданную виртуальную машину. При этом на физическом хост-сервере данный ключ «исчезнет» из списка устройств, что полностью исключит аппаратный конфликт.
  4. Внутри виртуальной машины установите драйвер защиты и службу HASP License Manager.
  5. Настройте сетевое взаимодействие между виртуальной машиной и хост-сервером, прописав соответствующие настройки в файлах nhsrv.ini внутри ВМ и nethasp.ini на хост-сервере, как это было подробно описано в Способе 1.

---

Способ 3. Переход на программные лицензии (пин-коды)

Наиболее современным, надежным и рекомендуемым фирмой «1С» решением является отказ от физических USB-ключей в пользу программных лицензий.

Программные лицензии представляют собой файлы с расширением *.lic, которые привязываются к ключевым параметрам компьютера (материнская плата, процессор, сетевая карта и т.д.).

Преимущества программных лицензий:

Для перехода на программные лицензии вам необходимо обратиться к любому официальному партнеру фирмы «1С» и оформить процедуру замены аппаратных ключей на программные (так называемый апгрейд или обмен лицензий).

---

Способ 4. Аппаратный апгрейд ключей

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

Вы можете сдать партнеру «1С» ваши ключи на 10 и 5 пользователей и с небольшой доплатой взамен получить один физический USB-ключ серии ORGL8 на 20 пользователей. В этом случае ключ будет один, он без проблем определится сервером, а количество доступных лицензий покроет все ваши потребности без сложного сетевого администрирования.

---

Важное примечание: раздача лицензий сервером «1С:Предприятие»

Если вы решили использовать сетевое разделение ключей (Способ 1 или Способ 2), обратите внимание на настройку раздачи лицензий самим сервером «1С».

Если в настройках вашей информационной базы на сервере включена опция Разрешить выдачу лицензий сервером 1С:Предприятия, то сервер при запуске сеансов опрашивает сеть и выбирает только один случайный ключ серии ORGL8. Если сервер выберет ключ на 5 пользователей, то при исчерпании этих 5 лицензий он не станет обращаться ко второму ключу на 10 пользователей, и пользователи начнут получать сообщения о нехватке лицензий.

Чтобы избежать этой проблемы, рекомендуется отключить выдачу лицензий сервером (установить параметр в значение Нет) в свойствах информационной базы в консоли администрирования сервера «1С». В таком случае клиентские приложения будут самостоятельно искать лицензии в сети напрямую у менеджеров лицензий HASP LM по правилам, описанным в файле nethasp.ini.

← На главную