- Установка и настройка usb-redirector-linux в CentOS
- Подготовка сервера
- Настройка сервера
- Проброс USB устройства
- Настройка клиента
- Установка USB Redirector
- Проброс USB в виртуалку по сети средствами UsbRedir и QEMU
- Для начала несколько слов о вышеперчисленных решениях
- Настройка виртуальной машины
- Запуск сервера
- Подключение устройства к виртуальной машине
- Через опции при запуске ВМ
- Или через qemu-monitor
- Если устройств много и все они одинаковые
- И так приступим
- Установка «USB Redirector» на Raspberry Pi
- Предисловие
- Решение
Установка и настройка usb-redirector-linux в CentOS
В статье пойдет речь о настройке сервера для сетевой передачи устройства USB на другой компьютер. Подобная конструкция, как правило, необходима для проброса различных USB-ключей на виртуальные машины. Серверная часть будет настраиваться на базе Linux CentOS 7, клиентская — Windows. В качестве серверного ПО будем использовать usb-redirector-linux. Внимание — данный продукт нельзя использовать бесплатно, если раздача USB устройства идет с сервера Linux. В большей степени, инструкция предназначена для тех, кто планирует купить данных продукт.
Подготовка сервера
Для корректной установки программы, необходимо обновить систему:
После сервер необходимо перезагрузить:
Настройка сервера
usb-redirector-linux собирается из исходников. Для начала ставим пакеты, необходимые для сборки:
yum install wget gcc kernel-devel
Переходим на страницу загрузки программы и копируем ссылку на ее скачивание:
Используя ссылку, скачиваем исходник на сервер:
Распаковываем скачанный архив и переходим в каталог исходников модулей:
tar -zxvf usb-redirector-linux-x86_64.tar.gz
Собираем исходник с указанием исходника ядра:
* каталог 3.10.0-862.3.3.el7.x86_64, скорее всего, будет другим — это зависит от версии ядра.
Возвращаемся в корень каталога, который появился после распаковывания архива:
Устанавливаем usb-redirector следующей командой:
Проброс USB устройства
Переходим в каталог, куда была установлена программа:
Отображаем список подключенных USB устройств:
Получим что-то на подобие:
================= USB SERVER OPERATION SUCCESSFUL ===============
List of local USB devices:
1: USB Keyboard SIGMACHIP Composite USB Device
Vid: 1c4f Pid: 0026 Port: 2-1.4
Status: plugged
2: ET99 Token OEM USB Human Interface Device
Vid: 096e Pid: 0303 Port: 2-1.3
Status: plugged
Чтобы расшарить токен ET99, вводим:
Настройка клиента
Заходим на страницу загрузки USB Redirector и скачиваем клиентскую часть — в нашем случае для Windows:
Скачанный архив распаковываем и запускаем установщик. Отвечаем на все вопросы мастера нажатием Далее.
После окончания установки запускаем программу — нажимаем Add USB Server и прописываем IP-адрес нашего сервера:
Появится список расшаренных устройств — просто нажимаем правой кнопкой мыши на необходимый и кликаем Connect USB Device.
Источник
Установка USB Redirector
USB Redirector – Программа для транслирования любого USB-устройства в сеть, т.е позволяет получить доступ к USB-устройству через интернет или локальную сеть так, как если бы оно было подключено к вашему компьютеру. Программа распространяется по принципу «Попробуй и Купи», это значит, что программой можно пользоваться бесплатно в течение определенного периода (15 дней) и потом необходимо либо купить её, либо удалить со своего компьютера. С ценами можно ознакомиться по адресу http://www.incentivespro.com/buy.html в таблице под названием «Licensing scheme of USB Redirector RDP Edition», где столбцы – это количество серверов, а строки – максимальное количество одновременно подключенных USB устройств.
Применительно к системе Агбис, данная программа используется для транслирования USB Web-камер и, соответственно, организации возможности фотографирования вещи при терминальной работе сервера (когда камера подключена к локальному компьютеру, а работа фактически производится на сервере).
Для транслирования USB устройства нужно проделать определенные (описанные ниже) действия на сервере (там, где подключено USB-устройство) и на клиенте (на котором мы хотим получить доступ к USB устройству).
Со стороны сервера.
Скачиваем дистрибутив программы USB-Redirector for RDP с официального сайта www.usb-server.com или по прямой ссылке http://incentivespro.com/usb-redirector-rdp.zip
Распаковываем полученный архив, заходим в папку «32-bit-setup» и запускаем файл usbrdr_terminalserver_setup.exe
Ждем, когда в появившемся окне станет активна кнопка «Next» и нажимаем ее (обычно это происходит секунд через 10-15 после запуска).
Устанавливаем «I accept the agreement», как показано на рисунке, и нажимаем «Next».
Указываем путь для установки или просто нажимаем кнопку «Next» ничего не меняя.
Нажимаем «Finish», это приведет к первому запуску программы.
При запуске отображается окно, в котором нужно либо нажать кнопку «Enter License Key» и ввести приобретенный ключ для программы, либо нажать кнопку «Continue evaluation» и продолжить знакомство с программой в тестовом режиме. Если у вас еще нет ключа, то нажимаем «Continue evaluation».
Важно! Это сообщение говорит о том, что нужно иметь на сервере драйвер для устройства, к которому мы хотим получить доступ (т.е. драйвер для Веб-камеры). Ставим галочку как на рисунке и нажимаем ОК.
Появляется окно программы. На этом настройка сервера окончена.
Настройка со стороны клиента (т.е. на компьютере удаленного приемного пункта).
Скачиваем дистрибутив программы USB-Redirector for RDP с официального сайта www.usb-server.com или по прямой ссылке http://incentivespro.com/usb-redirector-rdp.zip
Распаковываем полученный архив, заходим в папку «32-bit-setup» и запускаем файл usbrdr_workstation_setup.exe
Ждем, когда в появившемся окне станет активна кнопка «Next» и нажимаем ее (обычно это происходит секунд через 10-15 после запуска).
Устанавливаем «I accept the agreement», как показано на рисунке, и нажимаем «Next».
Выбираем путь для установки или просто нажимаем кнопку «Next» ничего не меняя.
После окончания процесса установки нажимаем «Finish», это приведет к первому запуску программы.
Главное окно программы выглядит следующим образом. В нем отображены все USB-устройства, которые подключены к данному компьютеру. Например, в данном случае подключено два устройства.
Чтобы дать доступ к нашему устройству (Веб-камере), необходимо выделить его в списке и нажать кнопку «Share USB device» (она выделена красным кружком на рисунке).
Если всё сделано правильно, то на иконке устройства появится изображение руки. Это значит, что доступ к нашему устройству открыт.
Теперь можно подключаться к серверу, который мы настраивали в начале статьи. Для этого используем «Подключение к удаленному рабочему столу». В строке Компьютер вводим IP адрес сервера и нажимаем кнопку подключить.
После подключения удаленного компьютера к серверу, если всё сделано правильно, то в окне USB Redirector на сервере появится название сеанса и отобразится подключенное устройство с зеленой галочкой.
Источник
Проброс USB в виртуалку по сети средствами UsbRedir и QEMU
На сегодняшний день существет довольно много способов пробросить USB-устройство на другой компьютер или виртуалку по сети.
Из наиболее популярных — железячные такие как AnywhereUSB и чисто програмные продукты, из тех что я попробовал сам: USB Redirector и USB/IP.
Я бы хотел рассказать вам еще об одном интересном способе, который работает непосредственно с эмулятором QEMU.
Он так же является частью проекта spice, официально поддерживаемым RedHat.
UsbRedir, это открытый протокол для проброса usb-устройств по tcp на удаленный виртуальный сервер, разработанный при поддержке RedHat в рамках проекта spice. Но как оказалось им можно вполне успешно пользоваться и без spice. В роли сервера выступает usbredirserver, который шарит usb-устройство на определенный порт, а в качестве клиента сам QEMU, который эмулирует подключение экспортированного usb-устройства в определенный usb-контроллер вашей виртуальной машины. Благодаря такому подходу в качестве гостевой системы может использоваться абсолютно любая ОС, так как она даже не знает, что устройство является проброшенным удаленно, а вся логика ложится на QEMU.
Для начала несколько слов о вышеперчисленных решениях
- AnywhereUSB — довольно неплохое решение, но дорогое, и имеет неприятние глюки, например бывает если расшаренная флешка отваливается, то переподключить ее обратно можно только физически вынув и вставив ее.
- USB/IP — OpenSource проект. Вроде как был заброшен. По факту глючит довольно сильно. При разрыве соединения, машина частенько уходит в полнейший freezee, а windows показывает BSOD
- USB Redirector — Замечательная софтина. Для расшаривания устройств с linux на linux бесплатна, во всех остальных случаях уже стоит денег, не так много как AnywhereUSB, но и не бесплатно как хотелось бы 🙂
Как видно есть из чего выбрать, но давайте же наконец попробуем еще один способ — UsbRedir?
Настройка виртуальной машины
Для того что бы было куда подключать экспортированные устройства, на виртуальной машине нужно создать необходимые usb-контроллеры:
- uhci — для USB1.0
- ehci — для USB2.0
- xhci — для USB3.0
Для qemu (без libvirt)
Добавьте опции в команду запуска виртуальной машины:
Для libvirt
В исходном файле конфигурации виртуальной машины в узле <devices> удаляем все USB контроллеры и добавляем следущий блок:
Кстати, если вы используете spice, то добавив к контроллерам еще 3 специальных девайса, станет возможен проброс usb-устройств с клиента spice на сервер.
Для qemu
Добавляем следующие опции в команду запуска виртуальной машины, помимо контроллеров определеных нами раньше:
Для libvirt
В исходном файле конфигурации виртуальной машины в узле <devices> добавляем следующие опции, помимо контроллеров определеных нами раньше:
Теперь все готово для осуществления проброса.
Запуск сервера
Пакет usbredirserver можно найти в стандартных репозиториях практически во всех популярных дистрибутивах linux.
Вставляем флешку в компьютер, смотрим вывод usb-устройств:
Видим что пара vendorid:prodid равна 125f:c82a, а ядро определило флешке 003-001 usbbus-usbaddr соотвественно.
Теперь давайте расшарим ее на 4000 порт:
Подключение устройства к виртуальной машине
Через опции при запуске ВМ
Устройство которое нужно подключить к ВМ можно указать при запуске, добавив следующие опции в команду запуска
Для qemu
Для libvirt
Этот блок рамещается перед тегом </devices>, рядом с контроллерами определенными нами раньше:
Его так же можно исполнить командой virsh attach-device
Или через qemu-monitor
Заходим на гипервизор и в qemu-monitor нашей машины выполняем следующие команды:
Что бы отключить флешку достаточно такой команды:
На этом все, после данных шагов ваша ВМ увидит вашу флешку и сможет с ней нативно работать.
Если устройств много и все они одинаковые
Вот тут появилась интересная задачка, как пробросить несколько одинаковых девайсов на разные ВМ?
При этом, стоит отметить, все устройства имеют одинаковую пару vendorid:prodid, а пара usbbus-usbaddr совсем не постоянна, стоит только вынуть и вставить устройство, так оно сразу поменяет свой usbaddr.
Я решил ее при помощи udev.
Кстати если вы не совсем понимаете как работает udev, на Debian Wiki есть классная статья о udev
И так приступим
Для начала нам надо узнать серийник нашего устройства, по которому и будем идентифицировать его в udev:
И вставим наше устройство, после этого мы сразу увидим список переменных этого устройства которые udev любезно инициализировал для нас:
Информацию о серийнике и других аттрибутах можно получить и другим способом, но стоит учитывать что для написания правил мы будем использовать именно переменные из команды выше, а не аттрибуты из команды ниже. В противном случае не будет отрабатывать триггер remove при отключении устройства.
Теперь создадаим файл /etc/udev/rules.d/99-usb-serial.rules и запишем в него следующие правила:
Готово, теперь при подключении нашего устройства, оно будет автоматически шарится на нужный нам порт, а при отключении usbredirserver будет прекращать свою работу.
По аналогии добавляем и остальные устройства.
На этом все. Спасибо за проявленный интерес 🙂
Источник
Установка «USB Redirector» на Raspberry Pi
Предисловие
Итак, поставлена задача, из офиса пробросить USB устройство на удаленный 1С сервер, расположенный за пределами РФ, подключенный к внутренней сети офиса через VPN.
После недолгих и малозначемых событий я решил задействовать для решения этой задачи Raspberry Pi 3 model B (далее малинка) с USB Redirector на борту. И тут начались приключения, которые поможет обойти данный мануал.
1. Дистрибутив Raspbian Stretch с версией kernel 4.14.44-V7+ категорически не хочет дружить с редиректором. Ни под каким предлогом.
2. Для нормальной установки требуются linux-sources и linux-headers, которые отсутствуют в своем нормальном виде в стоковых репозиториях raspbian stretch.
И после нескольких часов перекапывания гугла я нашел решение.
Решение
Linux Kernel: 2.6.15 — 4.5
Architecture: x86, x86_64(amd64), arm, mips
RDP Requirements: rdesktop 1.6.0 and higher or FreeRDP 1.0.1 and higher
Соответственно заливаем на SD малинки версию raspbian подходящую по параметрам. В моем случае это Raspbian Jessie 2016-11-29. Скачать можно тут
Я надеюсь что люди читающие данную статью достаточно осведомлены о способах записи на флешку образа системы, поэтому опущу этот момент.
Запускаем малинку, проводим стандартную настройку (ssh, vnc, Wi-Fi, меняем стандартные пароли).
Далее обновляем список репозиториев и обновляем софт по необходимости
sudo apt-get update && sudo apt-get upgrade
Добавляем архитектуру arm
sudo dpkg —add-architecture arm
Устанавливаем linux-headers для Raspberry Pi
sudo apt-get install raspberrypi-kernel-headers
Скачиваем USB Redirector
Распаковываем и переходим в образовавшуюся директорию
tar -xvf usb-redirector-linux-arm.tar.gz
cd usb-redirector-linux-arm
Даем права установщику
sudo chmod +x installer.sh
И запускаем установку
sudo ./installer.sh install server
Установка завершена успешно!
Дальнейшую инструкцию по настройке usbsrv можно найти здесь
Источник