Перенаправление USB
Общие сведения
Перенаправление USB-устройств с хостовой машины на удаленную в Space Client реализовано с помощью трех технологий:
Перенаправление USB-устройств на виртуальную машину:
-
Поддерживает подключение по протоколу RDP.
-
Поддерживает подключение по протоколам SPICE, RDP, GLINT и Loudplay.
Перенаправление USB-устройств на физическую машину:
-
Поддерживает подключение по протоколам SPICE, RDP, GLINT.
Для использования данного функционала необходимо выполнение следующих условий:
-
Пользователь должен иметь право на перенаправление USB.
-
Если Space Client запущен на ОС Linux, то пользователь должен иметь разрешение на открытие USB.
Для разрешения открытия USB необходимо выполнить одно из трех действий:
- Выполнить команду
chmod 666
для устройства. - Добавить пользователя в группу, владеющую устройством.
- Изменить разрешения устройства.
- Выполнить команду
-
В Web-интерфейсе SpaceVM у ВМ должен быть добавлен USB-контроллер nec-xhci (USB3.0).
Виртуальные машины - <ВМ> - USB-устройства -
Подключить USB-устройство. -
Если удаленная машина работает под управлением ОС Windows 7 или Windows Server 2008, то для корректной работы на этих машинах должен быть установлен драйвер NEC USB 3.0 Driver.
Примечание
В случае расхождения разрешений в Space Client и Space Disp решающими будут разрешения, установленные на стороне Space Disp.
Способы перенаправления USB
RemoteFX USB
Примечание
RemoteFX USB - единственный способ перенаправления USB для RDS-пула.
Виртуальная машина должна быть размещена на хосте с поддержкой RemoteFX (ОС Windows Server 2008 R2 SP1 и новее).
-
Выполнить в терминале команду:
gpedit
-
В открывшемся окне перейти по пути Политика Локальный компьютер - Конфигурация компьютера - Административные шаблоны - Компоненты Windows - Службы удаленных рабочих столов - Узел сеансов удаленных рабочих столов - Перенаправление устройств и ресурсов.
-
Перевести политику Не разрешать перенаправление поддерживаемых самонастраиваемых устройств в состояние Отключено.
-
Выполнить в терминале команду:
gpupdate /force
-
После запуска Space Client необходимо перейти в Настройки - RDP и нажать на кнопку Выбрать USB для перенаправления.
Для автоматического перенаправления USB-устройств после подключения к ВМ необходимо включить опцию Запоминать перенаправленные USB.
-
В открывшемся окне выбрать необходимое USB-устройство и нажать Закрыть - Сохранить.
USBREDIR
Примечание
Для перенаправления USB-устройств используется подключение по протоколу SPICE c созданием канала SPICE_USBREDIR_CHANNEL.
Настройка инфраструктуры
Настройка инфраструктуры для использования USBREDIR:
-
В Web-интерфейсе SpaceVM добавить к ВМ USB SPICE канал.
Виртуальные машины - <ВМ> - USB-устройства -
Подключить USB-устройство. -
В Web-интерфейсе SpaceVM включить удаленный доступ к ВМ.
Данное действие происходит автоматически при создании пула в Space Disp.
-
После запуска Space Client и подключения по протоколу RDP выбрать в меню USB-устройства - USBREDIR SPICE.
-
В открывшемся окне выбрать USB-устройство для перенаправления.
Для автоматического перенаправления USB необходимо включить опцию Запоминать перенаправленные USB.
Запрещен проброс клавиатуры и "мыши".
При пробросе накопителей с ОС Linux на ОС Windows ФС накопителя должна поддерживаться ОС Windows (и наоборот).
Запрет перенаправления
Настройку автоматического перенаправления или запрета перенаправления USB-устройств при использовании технологии USBREDIR можно реализовать двумя способами:
-
С помощью графического интерфейса Space Client. Для этого следует:
-
Перейти в раздел SPICE настроек.
-
В поле Фильтр USB при подключении по Spice указать фильтр USB-устройств, представляющий собой группу правил формата
class,vendor,product,version,allow
, соединенных символом|
.
-
-
С помощью конфигурационного файла. Для этого следует:
-
Открыть в текстовом редакторе конфигурационный файл
client_settings.ini
. -
Для подключения по протоколу SPICE создать поле
show_usb_filter
в группеSpiceSettings
. -
Для подключения по протоколу RDP создать поле
spice_show_usb_filter
в группеRDPSettings
. -
В созданном поле указать фильтр USB-устройств, представляющий собой группу правил формата
class,vendor,product,version,allow
, соединенных символом|
.
-
Пример 1
Если указать фильтр 0x08,-1,-1,-1,0|-1,-1,-1,-1,1
, то в графическом интерфейсе
в окне выбора USB-устройства для перенаправления не будут показаны устройства класса
0x08
(flash-накопители).
Пример 2
Если указать фильтр -1,0x0951,0x1603,-1,0|-1,-1,-1,-1,1
, то в графическом интерфейсе
в окне выбора USB-устройств для перенаправления не будет показано устройство с
vendor id: 0x0951
и product id: 0x1603
.
USB over IP
Для перенаправления USB-устройств с использованием технологии USB over IP необходимо соблюдение дополнительных условий:
-
Space Client версии 2.4.0 или выше.
-
На удаленной машине установлен USBIP-сервис.
Установка USBIP-сервиса
space-usbip-daemon
описана в разделе Space-vd-utils.
Перенаправление USB-устройств с ОС Linux
Для перенаправления USB-устройств с хостовой машины с ОС семейства Linux на удаленную машину необходимо выполнить следующие шаги:
-
Запустить Space Client.
-
Подключиться к выбранной удаленной машине по протоколу SPICE, RDP или GLINT.
-
Установить USBIP-сервис на удаленную машину.
-
Нажать в меню USB-устройства - USB IP redirection.
-
В открывшемся окне в поле
Remote machine address
ввести IP-адрес удаленной машины.При подключении к ВМ по протоколам RDP или GLINT IP-адрес будет указан автоматически.
-
Активировать опцию напротив выбранного для перенаправления USB-устройства.
-
Нажать кнопку Закрыть.
-
Ввести пароль пользователя
sudo
хостовой машины. -
Для проверки перенаправления USB-устройства на удаленной машине необходимо ввести в терминале команду:
lsusb
Настройка беспарольного проброса USB IP с ОС Linux
Внимание
Необходим Space Client версии 3.6.4 и выше.
Для проброса USB IP с ОС семейства Linux без ввода root-пароля необходимо:
-
Создать в системе группу space_usbip командой:
sudo groupadd space_usbip
-
Создать файл
/etc/sudoers.d/space_usbip
. -
В созданный файл записать:
%space_usbip ALL = NOPASSWD: /opt/thin-client/usbip_cmd_without_sudo.sh*
Примечание
Для редактирования файла необходимо использовать команду
visudo
.Примечание
Шаги 1-3 выполняются автоматически, если во время автоматической установки Space Client без параметра при ответе на вопрос
Would you like to set up passwordless USB IP forwarding? (yes/no)
был дан утвердительный ответ. -
Добавить в группу space_usbip пользователей, для которых необходим беcпарольный проброс USB IP командой:
sudo usermod -a -G space_usbip username
-
Выполнить команду:
Убедиться, что строка в конце файла имеет следующий вид:sudo visudo
%astra-admin ALL=(ALL:ALL) NOPASSWD: ALL
-
Если графическая сессия на машине, где запущен Space Client, была открыта для настраиваемого пользователя, необходимо выйти из сессии и зайти снова. Только после этого будут применены правила, созданные для группы.
Автоматическое монтирование «проброшенных» USB-накопителей
Для проброса USB под ОС Astra Linux
-
Выполнить команду
lsblk
для отображения информации обо всех доступных устройствах:lsblk -o NAME,VENDOR,HOTPLUG
-
В выводе команды
lsblk
найти подключаемое устройство и его NAME. -
Выполнить в терминале команду монтирования USB-устройства:
udisksctl mount -b /dev/sda4
-
При запросе пароля ввести пароль от локального администратора на машине.
-
Размонтирование USB-устройства выполняется командой:
udisksctl unmount -b /dev/sda4
Для проброса USB под ОС РЕД ОС
Если в системе используется специальный модуль безопасности SELinux (метод мандатного управления доступа) и его отключение не планируется, то необходимо выполнить дополнительную настройку службы управления устройствами в ядре Linux udevadm.
Для этого:
-
Создать или дополнить конфигурационный файл
/etc/udev/rules.d/99-usb.rules
, добавив строкуENV{ID_USB_DRIVER}=="usb-storage",ENV{UDISKS_IGNORE}="0"
. -
Применить политики командой:
sudo udevadm control --reload-rules
Более подробная информация про доступ к USB-накопителям на сайте RedSoft.