Перейти к содержанию

Удалённое управление

Обзор

Reticulum позволяет управлять удалёнными системами с помощью встроенных утилит, таких как rnstatus и rnpath. Для этого требуется специальная настройка аутентификации на основе идентичностей Reticulum.


Настройка удалённого управления

Конфигурация сервера

В файле конфигурации ~/.reticulum/config в секции [reticulum] необходимо включить следующие директивы:

[reticulum]
# Включить удалённое управление
enable_remote_management = yes

# Указать хеши идентичностей, которым разрешено управление
remote_management_allowed = 9fb6d773498fb3feda407ed8ef2c3229, 2d882c5586e548d79b5af27bca1776dc

Параметры:

Параметр Описание
enable_remote_management = yes Активирует возможность удалённого управления
remote_management_allowed Список хешей идентичностей Reticulum (через запятую), которые авторизованы для выполнения удалённых запросов

Для просмотра полного примера конфигурации со всеми опциями выполните:

rnsd --exampleconfig

Генерация идентичностей для управления

Для создания новых идентичностей используйте утилиту rnid:

# Сгенерировать новую идентичность
rnid -g ~/.reticulum/identities/remote_admin

# Показать информацию об идентичности
rnid -p ~/.reticulum/identities/remote_admin

Полученный хеш идентичности нужно добавить в remote_management_allowed на управляемых системах.


Настройки безопасности

Аутентификация

  • Управление осуществляется только через авторизованные идентичности
  • Каждая управляющая идентичность должна быть явно указана в remote_management_allowed
  • Для управления используется асимметричная криптография Reticulum

Рекомендации по безопасности

Рекомендация
1 Генерируйте отдельные идентичности для администрирования
2 Храните файлы идентичностей в защищённом месте (~/.reticulum/identities/)
3 Используйте разные идентичности для разных администраторов
4 Регулярно проверяйте список remote_management_allowed
5 Не включайте enable_remote_management без явного указания remote_management_allowed

Использование утилит удалённо

rnstatus — просмотр статуса удалённой системы

Базовый синтаксис:

rnstatus -R <transport_identity_hash> -i <path_to_identity>

Параметры:

Параметр Описание
-R hash Хеш транспортной идентичности удалённой системы
-i path Путь к файлу идентичности, авторизованной для управления
-w seconds Таймаут ожидания ответа (опционально)

Примеры:

# Получить статус удалённой системы
rnstatus -R 5245a8efe1788c6a1cd36144a270e13b -i ~/.reticulum/identities/remote_admin

# Статус с таймаутом 10 секунд
rnstatus -R 5245a8efe1788c6a1cd36144a270e13b -i ~/.reticulum/identities/remote_admin -w 10

# Фильтрация интерфейсов
rnstatus rnode -R 5245a8efe1788c6a1cd36144a270e13b -i ~/.reticulum/identities/remote_admin

# Мониторинг в реальном времени
rnstatus -m -R 5245a8efe1788c6a1cd36144a270e13b -i ~/.reticulum/identities/remote_admin

# Вывод в JSON формате
rnstatus -j -R 5245a8efe1788c6a1cd36144a270e13b -i ~/.reticulum/identities/remote_admin

Возможности rnstatus:

  • Просмотр статуса интерфейсов
  • Статистика трафика (входящий/исходящий)
  • Информация о пирах и скоростях
  • Мониторинг в реальном времени (-m)
  • Фильтрация по имени интерфейса
  • Вывод в JSON (-j)
  • Просмотр обнаруженных интерфейсов (-d, -D)

rnpath — управление путями и blackhole

Базовый синтаксис:

rnpath -R <transport_identity_hash> -i <path_to_identity> [опции]

Примеры:

# Просмотр таблицы путей удалённой системы
rnpath -t -R 5245a8efe1788c6a1cd36144a270e13b -i ~/.reticulum/identities/remote_admin

# Blackhole идентичности на удалённой системе
rnpath -B 3a4f8b9c1d2e3f4g5h6i7j8k9l0m1n2o \
       -R 5245a8efe1788c6a1cd36144a270e13b \
       -i ~/.reticulum/identities/remote_admin \
       --duration 24 \
       --reason "Excessive announces"

# Снять blackhole
rnpath -U 3a4f8b9c1d2e3f4g5h6i7j8k9l0m1n2o \
       -R 5245a8efe1788c6a1cd36144a270e13b \
       -i ~/.reticulum/identities/remote_admin

# Просмотр blackhole списка
rnpath -b -R 5245a8efe1788c6a1cd36144a270e13b -i ~/.reticulum/identities/remote_admin

# Просмотр опубликованного blackhole списка удалённой системы
rnpath -p -R 5245a8efe1788c6a1cd36144a270e13b -i ~/.reticulum/identities/remote_admin

Возможности rnpath:

  • Просмотр таблицы путей (-t)
  • Управление blackhole списком (-B, -U, -b)
  • Удаление путей (-d)
  • Фильтрация по количеству хопов (-m)
  • Вывод в JSON (-j)

Управление Blackhole

Локальное управление

# Заблокировать идентичность
rnpath -B <identity_hash> --duration <hours> --reason "<причина>"

# Разблокировать идентичность
rnpath -U <identity_hash>

# Просмотр списка заблокированных
rnpath -b

Автоматизированная подписка на списки

В конфигурации можно указать доверенные источники blackhole списков:

[reticulum]
blackhole_sources = 521c87a83afb8f29e4455e77930b973b, 68a4aa91ac350c4087564e8a69f84e86

Публикация своего blackhole списка

[reticulum]
publish_blackhole = yes

Полная таблица опций удалённого управления

rnstatus

Опция Описание
-R hash Транспортная идентичность удалённой системы
-i path Путь к идентичности для аутентификации
-w seconds Таймаут ожидания ответа
-m Режим мониторинга
-j JSON вывод
-d Показать обнаруженные интерфейсы
-D Детали обнаруженных интерфейсов

rnpath

Опция Описание
-R hash Транспортная идентичность удалённой системы
-i path Путь к идентичности для аутентификации
-w seconds Таймаут ожидания
-W seconds Таймаут для удалённых запросов
-b Показать blackhole список
-B Добавить в blackhole
-U Удалить из blackhole
-p Просмотр опубликованного blackhole списка
-t Показать таблицу путей
-d Удалить путь
-m hops Фильтр по количеству хопов
-j JSON вывод

Важные замечания

Требование
1 Требования к подключению: Удалённое управление работает только через транспортные узлы Reticulum
2 Аутентификация обязательна: Без указания -i с авторизованной идентичностью запросы будут отклонены
3 Совпадение идентичностей: Хеш идентичности в -i должен присутствовать в remote_management_allowed на целевой системе
4 Таймауты: При работе через медленные соединения увеличивайте таймаут параметром -w
5 Безопасность: Не включайте enable_remote_management без явного указания remote_management_allowed

См. также