Оглавление |
---|
Предупреждение |
---|
В данной статье рассматривается предоставление удалённого доступа к USB-устройствам с помощью сервиса USB-over-IP. При принятии решения о возможности использования этого сервиса следует помнить, что:
что может противоречить принятой политике безопасности. Недопустимо использовать сервис USB-over-IP для предоставления удалённого доступа к носителям, содержащим конфиденциальные данные. В статье приводятся примеры автоматического запуска службы, однако следует помнить, что после перезагрузки компьютера к нему могут оказаться подключены совсем другие устройства, получившие те же идентификаторы busid, которые автоматически станут доступны всем удалённым пользователям. |
Информация | ||
---|---|---|
| ||
|
Установка пакетов на сервере и на клиенте
На сервере и на клиенте должен быть установлен пакет linux-tools соответствующий версии используемого ядра. При наличии подключенных репозиториев установить пакет можно выполнив на сервере и клиенте команду
Для проброса USB-устройств (накопители, токены и др.) из ОС Astra Linux в ОС Astra Linux можно использовать USB-over-IP.
Информация |
---|
Инструкция применима к
|
:
Command |
---|
sudo apt -get install linux-tools-`uname -r` |
Настройка сервера
На сервере загрузить необходимые модули ядра, для чего выполнить команду:
Command |
---|
sudo modprobe usbip-core sudo modprobe usbip-host sudo modprobe vhci-hcd |
Для того, чтобы модули загружались автоматически при загрузке ОС можно создать в каталоге /etc/modules-load.d/ файл с именем, например, /etc/modules-load.d/usb-over-ip-load.conf, и перечислить в нём названия загружаемых модулей:
Блок кода | ||
---|---|---|
| ||
usbip-core usbip-host vhci-hcd |
Демонизировать Запустить процесс как сервисную службу:
Command |
---|
sudo usbipd -D |
Для того, чтобы usbipd запускался автоматически при старте компьютера можно оформить его в виде системного юнита, для чего:
Создать файл /etc/systemd/system/usbipd.service со следующим содержимым:
Блок кода [Unit] Description=USBIPd [Service] ExecStart=/usr/bin/usbipd -D Type=oneshot RemainAfterExit=yes [Install] WantedBy=multi-user.target
Обновить конфигурацию сервисов и разрешить запуск созданного юнита:
Command sudo systemctl daemon-reload
sudo systemctl enable usbipd
Проверка подключенных к локальному компьютеру Проверка подключенных USB -устройств:
Command | |||
---|---|---|---|
| sudo
| ||
busid 1-2 (03f0:4c17)
Hewlett-Packard : EWS UPD (03f0:4c17) |
Идентификаторы busid далее используются для привязки эскспортируемых устройств.
Информация | ||
---|---|---|
Если при выполнении указанной выше команды выдаётся сообщение об | ||
Информация | ||
При ошибке открытия по пути /usr/share/hwdata на клиенте выполнить//usb.ids, то создать каталог /usr/share/hwdata/ и создать в нём ссылку на нужный файл:
|
Далее привязать устройство к службе usbipd, после чего оно станет доступно извне:
Command |
---|
sudo usbip bind -b <bus ID устройства> |
Информация |
---|
Для Если используется межсетевой экран, то для корректной работы usbipd должен быть открыт порт 3240. |
Проверить, что устройство действительно привязано и доступно, можно выполнив на сервере команду:
Command |
---|
usbip list -r localhost |
Настройка клиента
Установить пакеты:
Command |
---|
sudo apt install linux-tools-`uname -r` |
Загрузить необходимые модули ядраВыполнить на клиенте:
Command |
---|
sudo modprobe sudo modprobe usbip-core sudo modprobe vhci-hcd |
Автоматическую загрузку модулей ядра для клиента можно сделать так же, как описано выше для сервера.
Проверить видимость устройств, подключенных к серверу, можно выполнив на клиентском компьютере командуПроверка видимости устройства:
Command | ||
---|---|---|
| <server ip>||
| ||
Exportable USB devices
192.168.122.45 3
Aktiv : Rutoken ECP (0a89:0030) :
|
Информация | ||
---|---|---|
Если при выполнении указанной выше команды выдаётся сообщение об ошибке открытия по пути /usr/share/hwdata//usb.ids, то создать каталог /usr/share/hwdata/ и создать в нём ссылку на нужный файл:
|
Подключить Смонтировать USB-устройство на клиенте:
Command |
---|
sudo usbip attach -r <server> -b <bus ID> |
После подключения устройство будет доступно как физически подключенный накопитель, и может монтироваться/отмонтироваться командами mount/umount так же, как физические накопители.
Для отключения устройства:
Проверить, к какому порту присоединено устройство:
Command sudo usbip port для единственного устройства это будет порт 00.
Отключить устройство (используется номер порта 00, обычный для единственного устройства):
Command sudo usbip detach -p 00