Diversi anni fa, nella prima casa in cui ho abitato quando sono andato via da quella dei genitori, avevo una ADSL della Telecom da 7Mbit che utilizzavo con un modem/router economico di Linksys. La mia passione per la tecnologia mi ha portato ad incrementare rapidamente il numero di dispositivi connessi, con il risultato che alcuni di loro si scollegavano o la comunicazione nella LAN si interrompeva. Dal momento che proprio in quel periodo era scoccato il mio amore per Apple, mi sembrò quasi scontato comprare una base AirPort Extreme, delegando al Linksys il solo compito di modem. L’operazione è stata semplice e indolore ma, soprattutto, ha funzionato. Non ho più riscontrato disconnessioni e mai – ripeto: mai – ho dovuto riavviare la base in seguito a blocchi. Esattamente quel che mi aspettavo dalla Apple al tempo, ragione per cui ho acquistato tutti i modelli successivi, passando alle Time Capsule con Wi-Fi 802.11n nel 2009 e poi a quella 802.11ac nel 2013.

time-capsule-2009-2013

Da quando mi sono trasferito nella casa attuale, la singola Time Capsule si è dimostrata incapace di portare il segnale Wi-Fi a 5GHz fino alla stanza più lontana. Nel frattempo mi ero anche creato un piccolo studio in casa con una seconda postazione fissa, per cui ne ho approfittato per acquistare un’altra Time Capsule ed avere sia l'estensione della rete wireless che i backup di Time Machine sul nuovo Mac. Ho lavorato così per un paio d’anni, forse tre, con discreta soddisfazione. Dico discreta perché qualche problema l’ho avuto. Svariate volte ho trovato la seconda base scollegata dalla prima (con necessario riavvio di entrambe), la portata era ancora insufficiente (nonostante una casa inferiore a 100mq) e la connessione wireless era stabile ma con prestazioni altalenanti. Inoltre sono nate nuove esigenze, sia perché sono arrivati diversi dispositivi smart, sia perché la capacità della mia attuale fibra da 100Mbit (era da 50 fino al mese scorso) ha portato me e la mia famiglia ad abusare di servizi di streaming audio/video, al punto da essere circondato da schermi – fissi o portatili – sempre connessi a YouTube, Spotify, Netflix, Sky/Now TV, ecc… Non sapete quante volte ho dovuto passare in rassegna TV, vari set top box, computer, smartphone e tablet, in modo da accertarmi che non stessero scaricando dati prima di una diretta o in altre situazioni in cui avevo necessità di sfruttare tutta la banda. Inoltre sto ristrutturando anche l’archiviazione dati e a gennaio installerò un NAS con più schede di rete configurabili in Link Aggregation, altra funzionalità che non potrei sfruttare sulla Time Capsule. Per farla breve, avevo bisogno di prestazioni, controllo e specifiche nettamente superiori rispetto quelli offerti dalle basi Apple, che però continuo a considerare un buon acquisto in ambito casalingo essendo belle e semplici da configurare.

progettorete-saggiamente-7

In principio ho voluto tentare ancora una volta la strada di un router consumer, acquistando ad inizio novembre l’Asus RT-AC5300. Un mostro con otto antenne e di dimensioni sovrumane, che supportava tutte le tecnologie di cui avevo bisogno. Inoltre tutte le recensioni sembravano molto positive, per cui ho sperato potesse essere l’acquisto definitivo. Il tutto con una spesa non certo indifferente di 380€, ma che potevo in larga parte recuperare dalla vendita delle due Time Capsule da 2TB. Questo router di Asus è stato il prodotto che è durato di meno in casa mia, al punto che ho attivato la richiesta di reso su Amazon dopo sole 10 ore, tutte dedicate a sbatterci la testa nel cercare di farlo funzionare a dovere. È lungo da riassumere ma vi posso garantire che se la portata del Wi-Fi è effettivamente ottima, il software è inconsistente, pieno zeppo di bug (e ho fatto ovviamente tutti gli aggiornamenti) e con diverse opzioni il cui comportamento non è noto ad Asus. Non scherzo, nel manuale potete leggere cose come:

  • Bandwidth Utilization When bandwidth use exceeds this percentage, steering will be initiated. Broadcom's documentation does not say how utilization is measured.

