Управляемый USB over IP концентратор (Управляемое устройство подключения USB по сети). Ethernet over usb – сетевая флешка Подключение usb устройства через ethernet

Первая статья, касающаяся в том числе и адаптеров USB—Ethernet, была опубликована на нашем сайте . Таким образом, назвать этот класс устройств новым и неизвестным никак не получается — фактически они появились сразу, как только интерфейс USB из забавной диковинки начал превращаться во что-то полезное, а позднее эволюционировали вместе с USB и Ethernet. Первые модели были рассчитаны на USB 1.1 с его максимальной пропускной способностью в 12 Мбит/с, так что требовать от них чего-либо выходящего за рамки сети-«десятки» смысла не имело. Впрочем, следующее поколение устройств уже , но это требовалось лишь для совместимости с прочим кабельным хозяйством — чтоб «не завалить» на 10 Мбит/с все устройства, подключенные к какому-нибудь простенькому хабу. Внедрение же спецификаций USB 2.0 с пропускной способностью до 480 Мбит/с позволило полноценно задействовать «сотку» и начать прощупывать Gigabit Ethernet (пусть и не на полной скорости, но все равно это было существенно быстрее, чем позволял предыдущий стандарт), а переход на USB 3.0 полностью закрыл вопрос с самой быстрой из массовых версий проводной сети. При наличии спроса можно будет повышать скорость и далее — просто пока это не слишком нужно.

Да и сами по себе подобные адаптеры никогда не были предметом массового спроса — настолько, что многие пользователи компьютеров об их существовании просто не знают (собственно, это одна из основных причин, по которой мы решили посмотреть на современное состояние дел в этом сегменте). Сначала поддержка сетей вообще считалась опциональной, но для самых массовых на тот момент компьютеров (то есть настольных) легко решалась при помощи плат расширения (чаще всего — чуть более быстрых, чем встроенные решения, да и лучше совместимых с операционными системами тех лет). Позднее проводная сеть стала обязательной — но точно так же обязательной стала и ее изначальная поддержка любым компьютером (неважно, настольным или мобильным), то есть наличие в нем соответствующего адаптера. На текущий момент некоторые виды компьютерной техники снова начали обходиться без поддержки проводных сетей — но в основном потому, что их пользователей более чем удовлетворяют колоссально развившиеся с тех пор беспроводные сети. Более того, и владельцы компьютеров «классических» форм-факторов даже при наличии встроенного адаптера проводного Ethernet зачастую им не пользуются никогда или почти никогда. Если же говорить об устройствах «нового образца», типа ультрабуков или планшетов, изначально рассчитанных на отсутствие привязки к конкретному месту использования, то там это тем более выполняется.

Теория

С другой стороны, иногда все-таки требуется обеспечить поддержку проводных сетей там, где ее изначально не предусмотрено. Самый простой сценарий — если предусмотрен один сетевой интерфейс, но понадобилось два, а слотов расширения в системе нет (либо они недоступны) — например, когда речь идет о мини-ПК типа Intel NUC и его аналогов. Второй случай — если регулярно возникает необходимость обмениваться большими объемами информации с, например, ультрабуками: даже лучшие версии беспроводных стандартов все еще медленнее, к тому же для их реализации может потребоваться модернизация всей инфраструктуры (тогда как Gigabit Ethernet в домашний сегмент начал продвигаться еще во времена господства в лучшем случае 802.11n с пропускной способностью 150/300 Мбит/с). Возможно также, что использование провода требуется из соображений безопасности, а не скорости. Либо просто в нужном месте нет Wi-Fi, но с незапамятных времен водится сетевая розетка. Либо вообще речь идет о прямом подключении к какому-либо оборудованию, что часто встречается в практике инженера-эксплуатационщика — а носиться по объектам с маленьким планшетом куда удобнее, чем с большим ноутбуком (в маленьких же ноутбуках сейчас встроенная поддержка Ethernet зачастую тоже отсутствует).

