При масштабировании бизнеса и увеличении штата сотрудников ИТ-специалисты часто сталкиваются с ситуацией, когда имеющихся лицензий «1С:Предприятие» становится недостаточно. Например, в организации уже есть сетевой ключ на 10 пользователей (серия ORGL8, маркировка NET10), и к нему докупается еще один ключ на 20 пользователей (серия ORGL8, маркировка NET20). Естественное желание администратора — установить оба ключа в один сервер, чтобы получить в сумме 30 рабочих мест. Однако при стандартном подключении система защиты просто проигнорирует один из ключей.
В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем внутренние механизмы работы драйверов HASP и предложим пошаговые инструкции по настройке стабильной работы нескольких ключей защиты в одной локальной сети.
Давайте выясним техническую причину этого ограничения. Ключи защиты HASP HL (красного цвета), предназначенные для многопользовательского доступа на 5, 10, 20, 50, 100 и более рабочих мест, относятся к одной программной серии — ORGL8. Операционная система и менеджер лицензий HASP License Manager (HASP LM) на физическом уровне не умеют адресовать и разделять лицензии с двух разных USB-устройств одной серии, подключенных к одной машине.
Если мы вставим оба ключа (на 10 и 20 пользователей) в USB-порты одного и того же сервера, произойдет следующее:
Важное исключение: на одном сервере могут одновременно работать только ключи разных серий. Например, мы можем без проблем объединить в рамках одного сервера:
ORGL8).ORGL8).ORG8A).ORG8B).ENSR8 или EN8SA).Поскольку наши ключи NET10 и NET20 относятся к одной серии (ORGL8), их совместное использование на одном сервере физически невозможно. Нам необходимо разнести их по разным компьютерам сети.
Разберем базовую схему размещения оборудования. Нам потребуются как минимум два компьютера в локальной сети, которые постоянно включены и доступны для пользователей.
Выполним следующие действия по шагам:
NET20) мы оставляем на основном сервере терминалов (RDP-сервере) или сервере приложений «1С».NET10) мы подключаем к любому другому постоянно работающему компьютеру в этой же локальной сети (это может быть файловый сервер, сервер СУБД или даже рабочая станция бухгалтера, которая не выключается в течение рабочего дня).Перед тем как перейти к настройке конфигурационных файлов, нам крайне важно проанализировать, кто именно будет раздавать лицензии пользователям. В свойствах информационной базы в консоли администрирования «1С» есть критически важный параметр: «Разрешить выдачу лицензий сервером "1С:Предприятия"».
Рассмотрим два сценария его работы:
Сценарий А: Выдача лицензий сервером включена (значение «Да»)
В этом режиме клиентские приложения не обращаются к ключам напрямую. Запрос на получение лицензии делает сам сервер «1С:Предприятия». Однако здесь кроется важнейшая особенность платформы: при поиске сетевых лицензий сервер «1С» опрашивает сеть и монополизирует только один первый найденный сетевой ключ серии ORGL8. Если сервер найдет ключ NET20 на основном сервере, он заберет его лицензии. Когда все 20 лицензий будут исчерпаны, сервер «1С» не пойдет опрашивать второй компьютер с ключом NET10. В результате 10 лицензий окажутся недоступны. Таким образом, при использовании сервера «1С» для раздачи лицензий суммировать данные ключи не удастся.
Сценарий Б: Выдача лицензий сервером выключена (значение «Нет»)
В этом случае лицензии получают сами клиентские приложения (тонкие или толстые клиенты) по сети напрямую от менеджеров лицензий HASP LM. При запуске программа опрашивает доступные менеджеры лицензий. Если первый менеджер (с ключом на 20 пользователей) сообщает, что свободных лицензий нет, клиентское приложение автоматически переходит к опросу второго менеджера лицензий (с ключом на 10 пользователей) и успешно запускается. Именно этот сценарий позволяет нам полноценно суммировать лицензии с обоих ключей!
Обратите внимание на разницу в подсчете лицензий:
HASP LM (Сценарий Б) лицензия выдается на рабочую станцию (сессию). Пользователь внутри одной терминальной сессии может запустить 5 различных баз «1С», и при этом будет потрачена всего одна лицензия.По умолчанию клиентские компьютеры ищут менеджеры лицензий в сети с помощью широковещательных UDP-запросов (broadcast). При наличии нескольких ключей в сети такой поиск может происходить хаотично: пользователи будут случайным образом подключаться то к одному, то к другому ключу. Это часто приводит к «зависанию» лицензий и нестабильной работе программы.
Чтобы навести порядок, мы выполним жесткую настройку адресов менеджеров лицензий. Для этого нам понадобится отредактировать конфигурационный файл nethasp.ini. Этот файл находится на клиентских компьютерах (или на сервере терминалов, если пользователи работают в RDP) в каталоге установки платформы C:\Program Files\1cv8\conf\ (или в папке конкретной версии платформы, например, C:\Program Files\1cv8\8.3.XX.XXXX\bin\conf\).
Откроем файл nethasp.ini в текстовом редакторе и приведем его к следующему виду:
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.51, 192.168.1.52
NH_PORT_NUMBER = 475
NH_USE_BROADCAST = Disabled
NH_SEND_RCV_TIMEOUT_SEC = 2
Разберем детально параметры, которые мы настроили:
NH_TCPIP = Enabled — принудительно разрешаем использование стабильного протокола TCP/IP для связи с ключами.NH_USE_BROADCAST = Disabled — полностью отключаем широковещательный поиск. Теперь клиент «1С» не будет «спамить» в сеть запросами, а обратится напрямую к конкретным серверам.NH_SERVER_ADDR = 192.168.1.51, 192.168.1.52 — указываем IP-адреса компьютеров, на которых установлены наши ключи. Сначала программа попытается получить лицензию с адреса 192.168.1.51 (где установлен ключ на 20 лицензий), а при отсутствии свободных мест обратится к хосту 192.168.1.52 (с ключом на 10 лицензий).NH_PORT_NUMBER = 475 — стандартный порт работы службы HASP License Manager.Если в вашей сети используется старый протокол NetBIOS (или требуется дополнительная изоляция менеджеров), два запущенных HASP LM могут конфликтовать, так как по умолчанию регистрируют в сети одинаковое сетевое имя — AladinHaspV01.2:30.
Чтобы избежать конфликтов имен на сетевом уровне, мы можем задать каждому менеджеру уникальное имя. Настройка выполняется в файле nhsrv.ini, который расположен в папке с установленной службой HASP LM на серверах с ключами.
На первом сервере (с адресом 192.168.1.51) пропишем в файле nhsrv.ini:
[NHS_SERVER]
NHS_SERVERNAMES = LM001
На втором сервере (с адресом 192.168.1.52) укажем уникальное имя:
[NHS_SERVER]
NHS_SERVERNAMES = LM002
После изменения параметров конфигурации обязательно перезапустите службу HASP Loader на обоих серверах через оснастку управления службами Windows (services.msc).
В клиентском файле nethasp.ini на рабочих станциях сопоставим эти имена в явном виде:
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.51, 192.168.1.52
NH_SERVER_NAME = LM001, LM002
Если инфраструктура усложняется, а администрирование физических USB-ключей и файлов конфигурации nethasp.ini отнимает слишком много времени, мы рекомендуем рассмотреть современную альтернативу — переход на программные лицензии (пин-коды).
Программные лицензии обладают неоспоримыми преимуществами:
Для перехода на программную защиту вы можете обратиться к вашему партнеру «1С» для проведения процедуры апгрейда (обмена) аппаратных ключей защиты на программные лицензии.