Показаны сообщения с ярлыком hasp & lxc. Показать все сообщения
Показаны сообщения с ярлыком hasp & lxc. Показать все сообщения

среда, 6 ноября 2019 г.

Три шага проброса hasp в привелигерованный контейнер lxc ubuntu 16.04

Замечание от 17.02.2022 г. !
Пробрасывается точно, первый раз пробрасывал на lxc, далее много много раз на lxd
(там несколько отличается), к lxc больше не возвращался, не проверял, не было нужды.
Иногда ко мне обращались люди с вопросами про пробросу lxc (proxmox) посмотрел статью свежим взглядом сейчас ниже ничего не менял, возможно нужно указывать
так рекомендует другие:
https://angald.ru/proxmox-probros-usb-v-konejner-lxc/

lxc.cgroup.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/bus/usb/001/004 dev/bus/usb/001/004 none bind,optional,create=file 
lxc.mount.entry: /dev/bus/usb/001/005 dev/bus/usb/001/005 none bind,optional,create=file

Ниже есть ссылка на


---------------------------------------------------------------------------------
 
Три шага проброса hasp в привелигерованный контейнер lxc
Спасибо Сергею Голод !!!

1. На хосте созаем файл (берем с машины где стоят драйвера)
$ /etc/udev/rules.d/80-hasp.rules
# HASP rules
ACTION=="add|change|bind", SUBSYSTEM=="usb", ATTRS{idVendor}=="0529", ATTRS{idProduct}=="0001", MODE="664", ENV{HASP}="1", SYMLINK+="aks/hasp/%k", RUN+="/usr/sbin/aksusbd_x86_64 -c $root/aks/hasp/$kernel"
ACTION=="remove", ENV{HASP}=="1", RUN+="/usr/sbin/aksusbd_x86_64 -r $root/aks/hasp/$kernel"

# SENTINEL rules
ACTION=="add|change|bind", SUBSYSTEM=="usb", ATTRS{idVendor}=="0529", ATTRS{idProduct}=="0003", KERNEL!="hiddev*", MODE="666", GROUP="plugdev", ENV{SENTINELHID}="1", SYMLINK+="aks/sentinelhid/%k"
 

Сохранить.

2. $ sudo reboot
После перезагрузки
появится /dev/aks/

Смотрим:
$ ls -alFhR /dev/aks/


3. Для контейнера hasp

На хосте видим ключи Bus 001
$ lsusb
Bus 001 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
 


Для Bus 001 /dev/bus/usb/001

$ sudo nano /var/lib/lxc/hasp/config

Добавить:

lxc.cgroup.devices.allow = c 189:* rwm
lxc.mount.entry = /dev/bus/usb/001 dev/bus/usb/001 none bind,optional,create=dir
lxc.mount.entry = /dev/aks/ dev/aks/ none bind,optional,create=dir



Сохранить.


4. Запускаем контейнер и наслаждаемся работой.
$ sudo lxc-start -n hasp


Палю тему. Секретную! Все работает, но пробрасывать надо не usb. Hasp штука не простая, там требуются правила udev, в контейнере не реально это сделать.
Надо дрова hasp запустить на host машине и пробросить только сокет. В контейнере дрова не ставить, только менеджер лицензий.
И добавить такую строку в конфигурацию контейнера:
lxc.mount.entry: /tmp/.aksusb tmp/.aksusb none bind,optional,create=file
есть косяк, после перезапуска сервиса aksusbd на хосте - надо рестартовать контенер.
есть путь как обойти, это передать всю папку темп от хоста в контейнер, не секюрно но работает.

среда, 14 ноября 2018 г.

Проброс hasp в lxc

Установим lxc
Установка lxc на ubuntu 16.04.5 virtualbox  
 
Посмотреть контейнеры:
 
$ sudo lxc-ls
xenial_lxc       xenial_lxc_clone 
  
Клонировать контейнер 

$ sudo lxc-clone -o xenial_lxc -n hasp

На хосте:

$ sudo lsusb
Bus 001 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
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 ls -la /dev/bus/usb/001/004
crw-rw-r-- 1 root root 189, 3 ноя 14 19:53 /dev/bus/usb/001/004
 

$ sudo ls -la /dev/bus/usb/001/003
crw-rw-r-- 1 root root 189, 2 ноя 14 19:53 /dev/bus/usb/001/003
 
Поправим конфиг: 

$ sudo nano /var/lib/lxc/hasp/config
 
lxc.mount.entry = /dev/bus/usb/001 dev/bus/usb/001  none bind,optional,create=dir
# hasp

lxc.cgroup.devices.allow = c 189:* rwm

Сохранить.

Старт контейнера 

$ sudo lxc-start -n hasp -d



Просмотр: 

$ sudo lxc-ls  -f
NAME             STATE   AUTOSTART GROUPS IPV4         IPV6
hasp             RUNNING 0         -      192.168.0.99 -
xenial_lxc       STOPPED 0         -      -            -
xenial_lxc_clone STOPPED 0         -      -            -

$ ssh ubuntu@hasp
ubuntu@hasp:~$ sudo apt-get install usbutils
ubuntu@hasp:~$ lsusb
 
$ usb-devices

На первый взгляд прокинулось, но будут ли работать драйвера?
Поскольку я не знаю способа, как проверить не поставив 1с -ку
Будем ставить серверный вариант 1с.

ubuntu@hasp:~$ sudo adduser user

ubuntu@hasp:~$ sudo usermod -aG sudo user
 
Установка сервера 
 
Увы не заработало. 

 

Установка lxc на ubuntu 16.04.5 virtualbox



$ ip a
inet 192.168.0.239/24 brd 192.168.0.255 scope global enp0s3

$ sudo nano /etc/network/interfaces

# The loopback network interface

auto lo
iface lo inet loopback

# The primary network interface
#auto enp0s3
#iface enp0s3 inet dhcp

##Bridge  Name ###
auto br0

### Bridge Information
iface br0 inet static
bridge_ports enp0s3
bridge_stp off
bridge_fd 9
 
### Bridge IP ###
address 192.168.0.239
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
#dns-nameservers 192.168.0.1 8.8.8.8
dns-nameservers 192.168.0.1
 
 
Сохранить.
 
Setup Linux Container with LXC on Ubuntu 16.04 
 
$ sudo apt-get install lxc lxc-templates wget bridge-utils -y
 
Disable the default bridge “lxcbr0“,  got created as part of LXC installation.


$ sudo nano /etc/default/lxc-net



USE_LXC_BRIDGE="false"



Сохранить.



$ sudo nano /etc/lxc/default.conf
 
lxc.network.type = veth
lxc.network.link = br0
lxc.network.flags = up
lxc.network.hwaddr = 00:16:3e:xx:xx:xx
 
Сохранить.



$ sudo nano /etc/dnsmasq.d/lxc

bind-interfaces
except-interface=br0
 
Сохранить.
 
$ sudo reboot
 
$ sudo -i

$ ifconfig

$ ls /usr/share/lxc/templates/
$ ls /usr/share/lxc/templates/
lxc-alpine     lxc-busybox  lxc-debian    lxc-gentoo        lxc-oracle     lxc-sparclinux  lxc-ubuntu-cloud
lxc-altlinux   lxc-centos   lxc-download  lxc-openmandriva  lxc-plamo      lxc-sshd
lxc-archlinux  lxc-cirros   lxc-fedora    lxc-opensuse      lxc-slackware  lxc-ubuntu 
 
Настроим часовой пояс Москва. 

$ sudo dpkg-reconfigure tzdata 
 
 
Создать контейнер:
 
$ sudo lxc-create  -t ubuntu -n xenial_lxc -- -r xenial -a amd64
 
##
# The default user is 'ubuntu' with password 'ubuntu'!
# Use the 'sudo' command to run tasks as root in the container.
##  
Сохранение контейнера xenial_lxc : 
 
$ sudo -i
 
# cd  /var/lib/lxc/

# tar -cvzf  xenial_lxc.tar.gz ./xenial_lxc




В данный момент не делаем!
Восстановление контейнера precise_lxc :

$ cd  /var/lib/lxc/

$ tar xvzf xenial_lxc.tar.gz
 
 
Посмотреть контейнеры:
 
$ sudo lxc-ls
xenial_lxc
 
Клонировать
 
$ sudo lxc-copy -n xenial_lxc -N xenial_lxc_clone 
  
$ sudo lxc-ls
xenial_lxc       xenial_lxc_clone
 
Запустить контейнер
 
$ sudo lxc-start -n xenial_lxc_clone 
 
 
Запустить консоль 
 
$ sudo lxc-console -n xenial_lxc_clone
 
Connected to tty 1
                  Type <Ctrl+a q> to exit the console, <Ctrl+a Ctrl+a> to enter Ctrl+a itself

Ubuntu 16.04.5 LTS xenial_lxc_clone pts/0

xenial_lxc_clone login:
 
# The default user is 'ubuntu' with password 'ubuntu'!
 
 
 

вторник, 11 апреля 2017 г.

Очередной проброс hasp

Созадать контейнер:

# lxc-create -t ubuntu -n precise_lxc -- -r precise -a amd64
!!!# lxc-create -t ubuntu -n trusty_lxc -- -r trusty -a amd64
!##
!# The default user is 'ubuntu' with password 'ubuntu'!
!# Use the 'sudo' command to run tasks as root in the container.
!##
Сохранение контейнера precise_lxc :
# cd  /var/lib/lxc/
# tar -cvzf  precise_lxc.tar.gz ./precise_lxc

Клонировать контейнер
# lxc-clone -o precise_lxc -n xrdp_lxc

Старт контейнера
# lxc-start -n xrdp_lxc -d

Посмотреть ip
# lxc-ls -f

Запустить консоль
# lxc-console -n xrdp_lxc
 
$ sudo -i
# apt-get update
# apt-get upgrade
# apt-get install mc htop nano wget samba
# nano /etc/sysctl.conf
В конец файла:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Сохранить.
# sysctl -p
Проверка:
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6
1

# nano /etc/hosts
127.0.0.1   localhost
127.0.1.1   xrdp_lxc

Сохранить.

# apt-get install ubuntu-desktop

# reboot

Ниже инструкция для форка metalefty
# cd /home/ubuntu/xrdp_metalefty
Установка готовых пакетов
# dpkg -i x11rdp_0.9.0+master-1_amd64.deb
# dpkg -i xrdp_0.9.0+master-1_amd64.deb
# cd ..
# rm -R /home/ubuntu/xrdp_metalefty

Русификация клавиатуры:
Нужно добавить в конец файла
# nano /etc/xrdp/xrdp_keyboard.ini

[rdp_keyboard_ru]
keyboard_type=4
keyboard_subtype=1
model=pc105
options=grp:alt_shift_toggle
rdp_layouts=default_rdp_layouts
layouts_map=layouts_map_ru

[layouts_map_ru]
rdp_layout_us=us,ru
rdp_layout_ru=us,ru

сохранить.

Перезапустить xrdp
# /etc/init.d/xrdp restart
# netstat -lntp |grep 3389
root@xrdp_lxc:/home/ubuntu# netstat -lntp |grep 3389
tcp        0      0 0.0.0.0:3389            0.0.0.0:*               LISTEN      2655/xrdp

Пакеты установлены.
Зайти по xrdp (ubuntu/ubuntu)

Обратить внимание на то, что при переключению раскладки alt_shift_toggle

Целесообразно отключить HUB (иначе просто не будет работать)

Клавиатура->Комбинации клавиш

Запуск приложений->Клавиша для отображения HUD->Выключен (Backspace)

Для переключения раскладки после реконнекта

на рабочем столе делаем скрипт:

$ cd /home/ubuntu/'Рабочий стол'
$ touch rus_map.sh
$ chmod +x rus_map.sh
$ nano rus_map.sh

setxkbmap -layout "us,ru(winkeys)" -model "pc105" -option "grp:alt_shift_toggle"
Сохранить.
$ sudo poweroff

Сохранение контейнера xrdp_lxc :
# cd  /var/lib/lxc/
# tar -cvzf  xrdp_lxc.tar.gz ./xrdp_lxc

Клонировать контейнер
# lxc-clone -o xrdp_lxc -n xrdp

Старт контейнера
# lxc-start -n xrdp -d

Посмотреть ip
# lxc-ls -f

