Как прописать путь к ключу лицензий 1с в сети
Если программа завершена аварийно, то лицензия менеджером лицензий не освобождается. Если выход нормальный, то лицензия освобождается. Если повторно запустить завершившуюся аварийно программу, то ей выделяется не новая лицензия, а та, которая была у нее ранее, и которая оставалась не освобожденной.
При запуске второго экземпляра программы новая лицензия не забирается. То есть лицензия выделяется не на экземпляр программы, а на рабочее место.
Но при выделении повторно зависшей лицензии есть одна особенность:
Если в сети несколько менеджеров лицензий, то программа при поиске ключа опрашивает их в определенной последовательности. И если, например, на первом лицензий нет, то второй выдаст ей лицензию. Если потом программа упала, лицензия не освободится. Программу запускают повторно. Но теперь на первом менеджере лицензий, предположим, появились свободные лицензии. Тогда программа не найдет свою неосвобожденную лицензию от второго менеджера, а обратится сначала к первому и получит новую лицензию от первого.
Таким образом, на втором менеджере останется зависшая лицензия, которая освободится через 36 часов. Можно избежать этого, если на компьютерах, на которых запускается 1С:Предприятие, настроить файлы NETHASP.INI таким образом, чтобы на одной части компьютеров 1С:Предприятие обращалось к одному менеджеру лицензий, а на другой части компьютеров - ко второму менеджеру лицензий.
Файл NETHASP.INI, если связь с менеджерами лицензий организуется по TCP/IP, должен иметь примерно такое содержимое
[NH_COMMON]
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 10.1.170.65 ; нужно указать IP-адрес Вашего компьютера, на котором запущен Менеджер лицензий, с которым предполагается взаимодействовать
Также можно дополнить раздел [NH_TCPIP] строками, которые могут ускорить поиск ключа:
NH_TCPIP_METHOD=UDP
NH_USE_BROADCAST=Disabled
Файл NetHASP.ini должен находиться в каталоге CONF каталога исполняемого файла 1С:Предприятия 8.x (BIN)
Пример этого файла устанавливается в папке BIN при установке платформы.
Столкнулся на днях с такой проблемой. На одной из машин отказалась работать сетевая версия 1С Предприятие. При подключении к базе, вываливалась следующая ошибка.
Хочу обратить внимание, что ошибка появилась на компьютере, на котором было 2 сетевые карты с 2мя разными сетями. Почему то сразу значения данному моменту не придал. Видимо, потому что монитор HASP обнаруживал данные ключи отлично, из-за чего искал проблему в 1С. В результате чего убил пол дня рабочего времени. Проблема действительно крылась в двух сетевых картах, а если сказать точнее, 2 разные сети, решение было в файле C:\Program Files\1cv81\bin\conf\nethasp.ini
Отключив сеть, в которой нет ключей HASP, после перезагрузки машины - 1С завелась. Полез в гугл за решением данной проблемы. Поиск недолго заставил себя ждать, решение следующее:
Ключи защиты для 1С подразделяются на:
1. Однопользовательские (обязательно должны физически быть подключены к компьютеру, на котором запускается 1С)
модель HASP HL Basic ( синего цвета ), данный ключ имеет маркировку H4 M1 ORGL8, не имеет встроенной памяти и персонального ID, не хранит в себе никаких параметров и настроек. Поставляется продуктами имеющими лицензию на одно рабочее место.
2. Многопользовательские (ключ находится в сети, 1С может запускаться на любых компьютера в пределах локальной сети или домена)
Сетевые клиентские ключи включают серию HASP HL Net ( красного цвета ). Имеют внутреннюю память, в которой хранится количество лицензий, и уникальный ID. Существуют разновидности на 5, 10, 20, 50 и 100 пользователей. Имеет маркировку NETXX ORGL8, где ХX - количество лицензий (например NET5 ORGL8). Существуют также ключи на 300 и 500 пользователей которые имеют маркировку NET250+ ORG8A и NET250+ ORG8B. Поставляются с продуктами имеющими лицензию на 5 рабочих мест, а также отдельно, в виде дополнительных клиентских лицензий.
3. Серверные (обязательно должны физически быть подключены локально к компьютеру, на котором установлен и работает сервер агента 1С Предприятие)
Ключи для сервера 1С Предприятие бывают только локальные. 32-битная версия имеет ключ защиты HASP HL Pro ( фиолетового цвета ), который имеет внутреннюю память и уникальный ID. Имеет маркировку ENSR8, поставляется вместе с лицензией на сервер 1С Предприятие.
Для 64-битного сервера используется ключ HASP HL Max ( зеленого цвета ) с внутренней памятью и уникальным ID. Имеет маркировку EN8SA и поддерживает также 32-битный сервер. Т.е. имея лицензию на 64-битный сервер можно, не меняя ключа, использовать 32-битную версию, но не наоборот.
Для работы однопользовательского и серверного ключа достаточно установить драйвер ключа защиты на локальной машине и вставить ключ защиты в локальный USB порт.
Для многопользовательского (сетевого) ключа защиты необходимо:
1. Установить драйвер ключа защиты на одну из машины в сети, которая будет являться сервером ключа - HASP4_driver_setup.zip
2. Установить сервер (службу) ключа защиты на эту же машину - HASP_LM_setup.zip
3. Вставить ключ защиты в сервер в USB порт
4. Установить 1С на клиентские машины
Если все проверки прошли успешно, но ошибка осталась, переходим к более детальным настройкам. В папке установки 1С:Предприятие 8 (как правило, c:\program files\1cv81\bin\conf или c:\program files\1cv8\bin\) имеет файл nethasp.ini. Это файл настройки ключа защиты, он разбит на секции, нас интересует секция [NH_TCPIP]. При установке 1С, по умолчанию, в данной секции все параметры отделены двойными знаками ";", что означает игнорирование данных настроек. При этом драйвер ключа ведет себя следующим образом:
1. посылается пакет типа broadcast по локальной сети по порту 475 в поисках сервера ключа защиты
2. если ответ не получен — ошибка
Недостатки конфигурации по умолчанию:
1. на broadcast уходит какое-то время
2. не все сервера отвечают на подобные пакеты
3. broadcast какая-никакая, но нагрузка на сеть
Для решения данной проблемы необходимо сделать следующее:
1. укажем конкретный адрес где искать сервер ключа (например: NH_SERVER_ADDR = 192.168.100.100)
2. запретим broadcast поиск (NH_USE_BROADCAST = Disabled)
3. и ограничим типы пакетов только TCP-протоколом (NH_TCPIP_METHOD = TCP)
Как показывает практика, скорость запуска 1С:Предприятие 8 после такой настройки возрастает заметно!
Но есть и кое-какие недостатки данного метода:
необходимо следить за тем, чтобы адрес сервера ключа защиты не изменился, иначе придется на всех локальных машинах перенастраивать файл nethasp.ini!
Хотел бы так же уточнить несколько моментов по работе с ключами, с которыми пришлось сталкиваться при работе:
1. Monitor HASP не показывает ключ
Сам по себе монитор может показать только наличие менеджера лицензий на том или ином адресе. Ключ он сможет увидеть только после того, как защищенное приложение успешно откроет хотя бы одну сессию с ключом. Кроме того, следует учитывать, что Aladdin Monitor работает только по протоколу UDP, порт 475. Таким образом, отсутствие данных о ключе в мониторе еще не означает, что ключ недоступен для приложения.
2. Два ключа защиты 1С HASP на одном компьютере
При установке двух и более ключей защиты программного обеспечения HASP на один компьютер следует учитывать, что:
- Ключи, имеющие разные серии, будут работать нормально. (по отношению к 1С: 1 серверный и 1 сетевой будут работать нормально)
- Ключи одной серии будут работать, если такая возможность была реализована разработчиком защищенного ПО. Если же разработчиком данная возможность не была реализована, то ключи, относящиеся к одной серии, не будут работать совместно на одном компьютере, будет виден только один из них: либо ближний к порту (в случае с LPT-ключами), либо размещенный на порту с младшим адресом (в случае с USB-ключами защиты программ HASP). (по отношению к 1С, - 2 локальный или 2 сетевых ключа на одном компьютере работать корректно, скорее всего не будут)
- не рекомендуется ставить вместе локальный и сетевой ключ, это связано с особенностью защиты 1С Предприятия: находя локальный ключ программа никогда не будет искать сетевой.
Возможные решения данной проблемы:
- Замена нескольких ключей защиты программ HASP на один, с бОльшим количеством лицензий.
- Установка ключей защиты на разные компьютеры с последующей установкой и настройкой менеджеров лицензий при каждом ключе.
3. Два и более менеджеров лицензий (License Manager) в сети
При наличии двух и более сетевых ключей не всегда достаточно разнести их по разным компьютерам. Следует выполнить настройку менеджеров лицензий. Каждый менеджер лицензий должен иметь уникальное имя, которое следует явным образом сообщить защищаемой программе. Рекомендуется выполнить аналогичную настройку и в случае использования сервера терминалов, даже при одном сетевом ключе.
На машине где установлен ключ находим файл nhsrv.ini в папке с менеджером лицензий. За имя сервера лицензий отвечает параметр NHS_SERVERNAMES, оно может состоять из латинских букв и цифр и содержать не более 7 символов.
После чего на клиентских машинах желательно отредактировать файл nethasp.ini, явным образом указав адреса и имена менеджеров лицензий:
Речь ниже пойдет о usb-ключах, а программные лицензии > Если необходимо активировать многопользовательскую клиентскую лицензию 1С, так чтобы лицензии раздавал сервер приложений 1С, то это необходимо делать где угодно, только не на самом сервере приложений 1С. При этом в окне активации выбирать опцию «Дополнительно», поставить птичку на сервер 1С и указать параметры подключения к серверу.
о usb-ключах
Как показал опыт, чтобы клиенты 1С могли нормально получить лицензию с сервера, необходимо выполнить ряд условий:
2. Раздача лицензий Hasp License Manager: - Ставим Hasp License Manager в качестве сервиса и запускаем. - Как правило при установке он сам добавляет разрешающие правила во встроенный в винду брандмауэр, если этого не произошло, то добавляем вручную правило разрешающее подключения по протоколам TCP и UDP на порт 475. - Если сеть побита на VLAN-ы и используются различные ACL, то необходимо прописать везде где это нужно правила доступа, как в пункте выше. - Настраиваем файл конфигурации Hasp License Manager, который называется nhsrv.ini и лежит по умолчанию в C:\Program Files (x86)\Aladdin\HASP LM . Вот примерный конфиг, указываю только интересующие пункты, остальное у меня закоментировано:NHS_USERLIST = 250 ; максимальное количество обслуживаемых клиентов, по умолчанию 250NHS_SERVERNAMES = ; имя сервера на котором установлен ключ с лицензиями и запущен Hasp LMNHS_USE_UDP = disabled ; включить или выключить использование протокола UDP, по умолчанию включенNHS_USE_TCP = enabled ; включить или выключить использование протокола TCPNHS_IP_portnum = 475 ; номер порта на котором принимает запросы Hasp LMNHS_IP_LIMIT = ; номера подсетей с которых разрешено подключение к Hasp LMNHS_USE_IPX = disabled ; включить или выключить использование IPXNHS_USE_NETBIOS = disabled ; включить или выключить использование NETBIOS - Настраиваем файл nethasp.ini на пользовательских компьютерах, по умолчанию лежит вC:\Program Files (x86)\1cv82\conf . Вот примерный конфиг, указываю только интересующие пункты, остальное у меня удалено:[NH_COMMON]NH_IPX = DisabledNH_NETBIOS = DisabledNH_TCPIP = Enabled
[NH_IPX]
[NH_NETBIOS]
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.1, 192.168.0.2, 192.168.0.3 ; указываем где искать свободные лицензии, т. е. сервера на которых установлены многопользовательские клиентские ключи и настроенный Hasp LMNH_TCPIP_METHOD= TCPNH_SESSION = 5NH_SEND_RCV = 4NH_USE_BROADCAST = Disabled ; выключаем широковещание
- Стоит заметить, что когда раздача ключей настроена через Hasp LM, то пользователь занимает только одну лицензию, независимо от того сколько баз 1С он открыл, т. е. такой способ более выгоден экономически, но сложнее в реализации, особенно в больших организациях, где могут быть несколько сотен пользователей 1С.
- Если ключей много и доступ пользователей к ним делится по какому-то признаку (например по разным проектам), то хорошей практикой будет вести точный учет того, какие пользователи к каким ключам имеют доступ и настраивать их файлы nethasp.ini соотвественно. Это позволит администратору системы более полно владеть информацией и может очень помочь в решении проблем с нехваткой лицензий.
Речь ниже пойдет о usb-ключах, а программные лицензии > Если необходимо активировать многопользовательскую клиентскую лицензию 1С, так чтобы лицензии раздавал сервер приложений 1С, то это необходимо делать где угодно, только не на самом сервере приложений 1С. При этом в окне активации выбирать опцию «Дополнительно», поставить птичку на сервер 1С и указать параметры подключения к серверу.
о usb-ключах
Как показал опыт, чтобы клиенты 1С могли нормально получить лицензию с сервера, необходимо выполнить ряд условий:
2. Раздача лицензий Hasp License Manager: - Ставим Hasp License Manager в качестве сервиса и запускаем. - Как правило при установке он сам добавляет разрешающие правила во встроенный в винду брандмауэр, если этого не произошло, то добавляем вручную правило разрешающее подключения по протоколам TCP и UDP на порт 475. - Если сеть побита на VLAN-ы и используются различные ACL, то необходимо прописать везде где это нужно правила доступа, как в пункте выше. - Настраиваем файл конфигурации Hasp License Manager, который называется nhsrv.ini и лежит по умолчанию в C:\Program Files (x86)\Aladdin\HASP LM . Вот примерный конфиг, указываю только интересующие пункты, остальное у меня закоментировано:NHS_USERLIST = 250 ; максимальное количество обслуживаемых клиентов, по умолчанию 250NHS_SERVERNAMES = ; имя сервера на котором установлен ключ с лицензиями и запущен Hasp LMNHS_USE_UDP = disabled ; включить или выключить использование протокола UDP, по умолчанию включенNHS_USE_TCP = enabled ; включить или выключить использование протокола TCPNHS_IP_portnum = 475 ; номер порта на котором принимает запросы Hasp LMNHS_IP_LIMIT = ; номера подсетей с которых разрешено подключение к Hasp LMNHS_USE_IPX = disabled ; включить или выключить использование IPXNHS_USE_NETBIOS = disabled ; включить или выключить использование NETBIOS - Настраиваем файл nethasp.ini на пользовательских компьютерах, по умолчанию лежит вC:\Program Files (x86)\1cv82\conf . Вот примерный конфиг, указываю только интересующие пункты, остальное у меня удалено:[NH_COMMON]NH_IPX = DisabledNH_NETBIOS = DisabledNH_TCPIP = Enabled
[NH_IPX]
[NH_NETBIOS]
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.1, 192.168.0.2, 192.168.0.3 ; указываем где искать свободные лицензии, т. е. сервера на которых установлены многопользовательские клиентские ключи и настроенный Hasp LMNH_TCPIP_METHOD= TCPNH_SESSION = 5NH_SEND_RCV = 4NH_USE_BROADCAST = Disabled ; выключаем широковещание
- Стоит заметить, что когда раздача ключей настроена через Hasp LM, то пользователь занимает только одну лицензию, независимо от того сколько баз 1С он открыл, т. е. такой способ более выгоден экономически, но сложнее в реализации, особенно в больших организациях, где могут быть несколько сотен пользователей 1С.
- Если ключей много и доступ пользователей к ним делится по какому-то признаку (например по разным проектам), то хорошей практикой будет вести точный учет того, какие пользователи к каким ключам имеют доступ и настраивать их файлы nethasp.ini соотвественно. Это позволит администратору системы более полно владеть информацией и может очень помочь в решении проблем с нехваткой лицензий.
Дано: сервер, на котором активированы лицензии 1С (или планируется устанавливать лицензии на нем и использовать его в качестве сервера лицензирования), а также имеются сервера, где установлены 1С кластеры, которым требуются лицензии.
Задача: распределение 1С лицензий по разным серверам (кластерам). Например, если на сервере лицензирования активирована одна лицензия на 50 пользователей, то нужно, чтобы этими лицензиями могли пользоваться различные 1С серверы/кластеры.
Помните, что для каждого кластера потребуется серверная лицензия (может быть активирована также на сервере лицензирования), т.е. сколько кластеров, столько и серверных лицензий.
Сам сервер лицензирования лицензии не требует.
В данной статье и в видео будут следующие условные наименования серверов:
Сервер лицензирования - SRV-DB1
Сервер 1С (с установленным кластером) - SRV-NODE-B
Содержание статьи:
- Как получать лицензии с другого сервера (сервера лицензирования)
- Как настроить сервер лицензирования
- Как активировать лицензию на сервере лицензирования
Как получать лицензии с другого сервера (сервера лицензирования)
Если сервер лицензирования (SRV-DB1) уже существует и настроен, то настройка любого другого сервера 1С (в этом примере, SRV-NODE-B) на получение лицензий с сервера SRV-DB1 делается довольно легко. Подробнее смотрите видео ниже.
Краткое описание (все действия выполняем в локальном кластере на 1С-сервере (SRV-NODE-B)):
- В рабочие серверы добавляем сервер лицензирования (SRV-DB1).
- В блоке рабочего сервера SRV-DB1 добавляем две функциональности в требования назначения функциональности.
- В блоке рабочего сервера SRV-NODE-B добавляем две функциональности в требования назначения функциональности.
- На локальном кластере делаем полное применение требований функциональности.
- Перезагружаем службу 1С.
После этого сервер SRV-NODE-B начнет получать лицензии с сервера SRV-DB1. Т.е. как серверные, так и клиентские лицензии нужно активировать на сервере лицензирования (о том, как активировать читайте ниже).
Посмотреть, как это делалось, можно в следующем видео-ролике:
Подробное описание:
(все действия выполняем в локальном кластере на 1С-сервере (SRV-NODE-B)):
1) В рабочие серверы добавляем сервер лицензирования (SRV-DB1):
В итоге будет два рабочих сервера SRV-NODE-B и SRV-DB1:
2) В блоке рабочего сервера (сервера лицензирования) SRV-DB1 добавляем две функциональности в требования назначения функциональности.
Функциональности должны быть именно в указанной последовательности.
Добавляем сначала:
Любой объект требования (Для всех) - Не назначать
Затем:
Сервис лицензирования - Назначать
В таком случае они "встанут" в нужной последовательности, иначе придется менять приоритет.
Этим мы говорим, что этот сервер готов выдавать лицензии и будет отклонять любые другие запросы.
3) В блоке рабочего сервера кластера SRV-NODE-B также добавляем две функциональности в требования назначения функциональности.
Функциональности должны быть именно в указанной последовательности.
Добавляем сначала:
Сервис лицензирования - Не назначать
Затем:
Клиентское соединение с ИБ - Назначать
Этим мы говорим, что этот сервер готов отвечать на клиентские вызовы, но лицензии он не содержит.
4) На локальном кластере делаем полное применение требований функциональности.
5) Перезагружаем службу 1С.
Также нужно не забыть про настройки локального FireWall - на сервере 1С (SRV-NODE-B) разрешить входящие-исходящие соединения для сервера лицензирования (SRV-DB1).
Как мы делали сервер лицензирования?
Первоначально у нас был один виртуальный сервер, на котором был установлен 1С кластер. На нем были активированы программная серверная лицензия и программная лицензия на 50 пользователей (соответственно в кластере в информационной базе было указано, чтобы клиентские лицензии выдавались с сервера).
Затем понадобился перенос сервера на другую физическую площадку и было также решено выделить под кластер более производительную виртуальную машину. Поэтому существующий сервер оставили в качестве сервера лицензирования, и создали новый виртуальный сервер под 1С кластер.
Как из обычного сервера сделать сервер лицензирования? Если на нем не будут подключаться информационные базы и он будет использоваться только для лицензий, то в дополнению к вышеуказанным инструкциям нужно сделать только одно действие: удалить локальный кластер на сервере лицензирования (не саму программную серверную компоненту 1С, а именно локальный кластер в оснастке кластера, чтобы в списке кластеров было пусто - это видно на скриншотах и видеоролике, что на сервере лицензирования нет кластеров):
Если это сделать, то сервер лицензирования не будет "отъедать" серверную лицензию (т.е. ему самому вообще никаких лицензий не нужно, он только их хранит для других серверов).
Как активировать лицензию в случае сервера лицензирования?
Для этого на клиенте в любой базе (хоть локальной) зайти в конфигуратор, перейти на интерфейс ввода лицензии, нажать Дополнительно и ввести адрес сервера лицензирования.
Активация ключа на сервере:
В этом случае активация произойдет на сервере лицензирования.
После можно проверить, появился ли файл лицензии в папке на сервере (рекомендуется записать, что за файл - эта информация может понадобиться при восстановлении лицензии - см. статью Восстановление по пин-коду).
Примечание: есть вероятность, что такая настройка не работает в случае варианта лицензирования "Сервер мини".
В файлах к статье: видеоролик, показанный выше, а также текст этой статьи.
Читайте также: