Come trasformare il router in fibra

Costruisci il dispositivo magico che ti permette di bypassare i limiti imposti sulla tua ADSL

Come trasformare il router in fibra

 

Cosa ci occorre

MINI PC UNUX

RASPBERRY PI 3

Quanto costa: € 38,00 Sito Internet wwwl raspbenypi.org

ALIMENTATORE PER RASPBERRY PI 3 RASPBERRY PI UNIVERSAL POWER SUPPLY

Quanto costa: € 8,90

Sito Internet https:// shop.pimoroni.com

SCHEDA DI MEMORIA MICROSD

SAMSUNG MB-MC32DA 32 GB

Quanto costa: € 12,00 Sito Internet www.amazon.it

SOFTWARE PER CREARE MICROSD AW1AB1LE

WIN 32 DISK IMAGER

SISTEMA OPERATIVO PER RASPBERRY PI 3

RASPBIAN

JESSIE

Quanto costa: Gratuito Sito Internet www.raspbenypi.org

Riuscire a navigare o scaricare ad una velocità superiore è il sogno nascosto di ognuno di noi. Dopotutto la banda Internet non basta mai: pur avendo a disposizione la velocità di un’ADSL o la potenza di una fibra ottica, il numero sempre maggiore di dispositivi connessi all’interno delle mura domestiche (PC, smartphone, tablet, console, Smart TV) non ci permette di ottenere il massimo dalla nostra connessione a Internet. 

Ciò perché mentre magari cerchiamo di scaricare un file, qualcuno dei nostri familiari è in salotto a guardare un film in streaming su Netflix o altri servizi on-demand. Quante volte ci siamo ritrovati di fronte a uno scenario simile? Ma oggi una soluzione definitiva c’è e metterla in pratica non ci costa nulla, o quasi.

La fibra non serve più!

Abbiamo sottoscritto un piano mobile che ci permette di navigare dal tablet o dal telefonino anche quando non abbiamo a disposizione la connettività di una rete Wi-Fi? Abbiamo a disposizione una chiavetta Internet che ci permette di navigare in mobilità? Se la risposta a questi due quesiti è affermativa, siamo a cavallo.

Quello che faremo, infatti, è realizzare un “dispositivo magico” (utilizzando un Raspberry Pi 3) che ci permette di “unire” la potenza della nostra connessione ADSL a quella di una Internet key e del nostro fedele smartphone Android (sfruttando le funzionalità di tethering Wi-Fi).

Solo così saremo in grado di realizzare una sorta di “super router” capace di farci navigare a velocità tripla, proprio come se avessimo una velocissima fibra ottica, e dire finalmente addio a lunghi tempi di attesa durante il download di un file o il caricamento di un film in streaming! Cos’altro aspettiamo? Rimbocchiamoci subito le maniche ed iniziamo questa nuova avventura.

 

SIETE PRONTI

Raspberry Pi come super router

Basta poco per costruire un dispositivo magico che, senza inutili configurazioni, permette di bypassare i limiti di banda imposti dai provider Internet

Riuscire a navigare o scaricare a una velocità superiore è il sogno nascosto di tutti. Dopotutto, la banda Internet non basta mai: pur avendo a disposizione un’ADSL o una fibra ottica, il numero sempre maggiore di dispositivi connessi tra le mura domestiche (PC, smartphone, tablet, console, TV) non permette di ottenere il massimo dalla propria connessione. Ciò perché mentre cerchiamo di scaricare un file, qualcuno dei nostri familiari è in salotto a guardare un film su Netflix o altri servizi di streaming. Quante volte ci siamo ritrovati di fronte a uno scenario simile? Ma oggi, una soluzione definitiva c’è e metterla in pratica non ci costa nulla, o quasi.

Come trasformare il router in fibra
Il Raspberry Pi 3 integra un’interfaccia Wi-Fi, permettendoci così di utilizzare una delle 4 porte USB per aggiungere un ulteriore adattatore Wi-Fi

Oltre all’ADSL abbiamo sottoscritto un piano mobile che ci permette di navigare dal tablet o dal telefonino anche quando non abbiamo a disposizione la rete Wi-Fi di casa? Abbiamo a disposizione una chiavetta Internet che ci permette di navigare in mobilità? Se la risposta a questi due quesiti è affermativa, siamo a cavallo. Quello che faremo, infatti, è realizzare un “dispositivo magico” (utilizzando un Raspberry Pi 3) che permette di “unire” la potenza della connessione ADSL a quella di una Internet Key e del nostro fedele smartphone Android (sfruttando le funzionalità del tethering Wi-Fi). Solo così saremo in grado di realizzare una sorta di “super router” capace di unire 3 differenti connessioni e dire finalmente addio ai lunghi tempi di attesa durante il download di un file o il caricamento di un film in streaming.

