NASP

Шлюз USB на Raspberry Pi или NAS

Маленький компьютер стоит в шкафу или у принтера, в него вставлены ключи, флешки, принтер — и все ваши компьютеры подключают их через NASP. Шлюз только раздаёт: сам он чужие устройства не принимает.

  1. Подготовьте устройство

    • Raspberry Pi 3, 4 или 5, другой одноплатный компьютер или NAS с 64-разрядным Linux (Raspberry Pi OS 64-bit, Debian, Ubuntu, Armbian) либо x86-64.
    • systemd и сеть с выходом в интернет; вход по SSH или клавиатура с экраном.
    • USB-устройства лучше подключать через хаб с отдельным питанием: Raspberry Pi даёт на порты мало тока.
  2. Проверьте, подойдёт ли

    Проверка ничего не устанавливает и не меняет: смотрит процессор, systemd, модули ядра usbip-host и vhci-hcd.

    curl -fsSL https://nasp.recondeck.com/install.sh | sudo sh -s -- --check

    Хотите прочитать скрипт до запуска: curl -fsSL https://nasp.recondeck.com/install.sh | less

  3. Установите шлюз

    curl -fsSL https://nasp.recondeck.com/install.sh | sudo sh -s -- --gateway

    Скрипт скачает агент NASP для своего процессора (контрольная сумма сверяется), поставит пакет usbip из дистрибутива, службы systemd nasp-agent и nasp-usbipd и включит модуль usbip-host при загрузке. Порт usbipd закрыт от сети: к устройствам ходят только через NASP.

  4. Подключите шлюз к аккаунту

    В конце установки в консоли появится ссылка и код. Откройте ссылку на любом устройстве, где вы вошли в NASP, и подтвердите шлюз. Позже то же самое: sudo nasp login.

  5. Вставьте устройства и раздайте

    В кабинете у шлюза появятся его USB-устройства: нажмите «Раздавать». На других компьютерах — «Подключить». Подходит ли ваша модель — в списке совместимости.

Шлюз обновляется сам. Состояние: sudo nasp status, журнал: journalctl -u nasp-agent -n 50. Удалить: sudo nasp uninstall. Нет модуля usbip-host — нужно ядро дистрибутива с модулями usbip (в Ubuntu: пакет linux-modules-extra). Чтобы шлюз и принимал устройства, запустите установку ещё раз с --full.