Вот в чем была моя боль или немного контекста
Я работаю в IT. Специфика работы позволяет мне заниматься собственными проектами (удаленка и занят не фул тайм) и да проекты не связаны с IT. Я занимаюсь торгами по банкротству (можно назвать это хобби, да такое у меня хобби…).
Знаете, этой статьи могло и не быть. Если бы не один случай, который меня так взбесил, что пришлось искать решение.
Выехал на объект в другом городе. Взял с собой все необходимое: сменную одежду, телефон, ноутбук, документы (помещается в обычном рюкзаке). Заехал в гостиницу, порешал все текущие вопросы и как обычно в свободное время начал мониторить торги на площадках.
Лоты разнообразные, там куча всего и во всем свои нюансы. Раскрывать на чем специализируюсь не буду, да и не важно это в рамках данной истории. В общем натыкаюсь на лот который мне ну очень интересен и по какой-то причине его я раньше не видел.
Изучив подробней, через какое-то время (не самый быстрый процесс) принимаю решение участвовать в торгах. Заполняю заявку, вставляю флешку с ЭЦП и…
Флешку...

Я же её точно брал с собой! Без неё даже из дома не выхожу, не уж-то потерял!?
Я перерыл все, начал вспоминать, когда пользовался ей в последний раз, вроде из дома. Искал флешку, как археолог в поисках клада. Нашёл только зарядку. Ладно, может, и не потерял, может, просто забыл дома. Не так страшно. Но срок подачи заявления истекает завтра. Дома я буду через пару дней.
Обидно конечно ну да ладно. Значит не моё, приеду домой и главное найти злополучную флешку.
Приезжаю домой. Начинаю выгружать вещи из рюкзака. Одежда, бумаги, зарядки – все на пол. Залезаю рукой в самый дальний карман на спине – тот, где она всегда лежала. И нащупываю... её. Ту самую флешку. Просто лежит там.
Ну я орал, прям громко. Обидно стало вдвойне. При чем не знаю на что я злился больше: на саму ситуацию или на собственную тупость.
Ну над ошибками нужно работать и начал искать решения чтобы такое не повторялось.
Решение: флешка over IP
То ли профдеформация, то ли обычная лень – но выбрал я прокидывать флешку по воздуху (USB over IP). При чем посоветовали решения коллеги по цеху. Наши безопасники оказывается уже давно используют какую-то аппаратную приблуду для этого.
Скажу сразу: аппаратно-программные комплексы отмел сразу, цена мягко говоря не юзер френдли и для меня решение довольно таки избыточно. Никого конечно не отговариваю от покупок готовых решений, я описываю свою ситуацию и свои предпочтения.
Поэтому стал искать программные решения USB over IP (по крайней мере то что мне удалось найти):
USB Redirector - 15-дневная пробная версия, перенаправление на 2 устройства (цен не нашел).
USB Network Gate – Платно ($160).
USBIP – Бесплатный open-source.
VirtualHere – Бесплатно на 1 устройство бессрочно. Бессрочная лицензия на сервер - $49.
DistkontrolUSB Free – Бесплатно на 1 устройство. Платной версии нет. Ограниченная поддержка железа.
Free Virtual USB Tools - Бесплатно на 1 устройство бессрочно. Лицензии на 1-5 лет или бессрочно (€100 - €290).
Отбрасываю сразу USB Redirector, USB Network Gate – для меня дорого, тем более при наличии альтернатив.
USBIP в целом работает, но только Linux-Linux. Под Windows все сложно: нужен режим разработчика для клиента — тоже минус.
Free Virtual USB Tools — вариант мой, так как целый зоопарк USB пробрасывать не нужно.
ШАГ 1. УСТАНОВКА free-virtual-usb-tools.exe в качестве сервера на WINDOWS 10. После установки необходимо перезагрузить ПК.


После перезагрузки ПК, открываем приложение сервера и выбираем USB-устройство (я взял RUTOKEN S)

ШАГ 2. УСТАНОВКА free-virtual-usb-tools.exe в качестве клиента на WINDOWS 10 (другой ПК), перезагружаем ПК.



Итог по Free Virtual USB Tools:
Просто: Установил на домашний ПК (с флешкой) и ноутбук. Настроил за 5 минут.
Стабильно: Во время тестов все работает как часы.
Бесплатно: Одного устройства мне более чем хватает.
НО: Держать ПК постоянно включенным не хотелось. Нужно что-то попроще. Есть Raspberry Pi (для экспериментов). У Free Virtual USB Tools версии под Linux нет, идем дальше.
VirtualHere - идеальный вариант! Сервер под Linux и Windows. Клиент вообще под всё.
ШАГ 1. Скачивание сервера Virtual Here
wget https://www.virtualhere.com/sites/default/files/usbserver/vhusbdarm
chmod +x vhusbdarm
ШАГ 2. Запуск сервера
./vhusbdarm -b