По всем этим причинам адаптеры USB—Ethernet не только не вымерли, но и модернизировались, стали даже более универсальными и удобными. В частности, таков наш сегодняшний герой производства компании Deppa (стоимостью от 2 до 3 тысяч рублей на момент подготовки статьи). Подобные продукты есть у многих производителей, причем иногда они стоят существенно дешевле. Но для общего качественного анализа состояния дел он нам вполне подойдет, благо использует популярную элементную базу — в виде контроллера Realtek RTL8153. Появился этот чип в июле 2013 года, однако улучшать его пока необходимости просто нет: сети с большей пропускной способностью на массовое распространение все еще не претендуют. Собственно, по состоянию на конец 2016 года даже в сегменте HPC-кластеров 60% строящихся систем для связи узлов продолжали использовать именно Gigabit Ethernet (чего уж говорить о сетях масштаба «обычных» предприятий), а ведь 1000Base-T (то есть 1 Гбит/с по витой паре пятой категории) в виде спецификаций «устаканился» еще в конце прошлого века.

USB 3.0 (или, как его рекомендовано называть сейчас, «USB 3.1 Gen1») тоже устоялся давно, для полной реализации скоростных возможностей гигабитной сети подходит, имеется в подавляющем большинстве компьютеров и не только компьютеров. Стоит также отметить, что компания Realtek в свое время предусмотрела возможность питания RTL8153 не только от 5 В (стандартное значение для USB), но и от 3,3 В, причем без необходимости в дополнительных схемах — последнее может пригодиться, например, для разработки Ethernet-адаптера под iPhone/iPad:) Впрочем, подавляющее большинство сетевых адаптеров на этом чипе рассчитаны на подключение к USB-порту и все еще на «обычный» разъем А-типа. Адаптер же Deppa нам приглянулся как раз тем, что уже использует разъем Type-C, что облегчает его подключение не только лишь к стационарным компьютерам.


На мобильное использование прямо намекает и дизайн устройства: основная часть размерами с зажигалку (63×23×14 мм) соединяется с USB-разъемом кабелем длиной всего 12 см, а весит вся эта конструкция всего 23 грамма. Для стационарного использования этот адаптер, конечно, тоже подойдет, но в первую очередь производитель упирает на совместимость с MacBook и другими ноутбуками. А только ли с ними?

Практика

Мы решили поэкспериментировать. Для разминки мы взяли NUC 7i5BNH, благо начиная с «седьмого поколения» этих мини-ПК порт USB Type-C есть в каждой модели. Windows 10 снабжена встроенной поддержкой USB-устройств, работающих по протоколу CDC-ECM (Ethernet Control Model), так что отдельная установка какого-либо драйвера не требуется — первое время возни с USB-адаптерами было куда больше (что им популярности не добавляло). То же самое касается и Windows 8.1, а вот для более старых версий Windows драйвер придется устанавливать. Впрочем, Realtek до сих пор поддерживает даже Windows XP.

Но главное, что нас интересовало — сравнение скорости работы со встроенным сетевым адаптером Intel i219V. Выяснилось, что разница есть. Так, например, согласно результатам iperf3, i219V обменивался данными с другим компьютером (точнее, с его сетевым адаптером Qualcomm Atheros Killer E2200) на скорости ≈920 Мбит/с, а RTL8153 обеспечил лишь ≈840 Мбит/с. Загрузка большого файла с NAS продемонстрировала те же 10% разницы. Много это или мало? Мы склоняемся ко второму варианту, поскольку даже 802.11ac на одном потоке выдает примерно вдвое меньше. Соответственно, если вам нужен второй гигабитный адаптер для компактной системы — подобное решение подойдет. Если у вас сгорел «родной» порт Ethernet — тоже.

