// node opzetten

Je eerste node instellen

Een Reticulum node draaien is de stap na een gewone client. Je zet een achtergrondproces op dat interfaces beheert, paden bijhoudt en verkeer routeert. Hieronder staat wat je minimaal nodig hebt.

Installatie

Er zijn twee hoofdsmaken: de originele Python stack (RNS) en de Rust stack (rsReticulum, gebruikt door Ratspeak). Beide spreken hetzelfde protocol en werken op hetzelfde netwerk samen.

Stack Installatie Config locatie Daemon
Python (RNS) pip install rns ~/.reticulum/config rnsd
Rust (rsReticulum) cargo build --release ~/.rsReticulum/config rnsd-rs

De voorbeelden op deze pagina gebruiken de Python stack (rnsd, rnstatus). De Rust equivalenten heten rnsd-rs, rnstatus-rs, etc.

Eerste start

Bij de eerste start genereert rnsd automatisch een identity en een config file. Daarna pas je de config aan op jouw situatie en start je opnieuw.

# Eerste start: genereert config

rnsd

# Stop (Ctrl+C), bewerk config

nano ~/.reticulum/config

# Start opnieuw

rnsd &

rnstatus

De config file

De config file bestaat grofweg uit twee delen: een [reticulum] sectie met algemene instellingen en een [interfaces] sectie met een of meer interface definities.

# ~/.reticulum/config

[reticulum]

enable_transport = no

share_instance = yes

shared_instance_port = 37428

[interfaces]

# Voeg hier je interfaces toe

[[ReticulumNet]]

type = TCPClientInterface

enabled = yes

target_host = voorbeeld.nl

target_port = 4242

Instelling Wat het doet Standaard
enable_transport Stuurt verkeer door voor andere nodes (transport node) no
share_instance Laat lokale apps (Ratspeak, MeshChat) verbinden met deze daemon yes
shared_instance_port Poort voor lokale app-verbindingen 37428

Zet enable_transport = yes alleen aan als je een altijd-aan machine hebt die verkeer moet doorsturen voor anderen. Voor normaal gebruik (berichten sturen en ontvangen) is het niet nodig.

Transport node vs propagation node

Wie een node voor anderen draait, kiest uit twee rollen. Het zijn aparte processen die ook op dezelfde machine kunnen draaien.

Rol Proces Wat het doet
Transport node rnsd (of rnsd-rs) Stuurt packets door tussen interfaces. Maakt multi-hop bereikbaarheid mogelijk. Ruggengraat van het mesh.
Propagation node lxmd -p (of lxmd-rs) Slaat LXMF berichten op voor offline ontvangers. Levert af wanneer ze terugkomen. Vergelijkbaar met een mailserver.

# Beide draaien op dezelfde machine

rnsd &

lxmd -p &

Een transport node slaat geen berichten op en een propagation node routeert geen packets. Wil je beide, draai dan beide processen.

Beheer en diagnostiek

Commando Functie
rnstatusToon interfaces, paden en status van de draaiende daemon
rnpath <hash>Inspecteer, verzoek of ververs een pad naar een destination
rnprobe <hash>Test of een destination bereikbaar is (vergelijkbaar met ping)
rncp <bestand> <hash>Kopieer een bestand over een Reticulum resource (encrypted)
rnsh <hash>Open een encrypted remote shell op een andere node
rnidMaak, inspecteer, importeer of exporteer identities

Altijd-aan draaien

Een Raspberry Pi 4 of Pi Zero 2 W als headless node is een veel voorkomende setup. Draai rnsd als systemd service zodat het automatisch herstart na een reboot. Optioneel een LoRa radio via USB eraan voor off-grid dekking.

systemd service voorbeeld

# /etc/systemd/system/rnsd.service

[Unit]

Description=Reticulum Network Daemon

After=network.target

[Service]

Type=simple

User=kel

ExecStart=/usr/local/bin/rnsd

Restart=always

[Install]

WantedBy=multi-user.target

sudo systemctl enable rnsd

sudo systemctl start rnsd

Gebruik /dev/serial/by-id/... paden in je interface config als je een USB radio hebt. Device nummers zijn niet stabiel na een reboot. Wil je een netwerk voor een groep opzetten? Zie netwerk bouwen. Voor een groter netwerk met meerdere operators, zie community mesh.