Il problema più grave, però, è stata l’inaffidabilità. Diceva che una rete era attiva mentre non lo era; evidenziava il giusto numero dei client connessi ma non rilevava i dati di tutti; faceva memorizzare delle bellissime icone per ogni device, ma poi cliccavi su salva e le perdeva (sia quelle che i nomi personalizzati); aveva opzioni apparentemente utili per lo smistamento automatico sulle reti 2,4/5GHz, ma con regole meno che inefficienti e non sempre funzionanti. Insomma, un prodotto che a me è sembrato in uno stadio alpha di progettazione e con difetti software macroscopici. Ho pensato che fosse il mio danneggiato, visto che fatico a trovare recensioni che evidenzino i miei stessi problemi, ma tanto mi è bastato per cambiare aria. Soprattutto perché ho avuto modo di dare un’occhiata approfondita alle pagine di amministrazione e ne ho concluso che, per quanto colpiscano di primo acchito, sono piene di cose potenzialmente inutili e carenti sugli aspetti più rilevanti.

pfsense-hero

Io conosco i principi fondamentali sulle reti, ne so amministrare senza problemi una casalinga e risolvere il 99% dei problemi che capitano a me, ai miei clienti e conoscenti, ma quando Luca Zorzi mi ha suggerito di crearmi un’infrastruttura di rete su misura, composta da un Gateway con pfSense, uno Switch Managed ed un Access Point, ammetto di essermi un po’ impaurito. Mi è sembrato un progetto costoso e difficile da configurare ed amministrare, ma quando ho saputo che Domenico Gareri – uno dei miei più cari amici, sistemista ed esperto di reti che ha condiviso con me la sofferenza nel tentativo di far funzionare il router Asus di cui sopra – aveva già avuto altre esperienze positive sia con OpenWRT che pfSense, ho deciso di buttarmi.

progettorete-saggiamente-1