Но, естественно, наиболее интересно оно тогда, когда и одного-то проводного интерфейса нет — а хочется:) Например, в случае попавшегося под руку MacBook Pro 13″ образца двухлетней давности. Как и следовало ожидать, OS X тоже «подхватила» адаптер практически «на лету», а результаты проверки пропускной способности оказались практически идентичными тем, что мы получили на NUC. Поскольку эти компьютеры имеют сопоставимую производительность, удивляться такому итогу не приходится.

Поэтому мы решили усложнить задачу и взяли бюджетный планшет Chuwi Hi10 Plus — типичное для компаний из материкового Китая «двухсотбаксовое изделие» на базе Atom X5-Z8350. В данном случае у нас получилось лишь порядка 600 Мбит/с, что, впрочем, во-первых, все равно намного быстрее, чем встроенный Wi-Fi 802.11n, а во-вторых, иногда важнее сам факт совместимости. В конце концов, высокая скорость передачи тех же файлов этому планшету не требуется: записывать он их «умеет» не быстрее 20 МБ/с — что во встроенную eMMC-память, что на карту microSD. Но, например, Hi8 Pro того же производителя является одним из самых компактных (дисплей с диагональю 8″, размеры 211×123×9,3 мм, масса 350 г) и дешевых (порядка $100) «Windows-ПК», причем построен на той же платформе и тоже снабжен USB Type-C — а значит, при помощи подобного адаптера его можно подключать к оборудованию, поддерживающему Ethernet, не хуже полноразмерного ноутбука и используя то же самое ПО. Естественно, это не слишком удобно, но все-таки возможно, и при необходимости таким способом можно воспользоваться.

Воодушевленные достигнутым результатом, мы решили немного похулиганить и проверить совместимость адаптера с... устройствами, работающими под управлением Android: Deppa ничего подобного не обещает, а вот Realtek о возможности такого использования RTL8153 в посвященном его выпуску пресс-релизе некогда упоминал. Конечно, подводных камней в этом случае больше. Во-первых, наличие разъема USB Type-C еще не гарантирует поддержку им USB OTG: разъем этого форм-фактора может использоваться в конкретном устройстве только для зарядки или связи с компьютером, но не для подключения внешних устройств. Например, так ведут себя смартфоны и, возможно, не только они. Во-вторых, возможны проблемы со скоростью работы, поскольку новый тип разъема хоть и появился в рамках спецификации USB 3.1, но еще не гарантирует поддержку более быстрых скоростных режимов, чем известные со времен USB 2.0. В частности, USB 3.0 точно не поддерживают все 28-нанометровые SoC Qualcomm и практически вся продукция Huawei, за исключением разве что топового (и относительно нового) Kirin 970. Но даже если поддержка «внутри» SoC есть, производитель конечного устройства может не развести соответствующие контакты в разъеме — это не запрещено. В-третьих, общие выводы по программной поддержке делать крайне сложно — очень многое может зависеть от конкретной прошивки. Формально используемое в Android ядро Linux поддерживает CDC-ECM, однако слишком уж «толстая» программная прослойка «намазана» сверху.

Поэтому глобальным массовым тестированием мы заниматься не стали. Просто отметим, что опробованы были два устройства: планшет Asus ZenPad 3S 10 (Z500KL), работающий под управлением Android 7.0, и смартфон Huawei P20 Pro с установленной EMUI 8.1 (Android 8.1). С обоими адаптер работать не отказался. Правда, сразу обнаружились определенные ограничения: очень похоже, что сервисы Google привязываются к MAC-адресам устройства, так что при проводном подключении не удается, например, зайти в Google Play. Но браузер и разные сетевые утилиты работают — как минимум, не хуже, чем по Wi-Fi. В случае планшета Asus — и не лучше: «сердцем» данной модели является Qualcomm Snapdragon 650, что сразу ограничивает поддержку спецификациями USB 2.0, да и те работают не в полную силу — на загрузке файла у нас получилось лишь ≈25 МБ/с. А вот Huawei P20 Pro выдал вдвое больше — это тоже далеко от теоретического максимума, но явно демонстрирует наличие поддержки USB 3.0.