Durante l’installazione di tutto il software necessario, ci imbatteremo anche in Node.js. Ma di cosa si tratta? Essenzialmente è un framework utilizzato dai programmatori e che consente il funzionamento di Dispatch-proxy, il software che si occuperà di “unire” fra loro le connessioni a Internet. Poiché Dispatch-proxy è scritto in Java, per il suo corretto funzionamento è necessario che Raspbian sia equipaggiato anche di Node.js.Affinché il Raspberry Pi 3 riesca a fornire la connettività al resto della LAN, è necessario che tutti gli altri computer e dispositivi siano connessi al router ADSL (quest’ultimo collegato con un cavo Ethernet al mini PC). Inoltre, è preferibile disattivare il firewall integrato nel router. Per fare ciò, accediamo al pannello di gestione del router ADSL (solitamente raggiungibile tramite browser all’indirizzo 192.168.1.1). Disattivando il firewall del router non saremo protetti? Assolutamente no! Raspbian, infatti, offre di default un firewall ben più performante e sicuro.

Tutto in una microSD
Scarichiamo Raspbian, l’OS per il Raspberry Pi 3, e installiamo su una scheda di memoria. Per farlo, da un PC connesso a Internet (nel nostro caso abbiamo usato una distribuzione GNU/Linux) raggiungiamo la pagina Web ufficiale e clicchiamo sul pulsante Download ZIP in corrispondenza di Raspbian Jessie. Attendiamo la fine del download.

Come trasformare il router in fibra

Scompattiamo l’archivio e spostiamoci nel Terminale. Inseriamo la microSD nel lettore di memory card del PC (se sprovvisto usiamo un adattatore USB) e lanciamo df -h per scoprire il nome assegnato alla scheda di memoria. Superata questa fase, lanciamo umount /dev/sdd, dove sdd è il nome della microSD.

Come trasformare il router in fibra

Non resta che raggiungere (con il comando cd) il percorso nel quale abbiamo estratto l’ISO di Raspbian e da qui lanciare il comando dd bs=4M if=nome-immagine.img of=/dev/sdd dove sdd è il nome assegnato alla microSD.

Come trasformare il router in fibra

Ad operazione conclusa rimuoviamo la scheda microSD dal lettore e inseriamola nel Raspberry Pi 3. Colleghiamo quest’ultimo a un monitor (tramite porta HDMI), a una tastiera, ad un mouse USB e al suo alimentatore. L’avvio di Debian Jessie avverrà in automatico entro qualche secondo.

Come trasformare il router in fibra

No software, no party!
Prima di “unire” ADSL, 4G e 3G è necessario installare alcuni software fondamentali.
Colleghiamo il Raspberry Pi al Web (utilizzando un cavo Ethernet) e avviamo il Terminale (terza icona in alto a sinistra della GUI di Raspbian). Da qui, lanciamo sudo apt-get update per aggiornare tutti i pacchetti software disponibili.

Come trasformare il router in fibra

Terminata questa fase, digitiamo sempre da terminale curl -sL https://deb.nodesource.com/setup_4.x sud -E bash - confermando con Invio. Node.js verrà scaricato: l’operazione può durare qualche secondo, ma varia in base alla connessione utilizzata.

Come trasformare il router in fibra

È arrivato il momento di installare Node.js. Per farlo, digitiamo sudo apt-get install -y node.js. Al termine dell’operazione il software fondamentale per il funzionamento del nostro “load balancer” sarà pronto all’uso.

Come trasformare il router in fibra

Prima di proseguire, però, è necessario procedere all’installazione di un altro software. Sempre da terminale, lanciamo il comando sudo apt-get install -y npm (confermando con Invio) e confermiamo con Yes.

Come trasformare il router in fibra

Tutto è pronto per installare il load balancer (Dispatch-proxy). Per farlo, lanciamo sudo npm install -g dispatch-proxy. I pacchetti del software verranno scaricati e installati sul Raspberry Pi 3 (l’operazione dura una manciata di secondi).

