Come gestire e monitorare traffico dati su OpenWrt

Nel mondo della diagnostica di rete, OpenWrt si distingue per la sua flessibilità e trasparenza. Ma quando si tratta di monitorare il traffico dati in modo granulare, molti utenti ignorano una delle sue gemme: il modulo nlbwmon, affiancato dalla sua interfaccia web luci-app-nlbwmon. In questo articolo ti guiderò passo-passo nell’installazione, configurazione e utilizzo di questi strumenti, con un occhio alla modularità e alla pulizia del sistema.

Cos’è OpenWrt?

OpenWrt è un sistema operativo basato su Linux, progettato specificamente per router e altri dispositivi di rete embedded (cioè dispositivi con risorse hardware limitate, come memoria e potenza di calcolo).

Caratteristiche principali di OpenWrt:

  • Open source:
    Il codice sorgente è liberamente disponibile, modificabile e distribuibile. Questo permette a sviluppatori e appassionati di personalizzarlo e migliorarlo.
  • Altamente personalizzabile:
    A differenza del firmware proprietario fornito dai produttori dei router, OpenWrt offre un sistema completo con un gestore di pacchetti (opkg), che permette di installare, aggiornare o rimuovere software aggiuntivo (come server DNS, firewall avanzati, VPN, server web, ecc.).
  • Interfaccia web e riga di comando:
    OpenWrt include un’interfaccia web chiamata LuCI, ma è anche possibile configurarlo interamente tramite terminale SSH, grazie alla sua base Linux.
  • Supporto per molti dispositivi:
    È compatibile con centinaia di modelli di router di diversi produttori (come TP-Link, Netgear, Linksys, Xiaomi, ecc.). Sul sito ufficiale è disponibile un elenco dei dispositivi supportati .
  • Funzionalità avanzate di rete:
    Consente di configurare:
    • Firewall personalizzati (con iptables o nftables)
    • Reti Wi-Fi multiple (guest network, VLAN)
    • Server DNS (es. dnsmasq, unbound)
    • VPN (OpenVPN, WireGuard)
    • QoS (Quality of Service) per gestire la banda
    • Monitoraggio del traffico
    • E molto altro
  • Aggiornamenti frequenti e sicurezza:
    Grazie alla comunità attiva, OpenWrt riceve aggiornamenti regolari, anche per correggere vulnerabilità di sicurezza, cosa che spesso non avviene con il firmware originale dei router commerciali.

A chi è utile OpenWrt?

  • Appassionati di networking che vogliono controllare ogni aspetto del proprio router.
  • Privacy-conscious users che desiderano bloccare tracker, pubblicità o usare una VPN direttamente sul router.
  • Sviluppatori che vogliono sperimentare con reti o creare dispositivi IoT personalizzati.
  • Chi ha un vecchio router e vuole dargli nuova vita con funzionalità moderne.

Cos’è nlbwmon?

nlbwmon (NetLink Bandwidth Monitor) è un demone leggero che sfrutta Netlink per raccogliere statistiche di traffico per IP, protocollo e porta. È pensato per ambienti embedded, con un footprint minimo e una struttura dati persistente e compressa.

  • Raccoglie traffico per host, protocollo e porta
  • Supporta IPv4 e IPv6
  • Archiviazione mensile con compressione LZ4
  • Interfaccia JSON per interrogazioni e export

Installazione:

Puoi installare tutto direttamente da shell con Putty o tramite LuCI:

Per installare i pacchetti occorre scrivere questi comandi:

opkg update
opkg install nlbwmon luci-app-nlbwmon

Assicurati che il tuo router abbia spazio sufficiente nella flash o monta una overlay su USB per evitare problemi di scrittura.

Interfaccia web: luci-app-nlbwmon

Una volta installato, troverai la voce <<Bandwidth Monitor>> sotto <<Services>> in LuCI. L’interfaccia mostra:

  • Traffico per host (IP o hostname)
  • Protocollo e porta
  • Grafici mensili
  • Esportazione CSV

Puoi filtrare per periodo, ordinare per consumo e identificare dispositivi <<chiacchieroni>> in pochi click.

Configurazione nlbwmon:

Per configurare nlbwmon, è necessario selezionare queste impostazioni e specificare la classe di indirizzi IP del proprio dispositivo. Io ho utilizzato la classe 1; se la vostra è diversa, inserite quella corrispondente. Di conseguenza, nel campo Local subnets, nel mio caso:

192.168.1.0/24

Configurazione base via putty:

Il file di configurazione si trova in /etc/config/nlbwmon.

Ecco una configurazione minimale:

cat /etc/config/nlbwmon

config nlbwmon
option database_directory '/var/lib/nlbwmon'
option commit_interval '24h'
option refresh_interval '30s'
option database_generations '12'
option database_compression '1'
option protocol_filter 'all'

Attenzione per il traffico dati:

Vi informo che se anche avete il percorso del database di default in:

/var/lib/nlbwon

Al riavvio, i log del traffico dati si azzerano, perché vengono salvati qui:

/tmp/lib/nlbwon

Per evitare spostariamo la cartella con il database dentro in /etc/:

mv /tmp/lib/nlbwmon /etc/nlbmwon

Ulteriori informazioni:

nlbwmon e luci-app-nlbwmon sono strumenti potenti e sottovalutati per chi vuole controllo totale sul traffico dati in OpenWrt. Con una configurazione pulita e una gestione modulare, puoi trasformare il tuo router in una vera centrale di monitoraggio, senza sacrificare performance o stabilità.

Lascia un commento