Эпикриз

На этом мы решили поставить точку. Главное, что удалось определить: адаптеры USB—Ethernet действительно способны работать не только там, где должны, но и там, где проводное подключение устройства изначально не планировалось «by design». Впрочем, последнее, как нам кажется, лучше рассматривать просто в качестве забавного технологического казуса — навскидку в голову не приходит ни одного типового сценария, в котором подключение Android-устройства к проводной сети было бы жизненно необходимым. Другое дело — компактные компьютеры с изначально «настольными» операционными системами (Windows, macOS или Linux). В каких-то случаях ими приходится заменять настольный же компьютер, и, как видим, возможностей современной реализации шины USB вполне достаточно для того, чтобы не слишком страдать об утерянных в погоне за портативностью возможностях расширения типового десктопа. Во всяком случае, один или несколько гигабитных сетевых адаптеров к ним подключить точно можно, и работать они будут сопоставимо с вариантом, использующим «внутренние» шины. Так что если по какой-то причине вам это сделать нужно — решение есть. Но на массовость оно безусловно не претендует, поскольку давно уже нужно не всем пользователям.

объявила о начале производства промышленного устройства NETUSB -100 iX , которое позволяет подключать различные USB 2.0 устройства через сеть Ethernet. Как известно, максимальная длина кабеля для подключения USB устройств составляет 5м, использование NETUSB -100 iX позволяет подключать удалённое USB 2.0 оборудование практически на любом расстоянии, в том числе и с беспроводным вариантом, используя WIFI мост с внешней точкой доступа или через роутер.

Подключённое оборудование может работать со всеми компьютерами в данном сегменте сети. При рестарте, если у вас соответствующие настройки, удалённые устройства автоматически подключаются к выбранному компьютеру. Максимальная скорость сети – 1 Гбит/с. NETUSB -100 iX автоматически определяет скорость сети и подключается к ней. Несмотря на то, что устройство имеет только один порт USB 2.0, к нему можно подключить до 4-х приборов, используя любой четырёх портовый USB концентратор (хаб).


Питание осуществляется через разъём с защёлкой, который обеспечивает надёжное соединение и на него можно подавать от 9 до 48 Вольт. В комплекте идёт блок питания 12В 1А.

Пластиковый корпус с возможностью крепления на DIN - рейку, вертикальное или горизонтальное крепление на стену.


Кроме того, устройство может использоваться и в бескорпусном варианте. Для этого достаточно открутить два винта и вынуть плату из корпуса, причем на плате намечены три точки для крепления.

Программное обеспечение полностью совместимо с NETUSB -400 i и, если вы уже используете это устройство в сети и хотите расширить количество USB портов, достаточно подключить новое устройство к вашей сети. Программа автоматически распознает его и оно будет готово к работе буквально через несколько секунд после подключения.

Основные отличия от устройства NETUSB -400 i : только один порт USB 2.0 (с возможностью расширения до 4-х портов с помощью внешнего концентратора, но если вам нужно на каждом порту питание 5В 500 мА, то это должен обеспечивать сам хаб) и пластиковый корпус. Все остальные характеристики практически одинаковы.


Устройство NETUSB -100 iX уже есть на складе, розничная цена составляет 87,4 USD по курсу ЦБ в день выписки счёта +2%.

Регулярно возникает задача подключения USB-устройства к удаленному ПК через локальную сеть. Под катом изложена история моих поисков в этом направлении, и путь к готовому решению на базе open-source проекта с описанием заботливо установленных различными людьми на этом пути препятствий, а также способов их обхода.

Часть первая, историческая

Если машина виртуальная - всё это несложно. Функционал проброса USB от хоста в виртуалку появился еще в VMWare 4.1. Но в моём случае ключик защиты, опознающийся как WIBU-KEY, нужно было в разное время подключать к разным машинам, и не только виртуальным.
Первый виток поиска в далеком 2009-м году привел меня к железке под названием TrendNet TU2-NU4
Плюсы:
  • иногда даже работает