При запуске сервер автоматически создаст файл конфигурации (config.ini). В файле конфига можно редактировать только имя хоста, остальные настройки можно редактировать только после покупки лицензии.
Скачал клиентское ПО под Windows.



Итог по VirtualHere:
Относительно просто: Накатил Armbian, закинул сервер, настроил.
Стабильно: Во время тестов все работает как часы.
Бесплатно: Одного устройства хватает. При необходимости — бессрочная лицензия за $49.
Последний испытуемый — DistkontrolUSB Free. Готовый образ под Raspberry Pi.
Скачал образ и распаковал образ прошивки. Записал на SD карту через Rufus.

Вставляю SD карту в МК и запускаю. В инструкции производителя указано, что IP адрес малина получит по DHCP. Нашел через IP сканер адрес и зашел в Web.

В разделе «Информация» скачал клиентское ПО для Windows. Для подключения ввожу IP адрес Raspberry и порт 7575.



Итог по DistkontrolUSB Free:
Просто: Готовый образ → записал → настроил за 5 минут через Web.
Стабильно: Связь держится, сертификаты доступны.
Быстро: Подписание ЭЦП без задержек.
Бесплатно: На 1 устройство.
Ограничения: Только 1 USB, только RPi 4.
Мой выбор
Остановился на DistkontrolUSB Free. Почему?
Идеально для задачи: Специализированное решение только для проброса USB с ЭЦП. Нет лишнего.
Максимум "из коробки": Образ готов к работе. Весь функционал в Web-интерфейсе.
Стабильность и Скорость: Проверено в работе - всё чётко.
Цена: $0 за софт (RPi4 нужно иметь/купить).
Похвастался коллегам. Вот комментарий одного:
По-моему, VirtualHere тут выгоднее в долгосрочке. Да, DistkontrolUSB – огонь для одной задачи, простой и готовый. Но он же весь твой Raspberry Pi под нее только и занимает! По сути, мощный МК работает как узкоспециализированная коробочка только для проброса USB. А вот VirtualHere – это просто приложение. Поставил его на свою обычную ОС (ту же Armbian), и всё. Весь остальной потенциал компа остается свободным. На этом же самом МК спокойно можно крутить кучу всего полезного параллельно: тот же Docker, Home Assistant для умного дома, медиасервер VPN-сервер или бэкапы.Получается не одна функция, а целый универсальный комбайн для дома. Твой вариант, конечно, проще 'из коробки' для флешки, но VH дает гибкость и позволяет выжать из железа максимум, если вдруг другие идеи появятся. Вот почему я бы на твоем месте присмотрелся к нему повнимательнее.
Замечание справедливо, и гибкость VirtualHere – плюс. Но для моей задачи DistkontrolUSB Free – оптимальнее:
Специализация = простота и надежность: Мне не нужны другие сервисы на этом Pi. DistkontrolUSB – готовый, выверенный "апплайнс" только для проброса USB. Нет лишней сложности универсальной ОС, меньше точек отказа.
Безопасность: Закрытый образ с минимум компонентов – меньшая поверхность для атак на критичную ЭЦП.
Нулевые трудозатраты: "Настроил за 5 минут" – это и про долгосрочное обслуживание. Не нужно следить за обновлениями ядра, пакетов или защитой лишних сервисов.
Для одной критичной задачи лучшее решение – самое простое и целенаправленное.
По безопасности: Подключаюсь по VPN к домашней сети. Ничего не пробрасывал наружу. Всё внутри дома.
По отказоустойчивости: Если выключится свет — не будет и интернета. Городить резервирование пока не стал. Варианты решения:
1. Резерв 4G: Подключить к роутеру 4G модем как резерв, а роутер + МК посадить на ИБП.
2. Дата центр: Арендовать место и развернуть там.
Скорее всего, пойду по первому варианту...
Финальный итог
Теперь моя флешка с ЭЦП всегда «со мной», даже за тысячу километров. Главное — чтобы МК был включен. Никакой паники из-за «забытой» флешки! Просто, надежно и главное — работает.
Возможно, мой опыт и выбор помогут кому‑то избежать такой же досадной потери. Особенно если ваша «флешка» тоже критически важна.