Come trasformare il router in fibra

Per verificare che la versione di dispatch-proxy scaricata sia la più recente e, in caso contrario, procedere al suo aggiornamento, lanciamo il comando sudo npm update -g dispatch-proxy. Al termine, il nostro mini PC sarà pronto per “unire” le connessioni Internet di cui disponiamo.

Come trasformare il router in fibra

Load balancer: questo sconosciuto
Abbiamo scoperto che il software che ci permette di scaricare alla massima velocità “unendo” tutte le connessioni Internet che abbiamo a disposizione si chiama Dispatch-proxy. Ma essenzialmente, di cosa si occupa e come funziona? Tecnicamente, questo software, che in gergo prende il nome di “load balancer”, non fa altro che bilanciare in maniera intelligente il carico (ovvero, il traffico dati) sulle diverse connessioni disponibili. Così facendo, ad esempio, se un PC della LAN richiede il download di un file, dispatch-proxy mette a disposizione la connessione ADSL. Per la semplice navigazione Web, invece, verrà utilizzata la connessione che offre la banda minore. Il tutto, come già detto, avviene in maniera automatica: non dobbiamo dunque perderci in mille configurazioni. Sarà dispatch-proxy a stabilire quale PC dovrà utilizzare questa o quella connessione a Internet.
E il bello è che non ci sono limiti. Se disponiamo di altre connessioni da condividere, ad esempio il Wi-Fi del vicino che ci autorizza a connetterci alla sua rete senza fili o un altro smartphone sul quale configurare il tethering, Dispatch-proxy potrà unirle alle altre connessioni. L’unico vero limite è il numero di interfacce Wi-Fi collegabili al Raspberry Pi 3: il numero di ingressi USB disponibili, infatti, è pari a 4 di cui 1 è già occupata dalla Internet Key. Di conseguenza, potremo connetterci “solo” ad altre 3 reti senza fili. Nel caso in cui volessimo strafare, per estendere il numero di porte USB sarà necessario acquistare un hub USB alimentato.

L’unione fa la forza
Vediamo ora come condividere con il Raspberry Pi 3 la connettività 4G del nostro smartphone Android e l’ADSL di casa.
Affidandoci ancora una volta al terminale, lanciamo dispatch list. Vengono mostrati tutti gli accessi a Internet disponibili e ai quali il Raspberry Pi 3 è già collegato. Da questi, dobbiamo escludere la sezione lo (diminutivo di localhost).

Come trasformare il router in fibra

Dal nostro smartphone Android spostiamoci in Impostazioni e nella sezione Wireless e retitappiamo su Altro: attiviamo il tethering Wi-Fi. Ritorniamo al Raspberry Pi 3 e cliccando sull’icona di rete selezioniamo la rete Wi-Fi condivisa dallo smartphone. Connettiamoci.

Come trasformare il router in fibra

Lanciamo il comando dispatch list: l’interfaccia wlan0 del Raspberry Pi 3 è connessa al Web grazie al nostro smartphone Android. Se il vicino ce lo consente e abbiamo a disposizione una chiavetta Wi-Fi USB, possiamo connetterci a una seconda rete senza fili.

Come trasformare il router in fibra

Colleghiamo il Raspberry Pi 3 al nostro router di casa tramite cavo Ethernet. Dopo aver connesso il cavo sia al router che alla scheda di rete del Raspberry Pi 3, lanciamo nuovamente il comando dispatch list per verificare che sia presente anche la connessione eth0.

Come trasformare il router in fibra

Aggiungiamo anche il 3G
La maggior parte delle Internet key in circolazione viene fornita con un software a corredo che permette di stabilire la connessione in maniera semplice e veloce. Questi software, però, il più delle volte sono disponibili unicamente per Windows e, nel momento in cui colleghiamo la Internet key al Raspberry Pi 3 equipaggiato con Raspbian non saremo in grado di utilizzarli. Oltre a ciò, dobbiamo fare i conti anche con i driver che permettono il corretto riconoscimento della chiavetta al mini PC. Fortunatamente, le più diffuse Internet key (come la Huawei E353che abbiamo utilizzato per i nostri test) vengono riconosciute al primo colpo e dunque non c’è la necessità di perdere ore ed ore per cercare il giusto driver. E se disponiamo di una chiavetta differente? In questi casi, è bene fare prima una semplice ricerca sul Web per verificare la compatibilità con GNU/Linux e l’eventuale disponibilità dei driver. Se non conosciamo il nome del modello di Internet key in nostro possesso, colleghiamola a uno degli ingressi USB del Raspberry Pi 3 e, da terminale, lanciamo il comando lsusb: nella lista che appare dovrebbe essere riportato produttore e nome del modello in nostro possesso.
Ecco dunque come configurare la Huawei E353 e far sì che si connetta al Web.

