При администрировании инфраструктуры 1С:Предприятие часто возникает задача разделения ресурсов лицензирования. Типичный сценарий: в организации развернуто два сервера 1С. На первом сервере (Сервер №1) установлены как программные лицензии, так и подключены аппаратные USB-ключи защиты HASP. Второй сервер (Сервер №2) должен использовать исключительно собственные программные лицензии, не затрагивая аппаратные ключи первого сервера.
Если оставить настройки по умолчанию, то тонкие клиенты при подключении к базам на Сервере №2 начнут опрашивать локальную сеть по широковещательным запросам и могут занять аппаратные лицензии с Сервера №1. Это приведет к нехватке лицензий на первом сервере и нерациональному использованию ресурсов. В данной статье мы подробно разберем, как жестко разграничить потоки получения лицензий для каждого сервера.
Прежде чем переходить к настройке, проанализируем, как именно платформа 1С:Предприятие осуществляет поиск клиентских лицензий. Поиск происходит в строго определенном порядке:
.lic на компьютере пользователя).Наша главная задача — сделать так, чтобы пользователи Сервера №2 получали лицензии только по четвертому пункту (непосредственно от своего сервера) и физически не могли выполнить поиск по третьему пункту (сетевые USB-ключи на Сервере №1).
Рассмотрим по шагам два основных сценария решения этой задачи в зависимости от архитектуры вашей сети.
---
Если ваши серверы представляют собой две независимые машины в разных кластерах 1С, выполним последовательную настройку на стороне сервера и на стороне клиентов.
Для того чтобы Сервер №2 самостоятельно выдавал лицензии из своего программного пула, мы должны явно разрешить ему это делать в настройках каждой информационной базы.
Выполним следующие действия:
После включения этого параметра сервер при подключении клиента будет в первую очередь пытаться выделить ему программную лицензию из файлов, установленных на самом Сервере №2.
Даже если сервер настроен на выдачу лицензий, тонкий клиент по умолчанию пытается найти локальные или сетевые USB-ключи. Чтобы запретить клиентам Сервера №2 опрашивать сеть на наличие HASP-ключей, необходимо изменить параметры их запуска.
Для этого мы можем использовать два метода:
Метод А. Индивидуальная настройка базы в окне запуска.
В окне со списком информационных баз выберем нужную базу, нажмем кнопку «Изменить» и на последней вкладке в поле «Дополнительные параметры запуска» пропишем ключ защиты:
/UseHwLicenses-
Этот параметр указывает платформе полностью игнорировать наличие любых аппаратных ключей при запуске данной информационной базы.
Метод Б. Глобальное отключение через файл конфигурации.
Если пользователей много, настраивать каждую базу вручную неудобно. Мы можем внести изменения в общий конфигурационный файл 1CEStart.cfg, который располагается по пути: %ProgramData%\1C\1CEStart\1CEStart.cfg (для всех пользователей компьютера) или %AppData%\Roaming\1C\1CEStart\1CEStart.cfg (для текущего пользователя).
Откроем файл любым текстовым редактором и добавим в него строку:
UseHWLicenses=0
После этого все базы, запускаемые на данном компьютере, по умолчанию перестанут искать USB-ключи.
Иногда сам сервер 1С (процесс rphost) при нехватке лицензий или при определенных условиях запуска фоновых заданий может инициировать поиск сетевых аппаратных ключей в локальной сети. Чтобы полностью изолировать Сервер №2 от аппаратных ключей Сервера №1, отредактируем файл конфигурации сетевого драйвера HASP — nethasp.ini.
Этот файл обычно находится в каталоге установленной платформы на сервере: C:\Program Files\1cv8\conf\nethasp.ini (или в папке менеджера лицензий, если он установлен). Если файла нет в папке conf, его можно скопировать туда из шаблонов или создать вручную.
Проанализируем структуру файла и внесем изменения в секцию [NH_COMMON], принудительно отключив все сетевые протоколы поиска ключей:
[NH_COMMON]
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP = Disabled
Сохраним изменения. Теперь процесс rphost на Сервере №2 физически не сможет отправить сетевой запрос к службе HASP License Manager на Сервере №1.
Для обеспечения стопроцентной гарантии изоляции настроим правила безопасности в локальной сети. Сетевые ключи защиты HASP обмениваются информацией по порту 475 (используются протоколы UDP и TCP).
Выполним настройку брандмауэра (Windows Firewall или аппаратного роутера в вашей сети):
При такой конфигурации даже при возникновении непредвиденных сбоев в настройках платформы запросы на получение лицензий гарантированно упрутся в сетевой экран.
---
Рассмотрим другую ситуацию: Сервер №1 и Сервер №2 работают в рамках единого кластера 1С. В этом случае нам не нужно переписывать файлы на компьютерах пользователей. Мы можем управлять распределением лицензий централизованно через консоль администрирования кластера.
Для решения нашей задачи мы настроим Требования назначения функциональности. Обратите внимание, что эта возможность полноценно доступна при наличии лицензий уровня КОРП.
Разберем процесс настройки по шагам:
Сервис лицензирования.Назначать.Сервис лицензирования.Назначать.После применения этих правил кластер будет автоматически перенаправлять запросы на получение лицензий для баз Сервера №2 только на службу лицензирования Сервера №2, полностью игнорируя аппаратные ключи и программные файлы первого сервера.
---
В процессе обсуждения на форумах часто всплывает важный нюанс, который необходимо учитывать администраторам. Рассмотрим ситуацию: на одном сервере пытаются использовать два сетевых USB-ключа (например, два ключа по 10 лицензий серии ORGL8).
Важно помнить: стандартный HASP License Manager на одном физическом или виртуальном сервере не может одновременно раздавать лицензии с двух ключей одинаковой серии. Он «увидит» только один из них, а второй ключ будет проигнорировать.
Чтобы обойти это ограничение и заставить работать несколько ключей:
nethasp.ini на клиентах нужно будет четко прописать IP-адреса этих серверов в параметре NH_SERVER_ADDR.---
Мы подробно разобрали, как изолировать лицензии между двумя серверами 1С. Подведем итоги наших действий:
/UseHwLicenses- на клиентах и отключаем протоколы в nethasp.ini на сервере.Применение этих методов позволит вам построить отказоустойчивую и прозрачную систему лицензирования 1С, исключит конфликты распределения ключей и сэкономит бюджет компании на покупку избыточных лицензий.