Чтобы 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 <ip_address>:32032

$ usbclnt -l

================== LIST OF REMOTE USB DEVICES ===================

   1: USB server at <ip_address>: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 <ip_address>: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 стартует ваш сервер по умолчанию:

$ 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 клиент, который захватит нужный ключ с сервера, а затем и сервер лицензирования.

Спасибо за внимание, буду рад если кому-нибудь это пригодится!

Сводка
Менеджер лицензий hasp и проброс usb ключа по сети на ubuntu 18.04
Имя статьи
Менеджер лицензий hasp и проброс usb ключа по сети на ubuntu 18.04
Описание
Чтобы 1С увидела ваш многопользовательский usb ключ в одной сети с вами должен находится сервер лицензирования. В этой статье настроим такой сервер, и в качестве дополнения usb ключ в него будем прокидывать по сети.

Добавить комментарий

Ваш адрес email не будет опубликован.