Dal terminale di Raspbian, lanciamo sudo apt-get install usb-modeswitch. Attendiamo che il pacchetto venga installato e, non appena apparirà un messaggio di conferma, colleghiamo la chiavetta 3G a un ingresso USB del Raspberry Pi 3.

Come trasformare il router in fibra

Attendiamo qualche secondo (il tempo necessario che il sistema riconosca la chiavetta 3G appena collegata) e lanciamo ifconfig -a. Analizziamo l’output mostrato a schermo: se è presente la sezione wwan0, vuol dire che tutto sta andando per il verso giusto.

Come trasformare il router in fibra

Lanciamo il comando sudo nano /etc/network/interfaces. Aggiungiamo al file di testo mostrato a schermo le nuove righe allow-hotplug wwan0 e iface wwan0 inet dhcp. Salviamo con Ctrl+O. A questo punto, usciamo dall’editor con Ctrl+X.

Come trasformare il router in fibra

Lanciamo sudo reboot e attendiamo che il Raspberry Pi 3 venga riavviato. Non appena il sistema operativo sarà nuovamente disponibile, apriamo il terminale e digitiamo dispatch list: se è presente la nuova sezione wwan0, vuol dire che la chiavetta 3G è connessa al Web.

Come trasformare il router in fibra

3 connessioni in 1
Lanciamo un solo comando e configuriamo a puntino tutti gli altri PC della LAN.
Tutto è pronto per “unire” le 3 connessioni: ADSL, chiavetta 3G e tethering Wi-Fi dello smartphone Android. Dal terminale di Raspbian, lanciamo dispatch start -http. Apparirà un messaggio che ci confermerà l’avvio di un nuovo server proxy.

Come trasformare il router in fibra

Prima di poter navigare, però, è necessario smistare tutto il traffico Web sul nuovo proxy. Se sul mini PC abbiamo già installato Mozilla Firefox, spostiamoci nelle sue impostazioni e, da Connection Settings, compiliamo HTTP Proxy con localhost e Port con 8080.

Come trasformare il router in fibra

Non resta che ripetere la configurazione anche sugli altri PC della LAN. Da un qualsiasi PC collegato alla Intranet avviamo dunque il browser preferito. Nel caso di Google Chrome, spostiamoci in Impostazioni/Rete. Clicchiamo su Modifica impostazioni proxy e compiliamo il campo Indirizzo con l’IP del Raspberry Pi 3. Indichiamo la Porta 8080.

Come trasformare il router in fibra

Se utilizziamo Ubuntu 16.10, raggiungiamo le impostazioni di Rete e da qui spostiamoci in Proxy di rete. Compiliamo il campo Proxy http con l’indirizzo IP del Raspberry Pi 3. Indichiamo la porta 8080 e confermiamo con Applica all’intero sistema.

Come trasformare il router in fibra

Tiriamo le somme
Per effettuare i nostri test, abbiamo utilizzato una classica connessione ADSL 20 Mega (velocità effettiva 17,4 Mb/s), aggiungendo il tethering 3G di uno smartphone nel quale abbiamo inserito una SIM H3G con connettività 4G (velocità effettiva 23,67 Mb/s). La nostra Internet key, invece, è capace di connettersi unicamente alla rete 3G (velocità effettiva 11,6 Mb/s). Nonostante ciò, effettuando dei test di velocità su Speedtest.net, siamo stati capaci di triplicare la banda a disposizione (banda totale effettiva 52,67 Mb/s).
Certo, la velocità effettiva di navigazione si manterrà sulla velocità della connessione utilizzata al momento (ADSL, 3G o 4G in tethering, ovvero quella che dispatch-proxy riterrà più “scarica” e idonea) ma di fatto le prestazioni nell’intera LAN miglioreranno di molto. Resta ovvio che, nel caso in cui avessimo avuto a disposizione una connessione in fibra ottica e una Internet key capace di navigare anche sulla rete 4G il risultato sarebbe stato notevolmente migliore.