Jacopo's Lair


Aggiornato il: 14/10/2021

EOL di Zeroshell

Purtroppo questo piccolo gioiellino di informatica italiana è giunto al capolinea. Da settembre 2021 infatti non sono previsti più aggiornamenti da parte di Fulvio e il progetto è stato ufficialmente abbandonato. Raccomando a tutti coloro usano Zeroshell di passare a PFSense, anche se non è così facile come sembra...


Verdetto finale

Uno dei migliori sistemi operativi per networking ha ora allargato i suoi orizzonti per supportare tutti quei single-board computer (SBC) ARM. Bassi consumi e buone prestazioni lo rendono ideale per molte applicazioni. Tuttavia, la scarsità di pacchetti installabili e alcuni bug antipatici potrebbero suggerire di restare con x86, almeno temporaneamente.

Presentazione

Zeroshell è un sistema operativo basato su Linux sviluppato da Fulvio Ricciardi.
È progettato per networking e presenta numerose funzioni quali router, bridge, proxy trasparente con antivirus, captive portal e molto altro ancora.

Ho già recensito la versione x86 e rimando a quella per ulteriori informazioni.

Hardware

SBC testati

Ho testato Zeroshell sia su Raspberry Pi (2B, 3B, 3B+) che su un Orange Pi Zero. Quest'ultimo è stato impiegato per un progetto di VPN lan-to-lan mentre i Raspberry come router normali.

SBC supportati

Al momento della stesura di questa recensione sono supportati ufficialmente questi SBC:

SBC "funzionanti ma non supportati"

Il Rasbperry Pi 3 Model B+ non è ufficialmente supportato ma funziona ugualmente.

Schede Ethernet aggiuntive

Come già visto nell'articolo sulla installazione di Zeroshell su thin client non tutte le schede USB funzionano correttamente.

Raccomando quindi di evitare il modello RD9700 (scocca azzurra trasparente) che si collega solo a 10 Mbit/s e di utilizzare i moduli che usano il chipset AX88772 (scocca nera e con cavetto).

Non tutte le schede USB supportano le VLAN e nemmeno quella dell'Orange Pi Zero. Peccato! La LAN9512/9514 del Raspberry Pi invece le supporta.

Quando si collegano le schede USB occorre sempre ricordarsi che nel Raspberry Pi tutte e quattro le porte USB più il chip Ethernet integrato condividono un solo bus USB a 480 Mbit/s; nel caso del 3B+ la sola scheda di rete integrata, essendo Gigabit, lo satura già.

Micro SD

Valgono gli stessi discorsi per il Raspberry Pi: devono essere usate solo schede di alta qualità altrimenti si bruceranno presto. E' buona norma, una volta configurato il sistema, di fare un backup (sia dall'interfaccia di Zeroshell, sia proprio un'immagine della Micro SD) in modo da poter sostituire la scheda in modo facile.

Installazione

È sufficiente scaricare l'immagine giusta da zeroshell.net e poi scriverla sulla MicroSD utilizzando un programma appropriato (BalenaEtcher, Win32DiskImager, dd, l'utilità Dischi di GNOME etc.)

Nella versione x86 è necessario come prima cosa creare un profilo; nella versione ARM invece il profilo è già creato.
Tuttavia, essendo la modifica a mano dei dati del profilo (IP, base LDAP, dominio etc.) piuttosto scomoda, consiglio ugualmente la creazione di un nuovo profilo (operazione rapidissima dall'interfaccia web) con i dati corretti.

La console "VGA" nella versione ARM viene ovviamente visualizzata sull'uscita HDMI oppure composita (la scelta tra le due avviene esattamente come con Raspbian).

Non è necessario utilizzarla per la prima configurazione essendo già presente un profilo. La sua utilità nella versione ARM è essenzialmente quella di servire per riavviare il sistema in modalità fail-safe nel caso ci si chiuda fuori con il firewall, e per configurare il Wi-Fi che non è configurabile da interfaccia Web.

Non ho testato la console seriale.

Gestione

Per ulteriori dettagli circa il pannello di amministrazione rimando alla recensione della versione x86 dato che le due versioni sono identiche. Mi limiterò ad elencare le differenze.

Wi-FI

Come già detto il Wi-Fi è configurabile solo dall'interfaccia HDMI o SSH. Benché sia preferibile la creazione di una pagina nell'interfaccia Web anche per il Wi-Fi, il programma testuale per la sua configurazione è risultato comodo ed abbastanza intuitivo.

Tuttavia, il Wi-Fi su alcuni SBC soffre di problemi inspiegabili. Ad esempio, mentre sull'Orange Pi Zero esso funziona a meraviglia, sul Raspberry Pi 3 Model B ogni tanto la velocità di rete scende a livelli inaccettabilmente bassi (0,2 Mbit/s) ed è necessario riavviare il SBC. Inoltre, l'antenna ceramica del Pi 3 non consente di avere una buona copertura.

Raccomando quindi di testare a lungo la funzionalità corretta del Wi-Fi e nel caso di provvedere all'installazione di access point dedicati.

Bug?

Sul Raspberry Pi Model 3 B non è stato possibile impostare correttamente il Virtual Server (i pacchetti non arrivavano a destinazione). Dato che la funzionalità non mi serviva, non ho investigato oltre.

Prestazioni

Generalmente Zeroshell risulta reattivo anche sui SBC meno potenti come l'Orange Pi Zero, tuttavia per reti anche casalinghe è meglio orientarsi su SBC almeno dual-core.

Non raccomando l'uso in ambienti aziendali (a meno che l'azienda in questione sia assimilabile ad un ambiente domestico).

Se si usa nDPI, bisogna fare attenzione a non esagerare con i filtri perché devono essere tutti elaborati dalla CPU. Ciò è particolarmente evidente se si imposta un filtro per Bittorrent: siccome il numero di pacchetti e connessioni generati da un client Bittorrent è molto elevato e la CPU deve esaminare ognuno di questi pacchetti è naturale che vi sarà una perdita elevata di prestazioni. Lo stesso discorso vale per la compressione OpenVPN.

Pacchetti aggiuntivi

Zeroshell ha un sistema di package management molto comodo per arricchirlo di funzionalità. Tuttavia, su ARM solo pochissimi pacchetti sono disponibili, ad esempio manca PHP, MySQL e ntopng. Peccato.

Voto

Installazione

10/10

(facile e veloce)

Gestione

7/10

(Wi-Fi non configurabile, alcuni bug antipatici, pochi pacchetti)

Prestazioni

10/10

(Nessun problema anche sui SBC meno potenti che risultano comunque essere utili!)