Как настроить один аппаратный USB-ключ для раздачи лицензий двумя серверами 1С?

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

Рассмотрим распространенную административную задачу: в организации имеется один аппаратный сетевой USB-ключ защиты (например, на 100 пользователей) и два независимых физических сервера 1С, не объединенных в кластер. При этом один из серверов выполняет роль терминального сервера (RDP), где запущены клиентские приложения 1С. Разберем, как правильно настроить менеджер лицензий HASP License Manager и серверные базы 1С, чтобы лицензии запрашивались только серверами приложений, а тонкие и толстые клиенты не захватывали их напрямую.

Особенности и подсчет лицензий сервером 1С

Перед тем как переходить к техническим настройкам, проанализируем разницу в механизмах подсчета аппаратных лицензий:

  1. Прямое получение лицензии клиентом от HASP LM: Клиентское приложение 1С само обращается к менеджеру лицензий по сети. В этом случае расходуется 1 лицензия на одно серийное окружение / RDP-сессию. Пользователь может открыть внутри одной терминальной сессии 5 разных информационных баз, потратив всего 1 лицензию из ключа.
  2. Раздача лицензий сервером 1С: Лицензию у менеджера HASP LM запрашивает сам сервер 1С. При этой схеме списание происходит по принципу 1 лицензия на 1 сеанс (подключение к базе). Если пользователь запустит 3 базы в рамках одного сеанса RDP, сервер 1С заберет из пула 3 лицензии.

Два самостоятельных сервера 1С могут без проблем работать с одним общим ключом защиты через сетевой менеджер HASP LM (по умолчанию использует порт 475 UDP/TCP). Оба сервера будут параллельно обращаться к менеджеру и забирать лицензии из единого пула на 100 пользователей.

Шаг 1. Отключение прямого поиска аппаратного ключа на клиентах

Чтобы клиентские приложения на терминальном сервере или пользовательских ПК не запрашивали лицензии напрямую у HASP LM, отключим использование аппаратного ключа на стороне клиента. Выясним, как это сделать разными способами:

  1. Через окно запуска 1С: В окне выбора баз перейдем в Настройки и снимем флажок Использовать аппаратную лицензию (ключ защиты).
  2. Через файл глобальных настроек: В файле 1CEStart.cfg (находящемся в каталоге %AppData%\1C\1CEStart или %ProgramData%\1C\1CEStart) установим параметр: UseHWLicenses=0
  3. Через параметры ярлыка запуска: В командной строке или параметрах запуска информационных баз добавим ключ: /UseHwLicenses-

После реализации этих настроек клиент 1С прекратит попытки найти драйвер HASP локально или через сетевой broadcast-запрос и сразу обратится к серверу 1С за получением лицензии.

Шаг 2. Настройка выдачи лицензий на стороне сервера 1С

Разберем настройки платформ 1С для выполнения централизованной выдачи. В свойствах каждой информационной базы на каждом из двух серверов 1С необходимо убедиться в активности функции выдачи лицензий:

  1. Откроем консоль администрирования кластера серверов 1С Предприятия.
  2. Перейдем в свойства нужной информационной базы.
  3. Установим параметр Разрешить выдачу лицензий сервером в значение Да (по умолчанию данный параметр включен).

Шаг 3. Настройка конфигурационного файла nethasp.ini

Для гарантированной связи сервера 1С с менеджером лицензий HASP LM перейдем к настройке файла nethasp.ini, расположенного в каталоге установленной платформы на сервере (например, C:\Program Files\1cv8\conf или в каталоге службы 1С). Зададим точный IP-адрес сервера, где установлен аппаратный ключ:


[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.20
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled

Параметр NH_USE_BROADCAST = Disabled исключает лишний широковещательный трафик в локальной сети, ускоряя процесс инициализации сеанса.

Шаг 4. Ограничение доступа на стороне HASP License Manager

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

В секцию [NHS_SERVER] добавим параметр NHS_IP_LIMIT с указанием IP-адресов наших двух серверов 1С:


[NHS_SERVER]
NHS_IP_LIMIT = 192.168.0.10, 192.168.0.20

Проанализируем результат: менеджер лицензий будет принимать сетевые соединения по порту 475 исключительно от хостов 192.168.0.10 и 192.168.0.20. Любые прямые запросы от пользователей или RDP-сессий будут отклоняться.

Дополнительно рекомендуется настроить правила сетевого экрана (Брандмауэра Windows): закрыть входящий порт 475 (UDP/TCP) для всех IP-адресов подсети, за исключением адресов серверов 1С.

Важные особенности при совмещении служб RDP и сервера 1С

Посмотрим на важный нюанс: если терминальный сервер RDP и один из серверов 1С совмещены на одном физическом компьютере, локальный драйвер HASP может быть доступен клиентским процессам напрямую через системные вызовы ОС (минуя сетевые ограничения HASP LM). В такой конфигурации критически важно строго отключать использование аппаратного ключа на клиентах (ключ /UseHwLicenses- или UseHWLicenses=0 в 1CEStart.cfg).

Для идеальной изоляции рекомендуем выносить менеджер лицензий HASP LM на отдельный виртуальный узел или использовать аппаратные сетевые USB-концентраторы (USB-over-IP).

← На главную