0x01: La Red Fantasma

La dependencia de infraestructuras centrales (ISPs, GSM) es un vector de fallo crítico.

En mi laboratorio, he decidido cortar el cable y desplegar un nodo de comunicaciones descentralizado utilizando el stack Reticulum (RNS).

El objetivo de esta sesión es establecer un enlace cifrado vía LoRa entre una estación base “headless” (sin monitor) y un puesto de control, operando totalmente fuera de la red eléctrica y de datos convencional.

0x02 Inventario de Hardware

Para la construcción de “La Torre” (Base Node), he seleccionado componentes de bajo consumo para maximizar la autonomía.

  • SBC Core: Raspberry Pi Zero 2 W.
  • Expansión: Waveshare Ethernet/USB HUB HAT (Chip RTL8152). Vital ya que la Zero carece de puertos nativos.
  • Radio Interface: 2x Heltec LoRa V3 (ESP32-S3). Uno para el nodo, otro para el cliente.

0x03 Preparación RNode

Antes de conectar nada a la Raspberry, es imperativo purgar el firmware de fábrica de los Heltec V3 y convertirlos en interfaces de radio puras (RNode).

PROCEDIMIENTO: Flash Firmware


  1. Conexión física USB-C al Host.

  2. Ejecución de RNode Firmware Installer (Web-based).

  3. Target: ESP32-S3 Generic.

NOTA: Este paso debe repetirse en ambos dispositivos Heltec.

0x04 Despliegue en Debian Bookworm

Partiendo de una instalación limpia de Raspberry Pi OS Lite (64-bit), me encontré con la restricción de entornos gestionados (PEP 668).

Para evitar conflictos con apt, he utilizado pipx para aislar el entorno de Reticulum.

Suelo crear entornos virtuales de Python para que no haya conflictos con librerias, pero en este caso fue forzado por el PEP668

root@node:~# sudo apt install pipx -y

root@node:~# pipx ensurepath

root@node:~# pipx install rns nomadnet

root@node:~# sudo usermod -aG dialout $USER

Es crítico añadir el usuario al grupo ‘dialout’ para permitir el acceso directo al puerto serial USB sin privilegios de root.

0x05 Configuración del Enlace LoRa

Una vez reiniciado el sistema, conecté el Heltec al HAT USB.

La identificación del puerto arrojó /dev/ttyUSB0. Procedí a editar el fichero maestro en ~/.reticulum/config.

nano ~/.reticulum/config

[[RNode LoRa Interface]]

  type = RNodeInterface

  interface_enabled = yes

  port = /dev/ttyUSB0


  # Parámetros Físicos (CRITICO: Deben coincidir en ambos lados)

  frequency = 868000000 # ISM Band EU

  bandwidth = 125000

  spreadingfactor = 9

  codingrate = 5

Análisis de Parámetros: He optado por un SF9 (Spreading Factor).

Es un punto medio ideal que sacrifica velocidad de transmisión a cambio de robustez y alcance.

0x06 Handshake y Verificación

En el puesto de control (PC con Windows/Linux), repliqué la configuración del bloque [[RNode LoRa Interface]] exactamente, cambiando únicamente el puerto COM.

Al iniciar Nomad Network (nomadnet) en ambos terminales, la magia ocurre en la capa física.

CONFIRMACIÓN DE ENLACE

Al revisar la pestaña [Network] en la interfaz TUI, observé el “Announce” del nodo remoto.

Los valores de RSSI y SNR confirmaron que el tráfico fluía exclusivamente por radiofrecuencia (LoRa) creando una LAN invisible y cifrada(Supuestamente segura)


“Security is not a product, it’s a mindset.”

[ EOF ]