Минусы:
  • работает не всегда. Допустим, ключ защиты Guardant Stealth II через неё не заводится, ругаясь ошибкой «устройство не может быть запущено».
  • ПО для управления (читай - монтирования и размонтирования USB-устройств) убого до крайности. Ключи командной строки, автоматизация - не, не слышали. Всё только руками. Кошмар.
  • управляющее ПО ищет саму железку в сети широковещанием, поэтому работает это только в пределах одного broadcast-сегмента сети. Указать IP-адрес железки руками нельзя. Железка в другой подсети? Тогда у вас проблема.
  • разработчики забили на устройство, слать баг-репорты бесполезно.
Второй виток случился во времена уже не столь отдаленные, и привел меня к теме статьи - . Привлекает открытостью, тем более, что ребята из ReactOS подписали им драйвер для Windows, так что теперь даже на x64 всё работает без всяких костылей вроде тестового режима. За что команде ReactOS огромное спасибо! Звучит всё красиво, попробуем пощупать, так ли оно на деле? К сожалению, сам проект тоже подзаброшен, и на поддержку рассчитывать не приходится - но где наша не пропадала, исходник есть, разберемся!

Часть вторая, серверно-линуксовая

Сервер USB/IP, расшаривающий USB-девайсы по сети, может быть поднят только в Linux-based OS. Ну что ж, линукс так линукс, устанавливаем на виртуалку Debian 8 в минимальной конфигурации, стандартное движение руками:

Sudo apt-get update sudo apt-get upgrade sudo apt-get install usbip
Установились. Дальше интернет подсказывает, что нужно бы загрузить модуль usbip, но - здравствуйте, первые грабли. Нет такого модуля. А всё оттого, что большинство руководств в сети относятся к более старой ветке 0.1.x, а в крайней 0.2.0 модули usbip имеют другие названия.

Поэтому:

Sudo modprobe usbip-core sudo modprobe usbip-host sudo lsmod | grep usbip
Ну и добавим в /etc/modules такие строки, чтобы загружать их автоматически при старте системы:

Usbip-core usbip-host vhci-hcd
Запустим сервер usbip:
sudo usbipd -D
Дальше всемирный разум нам подсказывает, что в комплекте с usbip идут скрипты, позволяющие нам управлять сервером - показать, какое устройство он будет расшаривать по сети, посмотреть статус, и так далее. Тут нас поджидает еще один садовый инструмент - эти скрипты в ветке 0.2.x, опять же, переименованы. Получить список команд можно с помощью

Sudo usbip
Почитав описание команд, становится понятно, что для того, чтобы расшарить требуемый USB-девайс, usbip хочет узнать его Bus ID. Уважаемые зрители, на арене грабли номер три: тот Bus ID, который выдаст нам lsusb (казалось бы, самый очевидный путь) - ей не подходит! Дело в том, что железки вроде USB-хабов usbip игнорирует. Поэтому, воспользуемся встроенной командой:

User@usb-server:~$ sudo usbip list -l - busid 1-1 (064f:0bd7) WIBU-Systems AG: BOX/U (064f:0bd7)
Примечание: здесь и далее в листингах я буду всё описывать на примере моего конкретного USB-ключа. Ваши название железки и пара VID:PID могут и будут отличаться. Моя называется Wibu-Systems AG: BOX/U, VID 064F, PID 0BD7.

Теперь мы можем расшарить наше устройство:

User@usb-server:~$ sudo usbip bind --busid=1-1 usbip: info: bind device on busid 1-1: complete
Ура, товарищи!

