tuna ❤️ NanoKVM
NanoKVM — это компактное IP-KVM устройство от Sipeed на базе RISC-V (Cube/PCIe) или ARM64 (Pro) или ARMv7 (GxxKVM/JxxKVM). Оно позволяет удалённо управлять компьютером: видеть экран, управлять клавиатурой и мышью, монтировать образы дисков — всё через веб-интерфейс в браузере.
По умолчанию NanoKVM доступен только в локальной сети. С помощью Tuna вы можете открыть доступ к нему через интернет — без «белого» IP, без VPN, без проброса портов на роутере.
Мы тестировали данную инструкцию только на NanoKVM Cube, но вероятнее всего это будет работать на всех устройствах линейки NanoKVM.
Подготовка
Помимо установи инструкция по настройке разделена на 2 типа, в зависимости от наличия платной подписки Tuna.
Что потребуется
- NanoKVM, подключённый к локальной сети и доступный по SSH или терминал в веб интерфейсе
- Аккаунт на tuna.am (бесплатный или с подпиской)
- Токен авторизации со страницы токена
Структура хранилища NanoKVM
NanoKVM имеет три раздела:
| Раздел | Точка монтирования | Назначение |
|---|---|---|
/dev/mmcblk0p1 | /boot | Загрузчик, ядро |
/dev/mmcblk0p2 | / | Корневая ФС (Buildroot) |
/dev/mmcblk0p3 | /data | Данные, ISO-образы |
Раздел /data сохраняется при обновлениях приложения и remote rsync, поэтому мы будем хранить tuna именно там.
Установка tuna на NanoKVM
Подключитесь к NanoKVM по SSH и установите бинарник:
ssh root@<IP-адрес-NanoKVM>
Или откройте терминал в веб интерфейсе:
Установите tuna с помощью скрипта, указав /data/tuna в качестве директории установки:
- curl
- wget
mkdir -p /data/tuna
INSTALL_DIR=/data/tuna sh -c "$(curl -sSLf https://releases.tuna.am/tuna/get.sh)"
mkdir -p /data/tuna
INSTALL_DIR=/data/tuna sh -c "$(wget -qO- https://releases.tuna.am/tuna/get.sh)"
Раздел /data смонтирован как exFAT с fmask=0022, файлы автоматически получают права 0755 — бинарник можно запускать сразу после копирования. Кроме того, /data сохраняется при обновлениях, поэтому tuna не придётся переустанавливать.
Сохраните токен авторизации:
/data/tuna/tuna --config=/data/tuna/.tuna.yml config save-token <ВАШ_ТОКЕН>
Рекомендуем создать дополнительный токен для устройства.