Пробрасываем USB–ключ до хмари (Linux клієнт — Linux сервер)

Замовнику потрібно підключити USB–ключ для банківської системи до Linux–сервера хмарі, де він розгортає свій розроблений продукт. Безпосередньо підключити USB–ключ до віртуальній машині не можна — вона працює у кластері відмови і може бути смигрирована на будь-який з серверів без даунтайма.


Давайте подивимося, як реалізувати перенесення USB–ключа по мережі у віртуальну машину з Linux в хмарі Azure Pack Infrastructure від InfoboxCloud.

Раз підключити ключ до віртуальній машині не можна — його потрібно підключити до чогось реального. Є апаратні рішення, наприклад, AnyWhere USB, але замовник вибрав більш універсальне рішення: виділений сервер в ЦОД Іnfobox (що для одного ключа вийшло дешевше — апаратні вимоги до виділеного сервера для такої задачі мінімальні — можна використовувати найдешевший сервер з софтова Raid).

Для перекидання використовувалося ПО USB Redirector (версія для Linux безкоштовна). На виділений сервер і віртуальну машину в хмарі була встановлена Ubuntu 16.04 LTS і були застосовані всі оновлення.

apt-get update && apt-get -y upgrade && apt-get -y dist-upgrade

Для установки USB Redirector необхідні вихідні тексти ядра, встановіть їх:

apt-get install linux-source

Тепер необхідно відключити оновлення ядра ОС, так як вони можуть зламати роботу USB Redirector (служба прокидання після оновлення ядра не буде запускатися до перевстановлення), якщо потрібно — їх можна встановлювати вручну перевстановлюючи USB Redirector.

sudo apt-mark hold linux-image-generic linux-headers-generic

Установка і настройка USB Redirector на сервері з підключеним ключем USB
Скачайте USB Redirector:

wget http://www.incentivespro.com/usb-redirector-linux-x86_64.tar.gz

Розпакуйте:

tar -xvzf usb-redirector-linux-x86_64.tar.gz

Перейдіть в папку з них:

cd usb redirector-linux-x86_64/

Дозвольте запуск інсталятора:

chmod +x installer.sh

Встановлюємо сервер:

./installer.sh install-server

Якщо все пройшло коректно, ви побачите повідомлення про це.

Додайте службу перекидання в автозавантаження, якщо раніше цього не сталося:

systemctl enable rc.usbsrvd

Підключивши USB–ключ до виділеного сервера перевіримо які USB–пристрої:



Є 2 варіанти розшарити пристрій по мережі.

Варіант 1:

usbsrv -share -vid 2022 -pid 0202 -usbport 2-1

У цьому випадку ми прив'язуємося до конкретного id пристрою і порту, якщо включити usb-ключ в інший порт сервера — номер usb порту зміниться і працювати не буде.

Варіант 2:

usbsrv -share 1

У цьому випадку ми прив'язуємося тільки до id пристрою. Тепер USB–пристрій расшарено по мережі.

Звичайно робити його доступним для всіх користувачів Інтернет не правильно, тому додамо обмеження firewall:

ufw allow 22
ufw allow from *.*.*.* to any port 32032
ufw enable

Де замість *.*.*.* потрібно написати адресу сервера, з якого дозволено підключення.

Установка клієнта USB Redirector в хмарі
Скачайте USB Redirector:

wget http://www.incentivespro.com/usb-redirector-linux-x86_64.tar.gz

Розпакуйте:

tar -xvzf usb-redirector-linux-x86_64.tar.gz

Перейдіть в папку з них:

cd usb redirector-linux-x86_64/

Дозвольте запуск інсталятора:

chmod +x installer.sh

Встановлюємо сервер:

./installer.sh install-client

Якщо все пройшло коректно, ви побачите повідомлення про це.

Додайте службу перекидання в автозавантаження, якщо раніше цього не сталося:

systemctl enable rc.usbsrvd

Тепер додамо наш сервер:

usbclnt -addserver **.**.**.**:32032

Де замість **.**.**.** потрібно вказати ip–адресу сервера.

Тепер можна переглянути список доступних пристроїв:

usbclnt -list


Бачимо, що на сервері 1 доступно пристрій 1.

Підключаємо:

usbclnt -connect 1-1

Включаємо автоматичне з'єднання з пристроєм:

usbclnt -autoconnecton 1-1

Перевіряємо:

usbclnt -list



USB–ключ був успішно проброшен у віртуальну машину хмарі.

Якщо ви хочете спробувати наші хмари, залиште заявку на тестування на головній сторінці infoboxcloud.ru. Якщо ви не можете залишати коментарі на Хабре, напишіть нам Співтоваристві InfoboxCloud.

Успішної роботи!
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.