Подключиться по ssh (password 'ubuntu")
# ssh ubuntu@xrdp
$ sudo -i
# apt-get install ttf-mscorefonts-installer
# apt-get install imagemagick
# cd /home/ubuntu/8.3.9.2170
# tar xvzf client.deb64.tar.gz
# tar xvzf deb64.tar.gz
# dpkg -i 1c*.deb
# apt-get -f install
# chown -R usr1cv8:grp1cv8 /opt/1C
# rm -R /home/ubuntu/8.3.9.2170
!!!Зададим пароль
!!!# passwd usr1cv8
!!!Запустим сервер
!!!# service srv1cv83 start
# poweroff


Сохранение контейнера xrdp :
# cd  /var/lib/lxc/
# tar -cvzf  xrdp.tar.gz ./xrdp


Клонировать контейнер
# lxc-clone -o xrdp -n hasp

На хосте:
# lsusb
root@i7:/var/lib/lxc# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

(лицензия 1с)
# ls -la /dev/bus/usb/001/002
root@i7:/var/lib/lxc# ls -la /dev/bus/usb/001/002
crw-rw-r-- 1 root root 189, 1 апр 11 09:31 /dev/bus/usb/001/002


Поправим конфиг:
# nano /var/lib/lxc/hasp/config

lxc.mount.entry = /dev/bus/usb/001 dev/bus/usb/001  none bind,optional,create=dir
# hasp
lxc.cgroup.devices.allow = c 189:* rwm

Сохранить.


Старт контейнера
# lxc-start -n hasp -d

Просмотр:
# lxc-ls -f

Подключимся:
# ssh ubuntu@hasp
# cd /home/ubuntu/hasp

root@hasp:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub


# dpkg --add-architecture i386
# apt-get update
# apt-get install libc6:i386
# dpkg -i --force-architecture aksusbd_7.54-1_i386.deb
# apt-get -f install
# service aksusbd restart
# /etc/init.d/aksusbd status

Так не работает.

# poweroff
Сохранение контейнера hasp :
# cd  /var/lib/lxc/
# tar -cvzf  hasp.tar.gz ./hasp

Пробуем другой вариант:

Клонировать контейнер
# lxc-clone -o hasp -n hasp1

Поправим конфиг:
# nano /var/lib/lxc/hasp1/config

# lxc.mount.entry = /dev/bus/usb/001 dev/bus/usb/001  none bind,optional,create=dir
# hasp
lxc.cgroup.devices.allow = c 189:* rwm


Сохранить.
На хосте:



#  lsusb
# cd /dev/bus/usb/001
# ls -al
root@i7:/dev/bus/usb/001# ls -al
итого 0
drwxr-xr-x 2 root root     80 апр 11 09:31 .
drwxr-xr-x 4 root root     80 апр 11 09:31 ..
crw-rw-r-- 1 root root 189, 0 апр 11 09:31 001
crw-rw-r-- 1 root root 189, 1 апр 11 09:31 002

# cd /dev/bus/usb/002
root@i7:/dev/bus/usb/002# ls -al
итого 0
drwxr-xr-x 2 root root       60 апр 11 09:31 .
drwxr-xr-x 4 root root       80 апр 11 09:31 ..
crw-rw-r-- 1 root root 189, 128 апр 11 09:31 001




# nano /var/lib/lxc/hasp1/rootfs/etc/rc.local

Добавить перед exit 0


mkdir --parents /dev/bus/usb/001
mkdir --parents /dev/bus/usb/002 
mknod /dev/bus/usb/001/001 c 189 0
mknod /dev/bus/usb/001/002 c 189 1
mknod /dev/bus/usb/002/001 c 189 128
 
Сохранить.
 
Старт контейнера
# lxc-start -n hasp1 -d

Просмотр:
# lxc-ls -f

Подключимся:
# ssh ubuntu@hasp1

root@hasp1:~# lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP v0.06
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub



Не работает тоже.


# poweroff
Сохранение контейнера hasp1 :
# cd  /var/lib/lxc/
# tar -cvzf  hasp1.tar.gz ./hasp1


 






 









 


 





 

среда, 29 марта 2017 г.

Проброс hasp в lxc

Elastix4onCentos7vz
Монтирование каталогов хост-системы в LXC контейнер
Setting up a OpenVPN server
Sysadmin Cookbook
Настройка OpenVPN (шпаргалка)
Sentinel HASP LDK Ubuntu, DEB Run-time Installer
mount -t usbfs none /proc/bus/usb

How to use convert an KVM image into a LXC container
Secure OpenVPN Server on
LXC для разработчика
USB passthrough to lxc #29
USB Passthrough with LXC
How to connect a /dev USB modem in an LXC container?
[SOLVED] usb device access from lxc container

Созадать контейнер:

!!!# lxc-create -t ubuntu -n precise_lxc -- -r precise -a amd64
# lxc-create -t ubuntu -n trusty_lxc -- -r trusty -a amd64
!##
!# The default user is 'ubuntu' with password 'ubuntu'!
!# Use the 'sudo' command to run tasks as root in the container.
!##
 
Сохранение контейнера trusty_lxc :
# cd  /var/lib/lxc/


# tar -cvzf  trusty_lxc.tar.gz ./trusty_lxc


Клонировать контейнер
# lxc-clone -o trusty_lxc -n hasp_lxc

# nano /var/lib/lxc/hasp_lxc/rootfs/etc/hosts
127.0.0.1  localhost
127.0.0.1  hasp_lxc
Сохранить.

Старт контейнера
# lxc-start -n hasp_lxc -d

Посмотреть ip
# lxc-ls -f

Зайти по ssh
# ssh ubuntu@192.168.0.69

$ sudo -i
# apt-get update
# apt-get upgrade
# apt-get install mc samba nano wget

Настроим ipv6
# nano /etc/sysctl.conf
В конец файла:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

Сохранить.
# sysctl -p
Проверка:
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6

# poweroff

Сохранение контейнера hasp_lxc :
# cd  /var/lib/lxc/
# tar -cvzf  hasp_lxc.tar.gz ./hasp_lxc

На хосте:
# lsusb
root@i7:/var/lib/lxc# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


(лицензия 1с)
# ls -la /dev/bus/usb/004/001
root@i7:/dev/bus/usb# ls -la /dev/bus/usb/001/004
crw-rw-r-- 1 root root 189, 3 апр 10 16:16 /dev/bus/usb/001/004



Поправим конфиг:
# nano /var/lib/lxc/hasp_lxc/config

lxc.mount.entry = /dev/bus/usb/001/004 /dev/bus/usb/001/004  none bind,optional,create=dir
# hasp
lxc.cgroup.devices.allow = c 189:* rwm

Сохранить.

Старт контейнера
# lxc-start -n hasp_lxc -d

Просмотр:
# lxc-ls -f


[SOLVED] usb device access from lxc container

Подключимся:
# ssh ubuntu@hasp_lxc
$ sudo -i
# apt-get install usbutils
# lsusb
root@hasp_lxc:/dev# lsusb
unable to initialize libusb: -99
# mkdir -p /dev/bus/usb/002/001
# lsusb
root@hasp_lxc:/dev# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub


--------------------------------------------------------------------------------------------------

Для работы файловой версии нужно установить hasp
Берем здесь:
ftp://updates.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/12.04/

# mkdir /home/ubuntu/hasp_64
# cd /home/ubuntu/hasp_64

!!!# wget -c ftp://updates.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/12.04/haspd-modules_7.40-eter10ubuntu_amd64.deb

# wget -c ftp://updates.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/14.04/haspd-modules_7.40-eter10ubuntu_amd64.deb

!!!# wget -c ftp://updates.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/12.04/haspd_7.40-eter10ubuntu_amd64.deb

# wget -c ftp://updates.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/14.04/haspd_7.40-eter10ubuntu_amd64.deb

# dpkg -i haspd_*
# apt-get -f install

Проверяем работу модуля
и подключить, а также выключить и включить,
передернуть по питанию

# service haspd restart


root@hasp_lxc:/home/ubuntu/hasp_64# service haspd restart
Stopping hasplmd...                                                     [PASSED]
Stopping hasplm...                                                      [PASSED]
Stopping winehasp...                                                    [PASSED]
Stopping aksusbd...                                                     [PASSED]
Stopping skeyd...                                                       [PASSED]
Stopping usbsentinel...                                                 [PASSED]
Stopping SntlKeysSrvrlnx...                                             [PASSED]
Unloading HASP LPT kernel module...                                     [PASSED]
Loading HASP LPT kernel module... modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.8.0-46-generic/modules.dep.bin'
 (/dev/lp0 device has not found)                                        [PASSED]
Check kernel for CONFIG_USB_DEVICEFS...                                 [PASSED]
Enable workaround for /proc/bus/usb (bind from /dev/bus/usb)            [ DONE ]
ln: не удалось создать символьную ссылку «/proc/bus/usb/devices»: Отказано в доступе
Running aksusbd...                                                      [ DONE ]
Running winehasp...                                                     [ DONE ]
Running hasplm...                                                       [ DONE ]
Running hasplmd...                                                      [ DONE ]

# ln --symbolic /proc/bus/usb /dev/bus/usb

# service haspd restart

root@hasp_lxc:/home/ubuntu/hasp_64# service haspd restart
Stopping hasplmd... .                                                   [ DONE ]
Stopping hasplm...                                                      [ DONE ]
Stopping winehasp...                                                    [ DONE ]
Stopping aksusbd...                                                     [ DONE ]
Stopping skeyd...                                                       [PASSED]
Stopping usbsentinel...                                                 [PASSED]
Stopping SntlKeysSrvrlnx...                                             [PASSED]
Unloading HASP LPT kernel module...                                     [PASSED]
Loading HASP LPT kernel module... modprobe: ERROR: ../libkmod/libkmod.c:556 kmod_search_moddep() could not open moddep file '/lib/modules/4.8.0-46-generic/modules.dep.bin'
 (/dev/lp0 device has not found)                                        [PASSED]
Check kernel for CONFIG_USB_DEVICEFS...                                 [ DONE ]
Mounting usbdevfs to /proc/bus/usb (it can be insecure)... mount: неизвестный тип файловой системы 'usbfs'
                                                                        [FAILED]
                                                                        [ DONE ]
Running aksusbd...                                                      [ DONE ]
Running winehasp...                                                     [ DONE ]
Running hasplm...                                                       [ DONE ]
Running hasplmd...                                                      [ DONE ]
 

# poweroff

# lxc-ls -f

Удалить контейнер:# rm -R /var/lib/lxc/hasp_lxc

Восстановление контейнера:
# cd  /var/lib/lxc
# tar xvzf /var/lib/lxc/hasp_lxc.tar.gz

На хосте:
# lsusb
root@i7:/var/lib/lxc# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

(лицензия 1с)
# ls -la /dev/bus/usb/002/001
root@i7:/var/lib/lxc# ls -la /dev/bus/usb/002/001
crw-rw-r-- 1 root root 189, 128 апр 10 10:24 /dev/bus/usb/002/001


Поправим конфиг:
# nano /var/lib/lxc/hasp_lxc/config
lxc.mount.entry = /dev/bus/usb/001 dev/bus/usb/001  none bind, optional, create=dir
# hasp
lxc.cgroup.devices.allow = c 189:* rwm

Сохранить.

!!!# nano /var/lib/lxc/hasp_lxc/rootfs/etc/rc.local

!!!mkdir -p /dev/bus/usb/001 || true
 
Сохранить.

Старт контейнера
# lxc-start -n hasp_lxc -d

Просмотр:
# lxc-ls -f


[SOLVED] usb device access from lxc container

Подключимся:
# ssh ubuntu@hasp_lxc
$ sudo -i
# apt-get install usbutils
# lsusb
root@hasp_lxc:/dev# lsusb
unable to initialize libusb: -99
!!!# mkdir -p /dev/bus/usb/002/001
# mkdir -p /dev/bus/usb/002
# lsusb
# ls -la /dev/bus/usb/001

root@hasp_lxc:/dev# lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Попробуем другие дрова:

# mkdir /home/ubuntu/hasp
# cd /home/ubuntu/hasp
# wget ftp://ftp.cis-app.com/pub/hasp/Sentinel_HASP/Runtime_(Drivers)/7.54/Sentinel_LDK_Ubuntu_DEB_Run-time_Installer.tar.gz
# dpkg --add-architecture i386
# apt-get update
# apt-get install libc6:i386
# dpkg -i --force-architecture aksusbd_7.54-1_i386.deb
# apt-get -f install
# service aksusbd restart
# /etc/init.d/aksusbd status
Настройка драйвера HASP ключа
root@hasp_lxc:/home/ubuntu/hasp# /etc/init.d/aksusbd status
AKSUSB is running.
WINEHASP is running.
HASPLM is running.
# netstat -anp | grep hasp
root@hasp_lxc:/home/ubuntu/hasp# netstat -anp | grep hasp
tcp        0      0 0.0.0.0:1947            0.0.0.0:*               LISTEN      2107/hasplmd
udp        0      0 0.0.0.0:1947            0.0.0.0:*                           2107/hasplmd
udp        0      0 127.0.0.1:2790          0.0.0.0:*                           2105/winehasp
udp        0      0 0.0.0.0:52336           0.0.0.0:*                           2107/hasplmd
unix  2      [ ]         DGRAM                    52486    2107/hasplmd
unix  3      [ ]         STREAM     CONNECTED     49597    2107/hasplmd
unix  2      [ ]         DGRAM                    47877    2105/winehasp
 
# /etc/init.d/aksusbd restart

Браузер подключаем через прокси SOCKS5 127.0.0.1:1080
.