1С и Linux
Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.
суббота, 10 ноября 2018 г.
Установка менеджера лицензий HASP от Etersoft
$ lsusb
Bus 001 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Удаление
$ sudo apt-get remove aksusbd
Установка совмещенного драйвера hasp с lm от Etersoft
Берем здесь:
ftp://updates.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/16.04/
$ cd test
$ wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/16.04/haspd-modules_7.60-eter1ubuntu_amd64.deb
$ sudo apt install libc6-i386
$ sudo dpkg -i haspd-modules_7.60-eter1ubuntu_amd64.deb
$ sudo dpkg -i haspd_7.60-eter1ubuntu_amd64.deb
$ sudo apt install -f
$ sudo systemctl restart haspd.service
$ sudo systemctl status haspd.service
● haspd.service — LSB: Hasp keys support
Loaded: loaded (/etc/init.d/haspd; bad; vendor preset: enabled)
Active: active (running) since Сб 2018-11-10 16:50:47 MSK; 1min 44s ago
Docs: man:systemd-sysv-generator(8)
Process: 1701 ExecStart=/etc/init.d/haspd start (code=exited, status=0/SUCCESS)
Tasks: 11
Memory: 9.2M
CPU: 356ms
CGroup: /system.slice/haspd.service
├─1726 aksusbd
├─1740 winehasp
├─1749 hasplm -c /etc/haspd/hasplm.conf
└─1758 hasplmd -s
ноя 10 16:50:47 u1604 haspd[1701]: Loading HASP LPT kernel module. (/dev/lp0 device has not found) [PASSED]
ноя 10 16:50:47 u1604 aksusbd[1726]: loaded, daemon version: 7.60.1.70367, key API (USB) version: 3.88 (parallel driver not available)
ноя 10 16:50:47 u1604 haspd[1701]: Running aksusbd. [ DONE ]
ноя 10 16:50:47 u1604 winehasp[1740]: winehasp 2.00 loaded
ноя 10 16:50:47 u1604 haspd[1701]: Running winehasp. [ DONE ]
ноя 10 16:50:47 u1604 hasplm[1749]: HASP LM v8.30 loaded
ноя 10 16:50:47 u1604 haspd[1701]: Running hasplm. [ DONE ]
ноя 10 16:50:47 u1604 hasplmd[1758]: HASP LM v20.0.1.70826 loaded
ноя 10 16:50:47 u1604 haspd[1701]: Running hasplmd. [ DONE ]
ноя 10 16:50:47 u1604 systemd[1]: Started LSB: Hasp keys support.
Работа ключа на удаленной машине – настройка «nethasp.ini»
Для того, чтобы защищенное приложение нормально работало с аппаратным ключом защиты, расположенным на удаленной рабочей станции, необходимо обеспечить беспрепятственный проход UDP- и TCP-пакетов по 475 порту в обе стороны. Также должны проходить и broadcast-пакеты. Если последнее требование не выполняется, необходима настройка приложения через файл «nethasp.ini» (должен находиться в одной директории с защищенным приложением) с целью отключения broadcast-механизма поиска ключа и явного указания IP-адреса машины, обслуживающей ключ.
—————————————————
[NH_COMMON]
NH_TCPIP = Enabled
.
[NH_TCPIP]
NH_SERVER_ADDR = 168.192.1.41 //ip-адрес компьютера, где расположен менеджер лицензий.
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled
Однако если часть маршрута проходит через Интернет, могут возникнуть проблемы с тайм-аутами при доставке пакетов.
Два и более менеджеров лицензий (HASP License Manager) в сети
При установке в сети двух и более менеджеров лицензий их необходимо настроить для корректной работы. Иначе в сети может возникать коллизия между менеджерами лицензий по именам: при старте они принимают одно и то же имя по умолчанию, и в результате в сети присутствует несколько ресурсов с одинаковыми именами. Стоит отметить, что нередко менеджеры нормально работают и без настройки. Тем не менее, следует иметь в виду, что возможно возникновение проблемы. Кроме того, настройка может понадобиться, например, чтобы разделить клиентов по разным менеджерам лицензий.
Основная идея настройки в данном случае – назначить каждому менеджеру свое имя и сообщить каждой копии 1С эти имена. Задать имя менеджеру можно через файл «nhsrv.ini», он должен находиться в одном каталоге с менеджером лицензий (по умолчанию — C:\Program Files\Aladdin\HASP LM). Если менеджер лицензий установлен как сервис, то данный файл необходимо скопировать в каталог Windows\System32 (для 64-разрядных ОС — Windows\SysWOW64). Имя должно состоять из алфавитно-цифровых символов (только латиница) и не должно быть длиннее 7 символов.
[NHS_SERVER]
NHS_SERVERNAMES = LM1
[NHS_SERVER]
NHS_SERVERNAMES = LM2
Сообщить защищенному приложению имена менеджеров можно через файл «nethasp.ini», он должен находиться в одном каталоге с защищенным приложением или в каталоге, который указал разработчик (для 1С – каталог Bin\Conf от корня установки 1С):
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 168.192.1.41, 168.192.1.11
NH_SERVER_NAME = LM1, LM2
—————————————————————-
Параметры «адрес» и «имя» должны соответствовать друг другу, т.е. на машине с адресом 168.192.1.41 должен быть запущен менеджер с именем LM1. Адреса даны для примера, следует указывать реальные IP- адреса машин, где установлены соответствующие менеджеры лицензий.
Установка HASP License Manager в CentOS
Как известно для защиты своих продуктов от нелегального копирования 1с использует ключи аппаратной защиты HASP. Лицензирование ведется по принципу лицензия на сервер плюс лицензия на клиента. При этом сервер 1с предприятия под Linux вполне может работать с 10 подключениями без наличия ключа, на сколько помню сделано это, для того что бы дать возможность протестировать систему прежде чем платить деньги и ставить в продакт. Серверный ключ устанавливается непосредственно на машину с сервером 1с предприятия и бывает двух видов для 32-битной и 64-битной версий.
Клиентские лицензии могут раздаваться по-разному, это может быть локальный ключ на 1 лицензию который вставляется непосредственно в каждую машину, или лет пять назад помнится были “чудо книжки” при переустановке клиента из них нужно было выбрать “чудо слово” находящееся на 21-ой странице в четвертой строке третье справа. В большинстве же случаев покупается клиентский ключ на 10, 25, 50 или 100 пользователей и в сети устанавливается менеджер лицензий (License Menager), к которому обращаются клиенты для получения лицензий.
Итак, что бы все заработало нужно в сервер предприятия воткнуть серверный ключ и поставить для него драйвера, а для клиентов воткнуть клиентский ключ, поставить драйвера и менеджер лицензий.
В статье используется CentOS 6.3 x64 с отключенным SELinux.
1. Установка
Устанавливаем необходимые пакеты.
[root@dbsrv ~]# yum install wget glibc.i686
Скачиваем с сайта Aladdin-а драйвер для HASP и менеджер лицензий.
[root@dbsrv ~]# wget ftp://ftp.aladdin.com/pub/hasp/hl/linux/hasplm_linux_8.30.tgz [root@dbsrv ~]# wget ftp://ftp.aladdin.com/pub/hasp/hl/linux/HDD_RPM_RedHat_i386.tar.gz
Распаковываем архивы и устанавливаем RPM-пакеты.
[root@kvmof ~]# tar xvf hasplm_linux_8.30.tgz [root@dbsrv ~]# tar xvf HDD_RPM_RedHat_i386.tar.gz [root@dbsrv ~]# rpm -ihv hasplm-redhat-8.30-1.i386.rpm HDD_RPM_RedHat_i386/aksusbd-redhat-1.10-1.i386.rpm Starting AKSUSB daemon: [ OK ] Starting WINEHASP daemon: [ OK ] Starting HASP LM: [ OK ]
После установки сразу запустились сервисы: AKSUSB – драйвер HASP-а, WINEHASP – драйвер HASP-а для 1с предприятия работающего под Wine, HASP LM – менеджер лицензий.
2. Проверка и тестирование
Обычно в случае с одним HASP ключем драйвер и менеджер лицензий устанавливаются и сразу начинают работать, и все проверки это скорее уже дело привычки – посмотреть что из сервисов запустилось и какие порты слушает. Проверяем драйвер HASP-а.
[root@dbsrv ~]# netstat -anp | grep aksusb unix 2 [ ACC ] STREAM LISTENING 13994 1490/aksusbd /tmp/.aksusb unix 2 [ ] DGRAM 13993 1490/aksusbd
Проверяем слушает ли 475 порт менеджер лицензий.
[root@dbsrv ~]# netstat -lunp | grep hasplm udp 0 0 0.0.0.0:475 0.0.0.0:* 1510/hasplm
Честно говоря, здесь очень не хватает консольной утилиты, которая умеет выводить информацию о том какие ключи видит AKSUSB и кому выданы лицензии через License Manager. На сайте Aladdin-а можно найти программу AKS Monitor, ставится она на любой компьютер с Windows, расположенный в той же подсети что и License Manager. Eсли в nethasp.ini не заданы кокнренные сервера лицензий, то AKS Monitor будет искать их рассылая широковещательные сообщения и в конечном итоге выведет информацию о том какие сервера лицензий установлены в сети, какие сетевые HASP-ключи к ним подключены и кому выданы лицензии.
3. Заключение
По-моему HASP и менеджер лицензий – это просто, но очень не удобно в плане диагностики. Видно конечно, что софт очень давно не развивается и не меняется, драйвера USB датированы 2007-ым годом, а License Menager аж 2004-ым. Кроме того, я так и не смог научить линуксовый менеджер лицензий слушать TCP порт вместо UDP, что было бы очень удобным при подключении через VPN.
3 Коммент. : “Установка HASP License Manager в CentOS”
Записки IT специалиста
Установка HASP License Manager в Linux (Debian / Ubuntu)
HASP-ключи — это прошлое поколение системы защиты 1С:Предприятия, сегодня им на смену пришли программные лицензии, но у пользователей осталось на руках достаточное количество ключей, которые продолжают применяться. Также растет интерес к использованию 1С на платформе Linux, в связи с чем появляется и необходимость в подключении ключей к этой ОС. К сожалению, на нашем сайте не оказалось статьи, рассказывающей о том, как это сделать. Поэтому мы решили исправить эту досадную оплошность, учитывая, что вопрос до сих пор не потерял актуальность.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Прежде всего подключим HASP-ключ к компьютеру и убедимся что он определился в системе, для этого выполните команду:
В выводе вы должны увидеть строки, содержащие Aladdin HASP.
Сразу напомним одно важное правило: на один ПК нельзя устанавливать два ключа одной серии, все равно работать будет только один.
Для работы с ключами и установки HASP License Manager для раздачи лицензий по сети мы будем использовать пакеты от российского разработчика Etersoft, найти их можно адресу http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/ (мы предполагаем что у вас 64-битная система), затем следует выбрать используемую вами ОС и скачать предлагаемые пакеты.
В нашем случае это будет Ubuntu 16.04, и мы будем скачивать их непосредственно на сервере, предварительно перейдя в домашнюю директорию:
cd
wget http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/16.04/haspd-modules_7.90-eter2ubuntu_amd64.deb
wget http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/16.04/haspd_7.90-eter2ubuntu_amd64.deb
Затем установим необходимые зависимости:
apt update
apt install make libc6-i386
А после этого и сами пакеты:
Если все сделано правильно, то служба запустится автоматически, проверить ее статус можно командой:
На этом настройку можно считать законченной, но мы добавим некоторые настройки. Если вы сочетаете в своей сети аппаратные и программные лицензии, то может возникнуть потребность ограничить доступ к ключу отдельными узлами, диапазонами адресов или подсетями. Для этого откроем файл /etc/haspd/hasplm.conf и зададим опцию NHS_IP_LIMIT, файл содержит пример, в котором показано как можно указывать допустимые значения. Ниже мы разрешим доступ узлу 192.168.0.100 и диапазону 192.168.190-200:
NHS_IP_LIMIT 192.168.0.100, 192.168.190-200
После чего перезапустим службу:
На клиентах в большинстве случаев никаких настроек производить не надо, однако, если 1С:Предприятие не видит лицензии то следует внести изменения в файл С:\Program Files (x86)\1cv8\conf\nethasp.ini или С:\Program Files\1cv8\conf\nethasp.ini, для Linux систем — /opt/1C/v8.3/x86_64/conf/nethasp.ini:
[NH_COMMON]
NH_IPX = Disabled
NH_NETBIOS = Disabled
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.10 ;Укажите здесь реальный ip-адрес Менеджера лицензий
NH_TCPIP_METHOD = UDP
NH_USE_BROADCAST = Disabled
NH_SESSION = 4
NH_SEND_RCV = 2
Для контроля выданных ключом лицензий можно использовать утилиту Aladdin Monitor:
Как видим, использовать HASP-ключи в среде Linux совсем не сложно, а общие правила работы с ними ничем не отличаются от работы в Windows.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал: