• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar
  • Skip to secondary sidebar
  • Skip to footer

У Павла!

  • Контроллеры
    • Arduino
      • Приборы
      • Музыка
      • Проекты Arduino
      • Уроки Arduino
      • Игры на Arduino
      • Роботы на Ардуино
      • FLProg
    • Одноплатные ПК
      • Orange pi
      • Raspberry pi
        • Raspberry pi pico
        • Raspberry pi server
        • Проекты Raspberry pi
    • ESP
      • ESP8266
        • NodeMCU
      • ESP32
      • M5stack
    • Другие контроллеры
      • STM32
  • Умный дом
    • Home Assistant
      • Home Assistant Container
      • Автоматизации
      • Lovelace
    • Tuya
    • Bluetooth
    • ESPHome
    • Frigate
    • Telegram
    • Яндекс
  • ЧПУ
  • 3d печать
  • Об авторе

Моё знакомство с Reticulum. Установка, настройка и использование на примере аналога SSH (RNSH)

28 апреля, 2026

В этой статье я опишу свои страдания по настройке Reticulum. С одной стороны когда разберешься, все довольно просто, но пока разобрался…

Reticulum — сетевой стек на основе криптографии для построения локальных и глобальных сетей с помощью легкодоступного оборудования. Это не готовое приложение, а протокол, который можно использовать как фундамент для создания собственных решений: чатов, файлообменников, удалённых терминалов, веб-сервисов и других сетевых приложений.

Страница проекта: https://github.com/markqvist/Reticulum Официальный сайт: https://reticulum.network/manual/index.html

Иными словами, это аналог нашего привычного tcp/ip  протокола, на котором построена локальная сеть, только Reticulum построен на радио модулях Lora или Bluetooth к примеру. Но больше конечно меня интересует именно Lora, так как она с хорошей антенной бьет на километры.

Ну и естественно для протокола Reticulum нужны свои приложения для работы. Например меня сначала интересовал SSH и удалённое подключение к серверу на linux, который находится далеко. И у Reticulum есть такая программа, которая называется RNSH.

Собственно в статье установим сам reticulum, установим RNSH. Настроим две эти программы и попробуем соединиться.

 

Программирование Lora модулей прошивкой Reticulum:

Самый простой способ запрограммировать Lora модули под Reticulum, это их Web интерфейс, который называется https://flasher.rns.moscow/ или тут: https://liamcottle.github.io/rnode-flasher/

Я вторым способом прошивался, но первый Российский, на случай дебильных блокировок… Ну и в первом флешере больше поддерживаемых модулей.

У меня под рукой скопилось 2 модуля разных от Heltec, вот я их и взял для реализации проекта.

Модуль Heltec T114: https://ali.click/vgda71y?erid=2SDnjeDCaSe

Модуль Heltec Lora32 V3: https://ali.click/mjda71n?erid=2SDnjeZxQPU

 

В веб интерфейсе я думаю все интуитивно понятно, просто следовать по шагам.

  1. Выбрать плату.
  2. Скачать прошивку. И прошить плату
  3. Подготовить EEPROM.
  4. Установить Hash прошивки.
  5. Готово.

Единственный момент, это в самом низу страницы, там настройки TNC Mode. Там нужно выбрать частоту на которой будет вещание, Усиление,  канал и так далее. И эти настройки на двух модулях должны быть одинаковые. А выглядят они так:

Эти настройки еще нужно запомнить, так как в конфиге их будет прописывать.

 

Поздравляю мы прошили Lora модули, теперь идём к установке Reticulum на наши сервера.

Установка Reticulum:

Установка Reticulum на linux довольно простая. Устанавливается через pip:

 

pip install rns

 

Но у меня при установке выдало ошибку:

 

 

Ошибка не критичная, она означает, что в целях безопасности не даёт установить rnsd, по этому у нас либо вариант понижать безопасность, либо устанавливать через pipx. Я выбираю второй вариант.

По этому сначала установим pipx:

Обновляем пакеты:

 

apt update

 

Устанавливаем  pipx:

 

apt insall pipx -y

 

Очищаем переменные окружения:

 

pipx ensurepath

source ~/.bashrc

 

Ну а далее устанавливаем уже rns:

 

pipx install rns

 

Поздравляю, мы установили Reticulum.

Его нужно установить на Принимающую сторону и на клиента.

 

Далее прошитые модули Lora вставляем в USB нашего сервера и узнаём по какому пути он определился:

 

ls -l /dev/serial/by-id/

 

У одного сервера вывод был такой: /dev/ttyUSB0

У второго /dev/ttyACM0:

Запоминаем эти пути, дальше мы их будем прописывать в конфиг Ретикулум.

 

Идём редактировать конфиг:

 

nano ~/.reticulum/config

 

Первое, тут добавляем 2 строчки под enable_transport = Yes

enable_transport = Yes
allow_unknown_identities = Yes
respond_to_probes = Yes

И выглядит это так:

Это делаем на обоих нодах. Ну и в самом конце в блоке [interfaces] прописываем конфиг ноды:

[[RNode LoRa Interface]]
  type = RNodeInterface
  enabled = yes
  port = /dev/ttyUSB0
  frequency = 868000000
  bandwidth = 250000
  txpower = 2
  spreadingfactor = 7 # ← Должно быть ЧИСЛО от 7 до 12
  codingrate = 5 # ← Должно быть ЧИСЛО от 5 до 8
  mode = gateway
  allow_overall = yes

 

Из этого конфига нужно понять, что:

port = /dev/ttyUSB0 – Это путь порта куда подключена нода reticulum.

frequency = 868000000 – Это частота на которой модуль будет работать.

bandwidth = 250000 – Это пропускная способность.

txpower = 2 – Это мощность сигнала, если ноды близко на столе лежат как у меня, то пусть будет 2, а так если на дальнее расстояние, то можно 22 поставить.

spreadingfactor = 7 – Это фактор расширения. Влияет на дальность и скорость. Чем выше число (7-12), тем выше дальность, но ниже скорость и наоборот.

codingrate = 5 – Это Скорость кодирования (CR). Добавляет избыточность в пакет для защиты от помех. Может быть от 5 до 8, где 5 — самые быстрые пакеты, а 8 — самые надежные

mode = gateway – Это Режим работы интерфейса. В  двухузловой сети это обязательный параметр. gateway заставляет узел активно помогать другим узлам находить пути для связи, обеспечивая маршрутизацию

allow_overall = yes – Это Разрешает передачу данных. Если установить false, интерфейс будет только слушать эфир. По умолчанию (и для вашей задачи) он должен быть включен.

 

На двух серверах одинаковые настройки выставляем, сохраняем конфиг и можем запускать Reticulum.

 

На принимающем сервере всегда должна быть запущена программа rnsd. Запускается она одной командой

rnsd

 

 

Но так-же для диагностики,  можно её запустить в режиме логирования:

rnsd -vvvv

 

 

Из сообщений о запуске видно, как с ключем -vvvv вывода гораздо больше становится и когда клиент пытается к серверу подключиться, с этим выводом тоже будет это видно в логах.

 

Когда сервер запущен, он может принимать данные и отвечать.

 

RNSH – Аналог SSH для Reticulum:

 

И меня тут интересовало, можно ли таким образом подключиться по SSH через этот радиоканал построенный на Lora модулях.

Но так-как тут все-же не tcp стек, то обычный ssh работать не будет,  но существует  специальная программа у reticulum, которая позволяет это делать.

Программа называется rnsh.

Устанавливается она:

pip install rnsh

или

pipx install rnsh

 

После установки, запускается сервис командой:

rnsh --listen -v

 

При запуске увидите вывод в консоль и тут Важно уникальный номер увидеть.

rnsh listening for commands on <3602a757aeb7753e13ca4833d357b45b>

Этот номер 3602a757aeb7753e13ca4833d357b45b это адрес нашего сервера. И на клиенте, которым будем подключаться, нужно будет этот адрес вписывать, чтоб подключиться к серверу.

 

А запущен сервис rnsh запущен должен быть на сервере, к которому мы будем подключаться по этому аналогу ssh.

 

