Controllo preliminare nodo Linux
Genera uno script diagnostico di sola letturaI valori sensibili (IP, hostname, utente, percorsi) vengono mascherati nell'output.
Introduzione
Il controllo preliminare nodo Linux genera uno script bash che inventaria un server Linux prima di eseguire un nodo blockchain: distribuzione, architettura, CPU e flag, memoria, swap, disco e tipo di filesystem, NTP e fuso orario, ulimit, porte occupate, firewall, Docker, Compose, systemd, kernel, parametri sysctl e connettività in uscita.
Lo script è strettamente diagnostico. Non installa nulla, non modifica configurazioni, non apre porte, non riavvia servizi e non invia nulla in rete tranne un probe TCP di raggiungibilità. Lo esegui sul nodo, poi incolli qui il report per l'analisi.
Obiettivo
- Generare uno script bash di sola lettura adattato alla chain e al tipo di nodo scelti.
- Mettere in luce gli elementi che più spesso rompono un rollout: RAM o disco insufficienti, swap mancante, orologio non sincronizzato, porte occupate, Docker/Compose mancanti e architettura non supportata.
- Mascherare opzionalmente IP pubblico, hostname, username, percorsi personali e valori simili a token nell'output.
- Analizzare localmente il report incollato e classificare il risultato come approvato, attenzione, critico o non verificato.
Input
- Blockchain e tipo di nodo (validator, rpc, full, archive o pruned).
- Preferenza di mascheramento per i valori sensibili.
- Il testo del report prodotto dallo script (incollalo per l'analisi).
Come funziona
Lo script è composto da comandi di sola lettura (uname, lscpu, /proc/meminfo, df, lsblk, findmnt, timedatectl, ulimit, ss, ufw/firewall-cmd, docker, systemctl, sysctl, un probe TCP di raggiungibilità) e stampa un report PF_KEY=value.
Quando il mascheramento è attivo, lo script fa passare l'output da un filtro sed che oscura indirizzi IP, hostname, l'utente corrente, percorsi personali e valori simili a token prima della visualizzazione.
Il report incollato viene riportato a chiavi e confrontato con le soglie per chain: RAM e disco libero contro il minimo raccomandato, presenza di swap, sincronizzazione NTP, porte richieste in uso, presenza Docker/Compose, supporto architettura e ulimit dei file aperti.
Il risultato viene classificato: approvato quando nulla fallisce, attenzione quando esistono avvisi, critico quando un elemento bloccante fallisce, non verificato quando mancano chiavi richieste.
Esempio testabile
Prova — l'analisi gira localmente nel tuo browser.
Esempio
Blockchain: Cosmos · Tipo nodo: validator · Mascheramento: sì
Output atteso
PF_OS=Ubuntu 24.04.4 LTS PF_ARCH=aarch64 PF_MEM_TOTAL_GB=5 PF_DISK_FREE_GB=67 PF_NTP=yes PF_PORTS=22 80 443 3100 → Critico: RAM sotto il minimo raccomandato per questo profilo.
Leggere l'output
- Approvato significa che gli elementi controllati soddisfano le soglie del profilo — non garantisce che il nodo girerà; è un segnale di prontezza, non una certificazione.
- Un risultato critico (RAM, disco, porta richiesta occupata) va risolto prima di distribuire il nodo.
- Gli avvisi come swap mancante o elementi non verificati dipendono dal contesto; valutali per il tuo carico.
- L'output mascherato rende il report sicuro da incollare in un browser, ma trattalo comunque come sensibile.
Rischi
- Un nodo avviato su un server sotto-dimensionato può corrompere il database durante il sync e forzare un re-sync completo.
- Un orologio non sincronizzato rompe il voto del validator e può causare penalità.
- Incollare un report con segreti reali — l'opzione di mascheramento riduce, ma non elimina, questo rischio.
Limiti
- Lo strumento legge ciò che lo script ha stampato; non può verificare nulla che lo script non abbia potuto misurare.
- Docker e Compose vengono segnalati, non richiesti — alcuni deployment di nodi girano senza.
- Il probe di connettività controlla solo la raggiungibilità; non invia dati.
Riferimenti ufficiali
FAQ
Lo script modifica qualcosa sul mio server?
No. Legge solo informazioni di sistema e stampa un report. Non installa pacchetti, non modifica configurazioni, non apre porte e non riavvia nulla. Rivedi lo script generato prima di eseguirlo, se preferisci.
Cosa fa il probe di connettività?
Apre una connessione TCP verso 1.1.1.1:53 e riporta ok o unreachable. Non invia dati applicativi — testa solo se le connessioni in uscita funzionano, cosa che la maggior parte degli stack di nodi richiede per il peer discovery.
Devo incollare il report senza mascheramento?
No. Tieni il mascheramento attivo: il report contiene il tuo IP pubblico, hostname e username. L'analisi funziona identicamente perché legge le chiavi PF_, non i valori mascherati.