User@usb-server:~$ sudo usbip list -r localhost Exportable USB devices ====================== - localhost 1-1: WIBU-Systems AG: BOX/U (064f:0bd7) : /sys/devices/pci0000:00/0000:00:11.0/0000:02:00.0/usb1/1-1: Vendor Specific Class / unknown subclass / unknown protocol (ff/00/ff)
Троекратное ура, товарищи! Сервер расшарил железку по сети, и мы можем её подключать! Осталось только дописать автозапуск демона usbip в /etc/rc.local

Usbipd -D

Часть третья, клиентская и запутанная

Подключить расшаренное устройство по сети к машине под управлением Debian я попробовал сразу же на том же сервере, и всё прекрасно подключилось:

Sudo usbip attach --remote=localhost --busid=1-1
Переходим к Windows. В моем случае это был Windows Server 2008R2 Standard Edition. Официальное руководство просит сначала установить драйвер. Процедура прекрасно описана в прилагаемом к windows-клиенту readme, делаем всё как написано, всё получается. На XP тоже работает без каких-либо трудностей.

Распаковав клиент, пробуем примонтировать наш ключик:

C:\Program Files\USB-IP>usbip -a %server-ip% 1-1 usbip err: usbip_network.c: 121 (usbip_recv_op_common) recv op_common, -1 usbip err: usbip_windows.c: 756 (query_interface0) recv op_common usbip err: usbip_windows.c: 829 (attach_device) cannot find device
Ой-ой. Что-то пошло не так. Используем навык гугла. Встречаются отрывочные упоминания, что что-то там не так с константами, в серверной части разработчики при переходе на версию 0.2.0 изменили версию протокола, а вот в клиенте под Win сделать это забыли. Предлагаемое решение - поменяйте константу в исходнике и пересоберите клиент.

Вот только очень мне не хочется качать Visual Studio ради этой процедуры. Зато у меня есть старый-добрый Hiew. В исходнике константа объявлена как двойное слово. Поищем в файле 0х00000106, заменяя на 0х00000111. Не забываем, порядок байт обратный. Итог - два совпадения, патчим:

00000CBC: 06 11 00000E0A: 06 11
Ииии… да!

C:\Program Files\USB-IP>usbip -a %server-ip% 1-1 new usb device attached to usbvbus port 1
На этом можно было бы закончить изложение, но музыка играла недолго. Перезагрузив сервер, я обнаружил, что устройство на клиенте не монтируется!

C:\Program Files\USB-IP>usbip -a %server-ip% 1-1 usbip err: usbip_windows.c: 829 (attach_device) cannot find device
И всё. На это мне не смог ответить даже всезнающий гугл. А при этом команда отобразить доступные на сервере устройства вполне корректно показывает - вот он, ключ, можете монтировать. Пробую примонтировать из-под Linux - работает! А если теперь попробовать из-под Windows? О ужас - это работает!

Грабли последние: что-то там в коде сервера не дописано. При расшаривании устройства он не считывает с него количество USB-дескрипторов. А при монтировании устройства из-под Linux, это поле заполняется. К сожалению, с разработкой под Linux я знаком на уровне «make && make install». Поэтому проблема решена с помощью довольно грязного хака - добавлением в /etc/rc.local

Usbip attach --remote=localhost --busid=1-1 usbip port usbip detach --port=00

Часть заключительная

После некоторых мытарств, это работает. Желаемое получено, теперь ключ можно примонтировать к любому ПК (и размонтировать, конечно же, тоже), в том числе - за пределами широковещательного сегмента сети. Если хочется - можно это сделать с помощью скрипта командной оболочки. Что приятно - удовольствие абсолютно бесплатное.
Надеюсь, что мой опыт поможет хабражителям обойти те грабли, которые отпечатались у меня на лбу. Спасибо за внимание!