Когда я пытался подружить между собой 2 компьютера по reticulum, у меня ни сразу это получилось, как оказалось.  там еще все очень безопасно на ключах и я не уверен помог ли мне этот метод, но все-же это действие рекомендую выполнить на обеих компьютерах.

 

rnid -i ~/.reticulum/identity.key -a force -v

 

И вот при выполнении данной команды, на клиенте, с которого будем подключаться по rnsh, покажет:

Loaded Identity <f0cb05d51a1b6594d91ab07298d5bbec> from /root/.reticulum/identity.key

Где f0cb05d51a1b6594d91ab07298d5bbec уникальный адрес, который нужно на сервере rnsh добавить в разрешенные узлы для подключения.

По этому возвращаемся на сервер и вписываем команду:

 

echo "f0cb05d51a1b6594d91ab07298d5bbec" > ~/.config/rnsh/allowed_identities

 

Которая добавит f0cb05d51a1b6594d91ab07298d5bbec в разрешенные узлы.

С сервером закончили, теперь к нему можно с клиента подключаться.

На клиенте же не обязательно, чтоб были запущены ни rnsd, ни rnsh. Достаточно будет просто написать команду подключения к серверу rnsh и у нас запустится и rnsd и rnsh соответственно.

Но конечно rnsd и rnsh должны быть предварительно установлены.

Адрес сервера мы уже узнали и это: 3602a757aeb7753e13ca4833d357b45b 

И команда для подключения к удалённому серверу:

 

rnsh 3602a757aeb7753e13ca4833d357b45b -v -w 60

 

Ключ -v -w 60 нужен для того, чтоб по таймауту не откидывало, а подольше давало времени для установки соединения. Все таки ноды у меня рядом и они не быстрые.

 

Обратите внимание, у меня серверов выступает машина с именем root@orangepi5-plus. А машина с которой я подключаюсь, называется root@orangepi6plus

 

На скрине видно, что я выполняю команду rnsh 3602a757aeb7753e13ca4833d357b45b -v -w 60 Далее у меня запускается rnsd, потом rnsh и проходит подключение к root@orangepi5-plus и консоль так начинает называться.

Скорость конечно не быстрая, но управлять и получать данные мы вполне можем.

Вот к примеру я запросил операционную систему, которая стоит на orangepi5-plus:

 

 

Теперь мы можем за километр  управлять сервером удалённо по радиоканалу. Перегрузить его, применить какие-то настройки.

Но так-же мы можем получать вывод данных и к себе в консоль, тем самым записав например вывод в файл или БД. Там дальше фантазия не ограничивается.

Например можно навесить датчики на один миниПК сделав метеостанцию к примеру. Отнести на большое расстояние его, где не добивает wifi и получать данные с этих датчиков по reticulum.

 

Например, чтоб получить вывод команды “sensors” себе в консоль, достаточно ввести следующую команду:

 

rnsh 3602a757aeb7753e13ca4833d357b45b -v -w 60 sensors

 

Вывод такой:

 

И да, это именно вывод sensors с orange pi 5 plus, потому что orange pi 6 plus выводит sensors по другому:

 

 

Вывод:

Когда у меня первый раз получилось подключиться по reticulum к удалённому компьютеру, я был счастлив как ребёнок. Для меня это прям какая-то магия была. Очень интересно. Надеюсь повторив этот пример вы тоже испытаете исключительно положительные эмоции.

Конечно RNSH это не единственный инструмент. Еще можно файлы передавать, общаться как в чате. Но с этим я уже познакомлюсь потом.

Primary Sidebar

Поиск

Новые записи

  • Моё знакомство с Reticulum. Установка, настройка и использование на примере аналога SSH (RNSH)
  • Заставляем вещать камеру Tuya по RTSP потоку.
  • Очень красивый эффект горения свечи на светодиодной матрице, шим контроллере и esp32. С интеграцией в Home Assistant.
  • Установка и настройка OpenClaw на примере Orange pi 6 plus
  • Делаем IP KVM на 4 порта из обычного KVM и Одноплатного компьютера с PiKVM на борту.

Подписывайтесь на Телеграм канал

https://t.me/ypavla

Secondary Sidebar

Footer

Copyright_У Павла! © 2026 ·