Удалённое управление¶
Обзор¶
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 |
См. также¶
- Утилита rnstatus — подробная документация по утилите статуса
- Утилита rnpath — подробная документация по управлению путями
- Утилита rnid — генерация и управление идентичностями
- Конфигурирование интерфейсов — полное руководство по настройке интерфейсов
- Обнаружение интерфейсов — автоматическое обнаружение интерфейсов в сети
- Словарь терминов — справочник основных понятий RNS