Кажется, с каждым годом у системных администраторов работы становится всё меньше. В эпоху Windows XP и первых версий OS X элементарный общий доступ к папке на другом компьютере никак не обходился без обязательных «танцев с бубном», особенно если это были компьютеры с «яблочной» системой и операционкой от Microsoft. Сегодня у пользователей есть мириады решений - от облачной синхронизации до использования Bonjour или AirDrop для быстрого обмена файлами. Разработчики USB Network Gate из компании Eltima Software решили замахнуться на ещё один барьер - совместное использование USB-устройств, и получилось у них это отлично.

Не обладая особо богатым набором устройств, мы решили проверить работоспособность программы на двух простых вещах: USB-флешке и iPhone 5S. Подключив устройство, мы видим, как оно появляется в главном окне программы, а по нажатию кнопки Share становится доступно как по локальной сети, так и через интернет. Для доступа на другом компьютере достаточно открыть вторую вкладку программы и выбрать необходимый девайс - и он тут же подключится к вашему компьютеру, словно действительно вставлен в USB-порт.

Как и заявлено, всё действительно работает, и практически без настроек. Да, для доступа через интернет придётся озаботиться IP-адресом главного компьютера, однако это дело пары секунд. При этом продвинутых пользователей порадует возможность настройка безопасного соединения - зашифрованного и защищённого паролем. Возможна и работа с программой из командной строки. Те, кому это нужно, оценят. Единственным минусом можно отметить фактический отказ программы работать под El Capitan - надеемся, разработчики в скором времени починят этот баг.

Можно представить много сценариев использования USB Network Gate, как для дома, где, за исключением принтеров, простой доступ к удалённым устройствам до сих пор остается уделом фантазий, так и в офисе - работодателю не придётся тратить на дополнительное устройство, а работникам - бегать от одного компьютера к другому. Уверены, много других плюсов вы уже придумали сами. А учитывая, что у программы есть бесплатный пробный период на 14 дней и версии для Windows, Mac и Linux и Android, не попробовать её было бы преступлением.

Всем привет! В этой статье я хочу рассказать о технологии USB поверх IP (USB over IP). Что это такое, зачем нужно, какие сценарии и варианты у этой технологии востребованы на сегодняшний день.

Итак, господа, если вы плотно используете виртуализацию, не важно где – на работе или дома (если вы энтузиаст) и различные системы управления этой самой виртуализацией – Hyper-V, Xen, VMware, то сталкивались с ситуацией, когда необходимо пробросить USB-порт на виртуальную машину. Но в виду ограничений гипервизоров виртуальных машин сделать это проблематично, так как USB-порты на виртуальных машинах отсутствуют. А что делать, если нужно подключить USB-ключ защиты программного обеспечения, токен с криптозащитой и тому подобные нужные вещи? Если с физическим сервером проблем не было, то с виртуальным встает простой вопрос: как это сделать?!

Вот тут на помощь и приходит технология USB over IP. Не нужно ломать голову, все уже придумали. Забегая вперед скажу, что есть как аппаратные средства проброса USB по IP, так и программные.

Под катом детальный обзор и много интересного…

И у тех и у других есть как преимущества, так и недостатки. Давайте рассмотрим преимущества аппаратных устройств USB over IP перед программными:

  • Высокая надежность и отказоустойчивость;
  • Низкое энергопотребление;
  • Высокая скорость развертывания и простота настройки;

Минусы аппаратных устройств USB over IP:

  • Более высокая стоимость по сравнению с программными средствами эмуляции.

Более подробно про программные эмуляторы USB портов я расскажу в одной из следующих статей.

Однажды передо мной встала задача проброса USB HASP ключей на виртуальный кластер 1С Предприятие. После обзора и просмотра большого количества решений, как программных, так и аппаратных выбор пал на устройства компании Digi International, а именно . Сейчас я расскажу про линейку продукции и конкретно какую модель выбрал я для своих систем виртуализации и почему.

AnywhereUSB это достаточно компактное устройство, представляющее из себя USB-концентратор с Ethernet-портом объединенный в один корпус. О моделях использования может наглядно поведать нижеприведенная иллюстрация:

Обзор модельного ряда Digi AnywhereUSB

