Почему 1С не переключается автоматически между несколькими физическими сетевыми ключами?

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

При работе с несколькими аппаратными ключами HASP в локальной сети администраторы часто сталкиваются с ситуацией, когда клиенты «цепляются» за один ключ и не переходят на свободный при его заполнении. Давайте разберемся, почему это происходит и как правильно организовать распределение лицензий.

Понимание алгоритма поиска лицензий

Прежде всего, важно уяснить, как именно клиентское приложение 1С:Предприятие ищет доступные лицензии. Процесс поиска строго регламентирован:

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

Важно помнить: если лицензии раздает Сервер 1С:Предприятие, то именно он является «клиентом» для HASP License Manager. В этом случае настройки nethasp.ini на компьютерах пользователей не влияют на процесс получения лицензий сервером 1С.

Настройка работы с несколькими ключами через nethasp.ini

Если вы хотите, чтобы клиенты или сервер 1С корректно видели несколько ключей, необходимо обеспечить уникальность имен серверов и их правильный порядок в конфигурационных файлах.

Разберем по шагам настройку nethasp.ini:

  1. Откройте файл nethasp.ini (обычно находится в папке conf платформы 1С).
  2. В секции [NH_TCPIP] укажите IP-адреса серверов через запятую в параметре NH_SERVER_ADDR.
  3. В параметре NH_SERVER_NAME укажите соответствующие имена серверов, заданные в nhsrv.ini на каждой машине с ключом.

Важно, чтобы порядок имен в NH_SERVER_NAME строго соответствовал порядку IP-адресов в NH_SERVER_ADDR. Имя сервера должно быть коротким (до 7 символов) и на латинице.

Пример корректной настройки для двух серверов:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.41, 192.168.1.54
NH_SERVER_NAME = LM1, LM2
NH_USE_BROADCAST = Disabled

Особенности работы через Сервер 1С:Предприятие

Когда лицензии раздает Сервер 1С, он не умеет динамически «балансировать» нагрузку между ключами в режиме пула. Если сервер 1С увидел один ключ и исчерпал его лимит, он может не пытаться опросить второй ключ в сети. Чтобы избежать проблем:

Технические ограничения

Не пытайтесь устанавливать два физических ключа одной серии в один и тот же USB-порт или на одну виртуальную машину. Драйвер защиты увидит только один из них (или они будут конфликтовать). Для масштабирования системы используйте:

  1. Разные физические машины (серверы) для каждого USB-ключа.
  2. Уникальные настройки NHS_IP_LIMIT в nhsrv.ini на стороне каждого менеджера лицензий для ограничения круга «опрашивающих» устройств.
  3. Использование порта 475 (UDP/TCP), который должен быть открыт во всех межсетевых экранах (Firewall) для стабильной работы протокола HASP.

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

← На главную