Sysadminium
Менеджер лицензий hasp и проброс usb ключа по сети на ubuntu 18.04
Чтобы 1С увидела ваш многопользовательский usb ключ в одной сети с вами должен находится сервер лицензирования. В этой статье настроим такой сервер, и в качестве дополнения usb ключ в него будем прокидывать по сети.
Зачем может понадобится пробрасывать usb ключ по сети? Ну допустим у вас сервер 1С или сервер лицензирования в датацентре, а ключ в датацентр вы везти не хотите. Или, например, у вас несколько виртуальных серверов лицензирования, которые могут перемещаться по разным хостам в рамках одного кластера виртуализации и нужно обеспечить перемещение ключей 1С вслед за виртуальными машинами.
Устанавливать всё это будем на Ubuntu 18.04, так как для Ubuntu 20.04 менеджера лицензий нет и скорее всего не будет.
$ sudo apt update $ sudo apt dist-upgrade $ sudo reboot
Создадим каталог, в который скачаем пакеты hasp севера, установим зависимости и сервер лицензирования:
$ mkdir hasp $ cd hasp/ $ wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/18.04/haspd-modules_7.90-eter2ubuntu_amd64.deb $ wget http://download.etersoft.ru/pub/Etersoft/HASP/last/x86_64/Ubuntu/18.04/haspd_7.90-eter2ubuntu_amd64.deb $ sudo apt install libc6-i386 $ sudo dpkg -i haspd_7.90-eter2ubuntu_amd64.deb $ sudo dpkg -i haspd-modules_7.90-eter2ubuntu_amd64.deb $ sudo apt install -f
Запустим сервер лицензирования:
$ sudo systemctl start haspd.service $ sudo systemctl status haspd.service ● haspd.service - LSB: Hasp keys support Loaded: loaded (/etc/init.d/haspd; generated) Active: active (running) since Thu 2021-03-25 10:14:51 UTC; 48min ago Docs: man:systemd-sysv-generator(8) Process: 990 ExecStart=/etc/init.d/haspd start (code=exited, status=0/SUCCESS) Tasks: 11 (limit: 2317) CGroup: /system.slice/haspd.service ├─1057 aksusbd ├─1068 winehasp ├─1077 hasplm -c /etc/haspd/hasplm.conf └─1088 hasplmd -s
С сервером лицензирования закончили. Теперь вернёмся в родительский каталог, создадим папку для usb-redirector и скачаем этот пакет:
$ cd .. $ mkdir usbred $ cd usbred/ $ wget https://www.incentivespro.com/usb-redirector-linux-x86_64.tar.gz
Установим зависимости для usb-redirector, а затем и сам usb-redirector:
$ sudo apt install linux-headers-`uname -r` $ apt install linux-source $ tar xf usb-redirector-linux-x86_64.tar.gz $ cd usb-redirector-linux-x86_64/ $ sudo ./installer.sh install-client $ sudo systemctl start rc.usbsrvd.service $ sudo systemctl enable rc.usbsrvd.service $ systemctl status rc.usbsrvd.service
Дальше подключимся к серверу usb-redirector и посмотрим какие ключи он раздаёт:
$ usbclnt -a :32032 $ usbclnt -l ================== LIST OF REMOTE USB DEVICES =================== 1: USB server at :32032 Mode: manual-connect Status: connected | |- 12: hasp-key-net10 | Vid: 0529 Pid: 0001 Port: 2-3.3 | Mode: manual-connect Status: available for connection
Прокинем нужный ключик или настроим автопрокидывание:
$ usbclnt -c 1-12 # ручное прокидывание $ usbclnt -auto-connect on 1-12 # автопрокидывание $ usbclnt -l ================== LIST OF REMOTE USB DEVICES =================== 1: USB server at :32032 Mode: manual-connect Status: connected | |- 12: hasp-key-net10 | Vid: 0529 Pid: 0001 Port: 2-3.3 | Mode: auto-connect Status: connected $ lsusb | grep Aladdin Bus 002 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
И последнее что можно сделать, это настроить очерёдность запуска сервисов, чтобы haspd стартовал после rc.usbsrvd. Для начала проверим на каком runlevel стартует ваш сервер по умолчанию:
Скорее всего он будет 5-ый, это уровень по умолчанию для сервера Ubuntu.
И так, настроим очерёдность:
$ cd /etc/rc5.d/ $ ls -l total 0 lrwxrwxrwx 1 root root 15 Aug 5 2019 S01acpid -> ../init.d/acpid lrwxrwxrwx 1 root root 16 Aug 5 2019 S01apport -> ../init.d/apport lrwxrwxrwx 1 root root 13 Aug 5 2019 S01atd -> ../init.d/atd lrwxrwxrwx 1 root root 26 Aug 5 2019 S01console-setup.sh -> ../init.d/console-setup.sh lrwxrwxrwx 1 root root 14 Aug 5 2019 S01cron -> ../init.d/cron lrwxrwxrwx 1 root root 14 Aug 5 2019 S01dbus -> ../init.d/dbus lrwxrwxrwx 1 root root 21 Mar 25 08:32 S01grub-common -> ../init.d/grub-common lrwxrwxrwx 1 root root 15 Mar 25 08:52 S01haspd -> ../init.d/haspd lrwxrwxrwx 1 root root 20 Aug 5 2019 S01irqbalance -> ../init.d/irqbalance lrwxrwxrwx 1 root root 22 Aug 5 2019 S01lvm2-lvmetad -> ../init.d/lvm2-lvmetad lrwxrwxrwx 1 root root 23 Aug 5 2019 S01lvm2-lvmpolld -> ../init.d/lvm2-lvmpolld lrwxrwxrwx 1 root root 15 Aug 5 2019 S01lxcfs -> ../init.d/lxcfs lrwxrwxrwx 1 root root 13 Aug 5 2019 S01lxd -> ../init.d/lxd lrwxrwxrwx 1 root root 15 Aug 5 2019 S01mdadm -> ../init.d/mdadm lrwxrwxrwx 1 root root 23 Aug 5 2019 S01open-vm-tools -> ../init.d/open-vm-tools lrwxrwxrwx 1 root root 18 Aug 5 2019 S01plymouth -> ../init.d/plymouth lrwxrwxrwx 1 root root 20 Mar 25 09:19 S01rc.usbsrvd -> ../init.d/rc.usbsrvd lrwxrwxrwx 1 root root 15 Aug 5 2019 S01rsync -> ../init.d/rsync lrwxrwxrwx 1 root root 17 Aug 5 2019 S01rsyslog -> ../init.d/rsyslog lrwxrwxrwx 1 root root 13 Mar 25 08:33 S01ssh -> ../init.d/ssh lrwxrwxrwx 1 root root 29 Aug 5 2019 S01unattended-upgrades -> ../init.d/unattended-upgrades lrwxrwxrwx 1 root root 15 Aug 5 2019 S01uuidd -> ../init.d/uuidd $ sudo mv S01haspd ./S02haspd
После этого haspd будет стартовать всегда последним! То есть после перезапуска вначале стартует наш usb клиент, который захватит нужный ключ с сервера, а затем и сервер лицензирования.
Спасибо за внимание, буду рад если кому-нибудь это пригодится!
Чтобы 1С увидела ваш многопользовательский usb ключ в одной сети с вами должен находится сервер лицензирования. В этой статье настроим такой сервер, и в качестве дополнения usb ключ в него будем прокидывать по сети.