Комментарии 13
Автор! Насколько эта технология устойчива к обрывам связи? нет ли подвисаний клиента в случае обрыва связи к серверу? Опишите такие ситуации. Или вот ситуация, когда связь с потерями.
отвечу за автора:
для hasp ключей подходит прекрастно, ибо только чтение и токену плевать на то завершилось оно удачно или нет.
а вот со флешками, принтерами, etc бывают проблемы, некоторые принтеры HP если в процессе передачи данных мигнула сеть нужно идти и обесточивать на секунд 10 чтобы он забыл о неудаче и начал работать, ну а побить ФС на флешке из-за плохого wi-fi вообще не удивительно.
Поддерживаю. У меня так USB ключ защиты 1с работает последние 2-3 года. Клиент удаленный виндовый сервер. на котором в шедулере запущен usbip.exe, если связь теряется приложение вылетает и перезапускается по расписанию в течение 10 минут. Этого более чем достаточно для 1с сервера чтобы не потерять лицензию. А вот для клиентских лицензий 1с проще проставить hasp lm server (конечно если есть IP связанность).
На отказоустойчивость тестировать не пробовал. Обычно если что то и может пойти не так. то в момент подключения самого устройства.
Если клиент подвисает, то девайс просто отключится. Чем это может быть чревато: если "не безопасно" отсоединить устройство, то сервер может думать, что устройство все еще пробрасывается и сходу не дать подключить его заново.
А что за пакет usbip-client ? Откуда он взялся и как его можно собрать самому?
Свободно распространяемый пакет от USB/IP Project.
как его можно собрать самому
Не задавался таким вопросом. Это скорее тема для отдельной статьи :)
Он у вас пропатчен (сравнил с тем, что с исходного сайта, usbip.exe оттуда соответствует usbip.bak из вашего архива) – что за изменения?
3261 21 6
3595 21 6
if (op_common.version != USBIP_VERSION) { err("USBIP Kernel and tool version mismatch: %d %d:", op_common.version, USBIP_VERSION); goto err; }
Изменена константа USBIP_VERSION с 0x106 на 0x111.
Могу предположить, что серверная часть имеет более новую версию по некоторой причине (м.б. собиралась под линкус из исходников), а свежего бинарника под windows не было, поэтому пришлось патчить проверку версии протокола.
А как насчёт yubikey, какие функции и какие версии будут работать с usbip?
Полезная штука, на предыдущем месте работы так пробрасывали единственный живой usb ключ от ПО которое уже не поддерживалось вендор-лиз и купить новые ключи было нельзя, а оставшийся перепаивали уже не раз. Правда сервером выступал роутер с openwrt.
А как дела с безопасностью, разграничением прав доступа?
Если дополнительно не настраивать файрволл, кто угодно сможет подключиться к нашему устройству (о чём в статье нет упоминания).
Есть ли возможность авторизации или управление доступом в самом сервисе?
Сама утилита не содержит никаких средств защиты. Если мы не можем контролировать количество клиентов хостов, то лучше использовать iptables, как Вы и указали.
Если же стоит задача ограничить права разных пользователей в одной клиентской ОС, то можно попробовать:
1) Ограничить права запуска самой утилиты usbip
2) В описании юнита systemd настроить запуск нашего сервиса от лица конкретного пользователя
USB over IP для личного использования: организовываем клиент-серверный комплекс на Linux и Windows