Для приобретения на момент написания статьи доступны 5 моделей устройств, рассчитанных на разное количество USB портов, и модель с комбинированными COM и USB-портами.

AnywhereUSB /2 — самая простая, младшая двух портовая модель. AnywhereUSB/ 5 и AnywhereUSB/5 with Multi-Host Connections — две пятипортовые модели. AnywhereUSB TS: модель несущая на своем борту 4 COM порта.

Спецификация устройств, отличия



Первоначальная настройка и управление устройствами

Для настройки и управления устройствами предусмотрено несколько интерфейсов:
Web-интерфейс для настройки, мониторинга и администрирования;
AnywhereUSB config utility;
Telnet;
SNMP.

Самым оптимальным и удобным в использовании является Web-интерфейс.


AnywhereUSB/5. Web-интерфейс, меню Network Configuration.

Подключаем нашу USB IP железку в сеть с работающим DHCP-сервером и в браузере переходим по присвоенному устройству IP-адресу. Чтобы узнать адрес можно воспользоваться AnywhereUSB config utility, которую можно скачать с официального сайта производителя устройства.


Вообще, первоначальная настройка устройства не сложнее любого бытового роутера. Попадаем на страницу ввода логина и пароля – по умолчанию логин – root , пароль – root .Существует несколько вариантов присвоения IP адреса AnywhereUSB могут работать в нескольких режимах:

Динамическое присвоение IP-адреса (DHCP);
Статический IP;
Auto Private IP Addressing (Auto-IP).

Пробрасываем USB порты на клиентский компьютер

Тут все просто и легко. Для проброса порта на клиентский ПК нужно установить драйвера AnywhereUSB на ту машину, где мы хотим получить наше USB устройство, и указать адрес нашей волшебной коробочки от Digi. Соотвественно, не забываем подключить наши USB устройства в наш USB-IP концентратор. Это всё.

В случае необходимости получения детальной информации, о подключённом устройстве, свободных/занятых портах – можно воспользоваться утилитой AnywhereUSB View, которая устанавливается вместе с драйверами.

Весь процесс установки и развертывания занимает минут 20.
Лично я в работе использую устройство AnywhereUSB/5 with Multi-Host Connections. Её отличие от младших моделей в том, что она поддерживает группы, и это очень удобно. Сейчас объясню: в этой модели в нашем распоряжении находится 5 USB портов. Эти 5 портов можно разбить на группы и прокидывать на разные виртуальные машины (далее — ВМ). Например, нам нужно прокинуть 3 устройства с портов 1,3,5 на ВМ1, устройство на USB порте 2 на ВМ2, устройство на USB порте 4 на ВМ3. Создаем 3 группы. Порты 1,3,5 объединяем в группу 1, второй USB-порт определяем в группу 2 и третий USB-порт определяем в группу 3. Затем подключаем нужные группы на нужных ВМ с помощью утилиты – и все работает. Делается все в считанные минуты. Старшая модель AnywhereUSB /14 тоже умеет создавать и отдавать по сети группы. Прокидывать можно всё – ради эксперимента даже прокидывал USB HDD. Глюков и тормозов замечено не было.



Настройка групп и интерфейсов, в меню RealPort USB Configuration. Выбор группы по отношению к порту USB.

Заключение

В завершении обзора, хочу сказать, что в отличие от подобных программных средств железка настраивается один раз, не глючит, не греется и стабильно работает. Так же, неоспоримым плюсом является возможность работы в отказоустойчивом кластере, т.е. хостовая машина не теряет подключения USB при переключении. Это важно.

Более подробную информацию о продукции Digi International, а так же драйвера, прошивки и утилиты можно скачать на официальном сайте .

На этом пожалуй всё, если будут какие-то вопросы – спрашивайте в комментариях.

Всем удачи и добра!

2024 samgupsnn.ru. Samgupsnn - Немного о компьютере и современных гаджетах.