Ci è voluto circa un mese per avere a casa tutti i componenti, periodo nel quale ho prima studiato meglio le varie tecnologie, poi analizzato una serie di prodotti potenzialmente adatti, atteso di trovarli ad un prezzo ragionevole e completare gli acquisti. Su alcuni di questi avevo anche letto opinioni contrastanti, ad esempio per l’Access Point UAP-AC-PRO di Ubiquiti che non tutti apprezzano, ma ho deciso di non dare loro credito (dopo l’esperienza dell’Asus soprattutto). Ecco la lista dei componenti da me acquistati:

  • Zotac ZBOX CI323 (circa 160€) un mini PC con Intel N3150 (quad-core 1,6GHz), dotato due schede di rete Gigabit e tantissime porte di ogni tipo. Una base perfetta per pfSense a cui mancano solo un disco (SATA) e la RAM (DDR3L).
  • Crucial CT25664BF160BJ (circa 17€) 2GB di memoria DDR3L di marca affidabile. Sembrano pochi, ma in realtà pfSense allo stato attuale me ne impegna tra l’8 e il 15%, dunque 2GB sono perfino troppi. Ciò non toglie che, a seconda delle offerte del momento, si può optare per una configurazione superiore considerando che lo ZBOX ha 2 slot per la RAM e supporta al massimo 8GB (2 x 4GB).
  • SSD Kingdian 8GB (circa 17€) questo è stato l’acquisto più sofferto che ho fatto, nonché l’unico che ritengo sbagliato. Per prima cosa perché sulle memorie mi fido solo di pochi marchi, specie quando si tratta di SSD. Se mi sono convinto ad acquistalo è solo perché 8GB per pfSense in configurazione router/firewall sono anche tanti (al momento ne usa meno del 15%) e non ho trovato nulla di meglio con questa capacità. Comunque ora che ho visto che tutto funziona a dovere e sto meditando di aggiungere ulteriori servizi, come un proxy server, non farebbe male un po’ di velocità in più nella scrittura e maggiore spazio. Per questo motivo ho comprato ieri un SSD Transcend da 32GB a 32€ che sostituirò al primo appena possibile (tanto basta fare un backup/ripristino dopo l'installazione).
  • Netgear GS724Tv4 (circa 140€) Ok, come switch ho esagerato prendendo un 24 porte (è quello azzurro in gran parte coperto nella foto superiore), ma è stato in offerta lampo su Amazon al prezzo del 16 a cui puntavo, per cui non ci ho pensato due volte. Se non ve ne servono così tante o volete qualcosa di più compatto, l’alternativa ideale potrebbe essere il Netgear GS108T da 8 porte (circa 70€), che è della stessa famiglia di switch Smart Gigabit ma con qualche funzionalità in meno. Qui sopra vedete anche il più piccolo Netgear GS105E (circa 35€), che nella mia configurazione sarà dislocato in una seconda stanza in cui ho già predisposto un collegamento Ethernet che parte dal modem/router in fase di ristrutturazione. Sono tutti di tipo managed e molto validi.
  • Ubiquiti UAP-AC-PRO (circa 150€) Provate a cercare un Access Point con funzioni professionali, Wi-Fi 802.11ac ed un prezzo inferiore a 200€. La lista sarà molto ristretta, per non dire ridotta ad un unico candidato. Esistono anche delle versioni ancora più economiche di questi AP della linea Unifi, ovvero il Lite e quello LR, ma solo questo ha il Wi-Fi N fino a 450Mbps e l’AC fino a 1300Mbps. Nel mio caso non ho avuto dubbi nella scelta ed anche se ho letto qualche lamentela, sono soddisfatto al 90% del prodotto e della sue prestazioni. Più avanti spiegherò perché, ma in tutti i casi cui ve lo consiglio caldamente.

progettorete-saggiamente-2

Ora veniamo al dunque. Lo Zotac ZBOX CI323 è molto meglio dal vivo che in foto. Può sembrare uno scatolotto di plastica, cosa che in effetti è, ma robusto e molto curato nelle finiture, con angoli morbidi ed una fitta rete che gli consente di dissipare il calore passivamente (per cui: zero rumore). Si può poggiare in orizzontale o verticale e in dotazione c’è anche un pratico montaggio VESA, l’alimentatore ed un’antenna. La scheda wireless non viene sfruttata da pfSense (il cui supporto per il Wi-Fi è minimo), per cui si può anche non avvitare.

progettorete-saggiamente-3

Piccola parentesi: qualcuno potrebbe suggerire l’uso di openWRT in luogo di pfSense, cosa assolutamente lecita. Personalmente l’ho scartato per diverse ragioni, molte delle quali condivise con i due amici che mi hanno supportato nel progetto. In particolare limita nel parco hardware adottabile ed ha un’interfaccia decisamente meno ergonomica. Nel caso in cui si voglia creare una soluzione all-in-one casalinga è sicuramente comodo, ma io partivo già con l’idea di separare modem, router/firewall, switch ed access point, in modo da ottenere il meglio in ogni categoria e poter aggiornare in futuro un singolo elemento per volta. Ad esempio: appena si diffonderanno anche gli standard 802.11ad (60GHz) ed 802.11ah (900MHz), basterà cambiare l’Access Point.

progettorete-saggiamente-4Aprire la parte inferiore del case e montare SSD e RAM è un gioco da ragazzi, dopodiché si è pronti ad installare pfSense. Questo mio articolo non vuole essere una guida passo passo, anche perché tutto il sistema va manutenuto e personalizzato sulle proprie esigenze, per cui bisogna già avere un po’ di competenze di base o, eventualmente, studiare per crearsele. Come già detto io avevo una discreta infarinatura, ma se mi sono addentrato in questo #ProgettoRete a cuor leggero è anche perché avevo due amici su cui poter contare in caso di problemi. In realtà è tutto meno complicato di quanto possa sembrare, soprattutto perché quando ho eseguito il primo Wizard di pfSense tutto era già bello che funzionante. Comunque lascerò di seguito qualche piccola imbeccata ed un paio di link, così da avere tutto l’occorrente per muovere agevolmente i primi passi.

pfsense-download

Per prima cosa bisogna scaricare l’installer di pfSense dalla pagina di download. Fate attenzione perché per le CPU Intel a 64-bit, come il Celeron N3150 di cui è dotato lo ZBOX CI323, bisogna selezionare architettura "AMD64" e non "i386". Se volete partire via USB selezionate come piattaforma "USB Memstick Installer" e poi "VGA" come console. Prendete una pendrive qualsiasi, anche di piccolo taglio, e localizzate il suo percorso esatto tramite Terminale con il comando:

diskutil list

A questo punto smontate l’unità (nel mio caso la disk9) con il comando:

diskutil unmount /dev/disk9

Per mettere l’immagine disco scaricata sulla pendrive useremo dd, ma nel comando qui di seguito abbiate cura di sostituire il percorso del file scaricato e quello logico della pendrive (/dev/disk9) con i vostri. Ricordate che trascinando un file sulla finestra del Terminale questo ne scrive per noi il percorso completo, per cui conviene digitare la prima parte e poi fare un drag&drop.

gzip -dc /Users/simplemal/Downloads/pfSense-CE-memstick-2.3.2-RELEASE-amd64.img.gz | sudo dd of=/dev/disk9 obs=64k

L’operazione necessita di diversi minuti, in cui il Terminale non mostra nessuna informazione sul progresso, ma potete premere ⌃T quante volte volete per richiedere un output a video. Una volta ottenuta la pendrive di installazione, va inserita su una delle tante porte USB dello Zotac ZBOX CI323 (che d’ora in poi chiamerò Gateway per semplicità) e bisognerà scegliere di avviare da quest’ultima. Vi serviranno temporaneamente un monitor ed una tastiera, ma dopo si amministrerà tutto tramite rete ed un browser. Per il setup di base ho seguito questa guida ufficiale, tuttavia se siete pigri vi scrivo in sequenza le scelte che dovrete fare:

  • Invio
  • I
  • Accept
  • Quick/Easy Install (che installa in automatico nel primo drive SATA che trova)
  • Ok
  • Standard kernel
  • Reboot
  • Fatto! No, fermi, non digitate davvero "Fatto!"

Togliete la pendrive e attendete tutto il tempo necessario, alla fine vi verranno fatte alcune brevi domande. Vado a memoria, ma se ben ricordo chiede solo di dare un nome alle due schede di rete (io ho usato i predefiniti re0 e re1), di decidere quale sarà dedicata alla WAN e quale alla LAN (nel mio caso rispettivamente re0 ed re1), gli indirizzi IPv4 ed eventuali IPv6 (che io non ho usato) e se si vogliono usare le VLAN. A quest’ultima domanda ho risposto no inizialmente, in modo da fare poi tutto con più calma tramite l’interfaccia web.

progettorete-pfsense-startup

La re0 corrisponde alla porta Ethernet che si trova sul retro nella zona centrale, mentre la re1 è quella più al lato. Se seguite la mia configurazione, dovrete collegare il modem sulla re0 e lo switch sulla re1. Inizialmente ho evitato lo switch ed al suo posto ho messo un computer, in questo modo ho potuto completare la procedura con maggior comodità, aggiungendo un elemento di complessità alla volta. Il mio modem Fibra, come la maggioranza di quelli in circolazione, contiene anche funzionalità basiche di router/firewall/access point. Probabilmente la cosa migliore è quella di configurare il nuovo Gateway pfSense in modalità PPPoE, così il modem sarà usato solo come ponte nella WAN e il Gateway avrà accesso diretto al web con una sola NAT in uso e minore complessità. Se il modem supporta questa funzionalità (definita solitamente Bridged / Router+Bridged / Bridged Mode / o simili), potrebbe essere una buona idea adoperarla. Con la FTTC di TIM Business ho avuto qualche difficoltà ad ottenere il mio IP statico (che ho risolto con questo trucchetto), ma il modem non si poteva impostare solo in Bridged e con la modalità mista mi dava qualche problema. Ho quindi optato per la doppia NAT, creando una rete di questo tipo:

  • Modem
    IP: 192.168.1.1
    NAT: attiva
    DHCP: disattivo
  • Gateway
    IP (re0): 192.168.1.2 (statico)
    IP (re1): 10.0.0.1 (statico)
    NAT: attiva
    DHCP: attivo (da 10.0.0.2 a 10.0.0.254 o come si preferisce)

Ovviamente le classi di IP potete sceglierle a vostro gusto, io ho optato per queste perché mi piace averle completamente diverse per una maggiore chiarezza. Il Gateway ci consentirà comunque di raggiungere la pagina amministrativa del modem su 192.168.1.1 da tutti i computer, cosa molto utile per monitorare lo stato della connessione o modificare qualcosa. Ad esempio, con la doppia NAT sarà necessario creare due volte le regole di Port Mapping, oppure se ne può creare una generica che manda tutto sull’IP del Gateway (ovviamente quello visibile dal modem, quindi 192.168.1.2 e non 10.0.0.1).

progettorete-switch

Definita la configurazione di base, ho sostituito il computer collegato alla re1 con lo Switch, impostato con l’IP statico 10.0.0.2. Ho infatti ristretto il range del DHCP del Gateway da 100 a 254, riservandomi le posizioni fino a 99 per gli apparati principali della rete. Ho preferito seguire una logica ben precisa, lasciando i numeri ad una cifra all’infrastruttura principale (quindi gateway, vari switch, access point); quelli da 10 a 19 per la domotica (Bridge Philips Hue, Termostati, gateway Z-Wave); da 20 a 29 per le videocamere di sorveglianza; da 30 a 49 per i computer; da 50 a 69 per TV, Set Top Box, Apple TVs, TV Box Android; da 70 a 79 per altri device da ufficio (tipo la multifunzione); da 80 a 99 per smartphone e tablet. Dopo 100 se la vede il DHCP ed è il territorio dei dispositivi di passaggio o in prova, finché non si guadagnano una prenotazione di IP statico in base al MAC Address. Sull'interfaccia web dello Switch managed posso definire minuziosamente il comportamento di ogni porta, accettare solo certi dispositivi, nonché indirizzarti a determinate VLAN in base alla porta di connessione o altro. Al momento non ci ho fatto molto ma aspetto di poter testare a dover la Link Aggregation quando avrò terminato i lavori sul NAS (credo gennaio inoltrato).

progettorete-ap

Passiamo ora all’Access Point, che purtroppo non possiede una pratica interfaccia amministrativa via web. O meglio: l’interfaccia c’è e si gestisce da browser, ma solo installando su un computer le app Unifi e Unifi-Discover. Queste ci consentono di controllare il device su una porta virtuale del nostro IP locale (es: localhost:xxxx), esattamente come fosse un servizio installato sulla macchina. Parte di quel 10% mancato nella mia soddisfazione per questo prodotto dipende proprio da ciò, anche se da quel che leggo in giro è considerata una valida misura di sicurezza. Non mi esprimo in merito, ma onestamente mi vien più da pensare che abbiano sfruttato meglio le potenzialità dell’hardware esternalizzando il server web e tutto ciò che ne consegue. Dopotutto il prodotto costa effettivamente poco per quel che offre. Esiste anche un Cloud Access che ho configurato nella speranza di ottenere il pieno controllo da tutta la rete, ma purtroppo gli mancano quasi tutte le impostazioni. Il più fastidioso effetto di questa scelta è che se si vuole amministrare l’AP da un altro computer, lo si deve prima resettare completamente. È anche vero che è previsto un sistema di backup e ripristino che richiede al massimo 1 minuto, però non è certo una cosa comoda.

progettorete-unifi-remote

La base è in plastica leggera, ma è davvero molto bella nella sua semplicità e si può installare a parete o a soffitto. Ovviamente se ne possono collegare molte per coprire aree più vaste di uno stesso sito ed anche farle dialogare a distanza. Io posso solo dirvi che una sola di queste porta il segnale molto più lontano rispetto a quanto non facessero le due Time Capsule AC che usavo precedentemente (una extender dell’altra). Finalmente ho risolto i problemi di copertura in ogni angolo della casa, con prestazioni ottime ed una stabilità invidiabile. I lati positivi sono tanti, in effetti, ed includono anche l’area di amministrazione. Già, perché superata la frustrazione per l’assenza di un accesso web nativo (che proverò ad aggirare lasciando il computer controller accesso ed attivando una regola di port forwarding sul Gateway), non c’è che rimanere colpiti da un'interfaccia chiara, bella e ricchissima di funzionalità. Si possono creare fino a 4 reti in doppia banda separate (per un totale di 8), con diversi profili/limiti, tag VLAN, rete guest aggiuntiva con captive portal e tanto altro ancora. Anche qui però c’è un piccolo aspetto che potremmo considerare negativo, anche se in realtà deriva da uno positivo. Ubiquiti è un po’ simile ad Apple per l’approccio da "ecosistema" ed ottimizza al meglio i suoi dispositivi affinché dialoghino tra loro in modo trasparente. Si tratta certamente di un plus se si acquistano anche switch e gateway della casa, grazie ai quali si può amministrare tutto comodamente da un’unica postazione. Il lato negativo è che la mancanza di integrazione viene forse evidenziata in modo fin troppo evidente nella dashboard, dove si vedranno diversi elementi grafici "spenti" per mancanza degli apparati Ubiquiti nella restante infrastruttura.

progettorete-unifi

In pratica ti vogliono vendere tutto loro, anche se onestamente lo fanno con un certo garbo visto che danno in cambio più funzionalità che nascono proprio dall’interazione. Io, però, venivo già da una dittatura ed ho preferito perdere qualcosa in cambio di una maggiore libertà di scelta dei componenti in prima battuta e di eventuale sostituzione in futuro. Senza considerare che ho risparmiato molto visti i prezzi degli altri prodotti della gamma Unifi.

pfsense

Avrei voluto essere più sintetico visto che questo articolo non è una guida passo passo, bensì l’analisi di un progetto e dei suoi risultati. Un modo per stimolare qualcuno di voi a fare altrettanto, magari riducendo l’infrastruttura dove non necessario o puntando anche a qualcosa di meglio in alcuni ambiti. Personalmente devo dire che mi sto trovando davvero molto bene. In un giorno ho riottenuto la piena operatività della mia rete precedente con evidenti vantaggi in termini di controllo, informazioni ottenibili e performance. In particolare ora non ho cali di velocità in Wi-Fi, riuscendo a sfruttare in tutta la casa il 100% della banda da 100Mbit della mia Fibra: un risultato che prima potevo solo sognarmi. Ho creato 3 reti wireless a doppia banda grazie all'AP, definendo un ordine di priorità per i dispositivi di lavoro, quelli personali della famiglia e quelli degli ospiti ricorrenti (per gli altri attiverò a breve una ulteriore rete Guest). In attesa di completare il NAS e di provare la Link Aggregation, ho in programma di sezionare in modo ancora più accurato le VLAN e di studiare le altre ottime funzionalità di pfSense. Per chi fosse interessato, ho creato una lista Amazon con tutti i prodotti citati in questo articolo: #ProgettoRete. In tutti i casi la spesa complessiva è inferiore a 500€, che sono tanti per un utente medio che non ha necessità talmente evolute, ma sono di poco inferiori a quel pessimo prodotto di Asus e in linea con i 480€ richiesti da un bel prodotto tutto in uno come il Netgear Nighthawk X10, che per rimane in fascia consumer e con affidabilità, funzioni, scalabilità e configurabilità infinitamente inferiori.