Vedere i canali RAI dall’estero

Mi capita spesso di viaggiare all’estero e di avere accesso a una connessione a Internet, ma non alla tv satellitare.
Purtroppo la nostra cara mamma RAI, per la quale siamo felici di pagare il canone anche quando ci troviamo all’estero per periodi estesi – dato che non paghiamo per quello che vediamo bensì per la detenzione di un apparecchio televisivo – non ci permette di accedere allo streaming se la connessione proviene da un indirizzo IP fuori dall’Italia.

La teoria

Esistono vari modi per aggirare questa limitazione, ognuno richiede quanto segue:

  • una connessione a Internet in Italia con una velocità di upstream sufficiente (tipicamente >300KB/s).
  • accesso 24h/24 a un computer sul quale poter installare un server “socks” o un server VPN

Una volta soddisfatti questi due requisiti, non resta che configurare il proprio computer all’estero in modo che usi il computer in Italia come gateway per le connessioni effettuate tramite web browser.

La pratica

Vediamo un caso d’uso semplice e rapido per chi dispone di una macchina Linux/UNIX all’estero dotata di Firefox e client SSH (la chiameremo “laptop”) e di una macchina Linux/UNIX in Italia (la chiameremo “example.dyndns.org”), accessibile tramite SSH con l’account “mario”.

  1. Su “laptop” eseguiamo: ssh -N -D 9999 mario@example.dyndns.org &
  2. Su “laptop” apriamo Firefox, andiamo su Modifica/Preferenze/Avanzate, scegliamo il tab “Rete” e clicchiamo su “Impostazioni”:
  • scegliamo “Configurazione manuale del proxy”.
  • in “Host SOCKS” mettiamo localhost
  • in “Porta” mettiamo 9999.
come configurare Firefox per usare un server socks
come configurare Firefox per usare un server socks

Apriamo http://www.rai.tv e godiamoci la visione!

Attenzione: il nuovo sito di rai.tv utilizza la tecnologia Silverlight di Microsoft – giusto per non farsi mancare nulla, tanto paghiamo noi – pertanto avete bisogno di installare il pacchetto “moonlight-plugin-mozilla” (nel caso abbiate Ubuntu 9.04) o l’equivalente per la vostra distribuzione per poter accedere al sito.

La tecnica

Ecco cosa stiamo facendo dal punto di vista tecnico: le recenti versioni di ssh implementano al loro interno il supporto per creare un server SOCKS “on the fly”.

Un server SOCKS è un particolare tipo di proxy trasparente che permette di effettuare connessioni TCP dirette (e, dalla versione 5, di veicolare traffico UDP) tra due reti differenti nei casi in cui un instradamento diretto dei pacchetti non sia disponibile.

Eseguendo il comando:

di fatto creiamo un server socks sulla nostra macchina locale utlizzabile da qualunque applicazione giri sulla nostra macchina e abbia supporto per il protocollo SOCKS – nel nostro caso Firefox.

Il server socks è in ascolto su localhost:9999 e non richiede alcun tipo di autenticazione – una ottima ragione per lasciarlo in binding solo su localhost.

La particolarità di questo server SOCKS è quella di creare un tunnel tra il nostro laptop e il server ssh remoto e di instradare tutte le connessioni che riceve attraverso questo tunnel.

Una volta che i pacchetti arrivano all’altra estremità del tunnel, vengono inoltrati usando la tabella di routing del server. Al destinatario dei pacchetti sembrerà quindi che la connessione provenga dal server e non dalla nostra macchina “laptop”.

Come bonus, i pacchetti vengono criptati e compressi sul tunnel SSH mentre transitano dal nostro laptop al server.

L’utilizzo di questa tecnica può risultate utile in molteplici occasioni, non solo per vedere la TV estera ove esistano delle limitazioni sugli IP di provenienza:

  • Quando non abbiamo alcuna garanzia che qualcuno non stia sniffando la nostra connessione (per esempio quando usiamo un hotspot) e vogliamo criptare facilmente tutto il nostro traffico che utilizza protocolli in chiaro – non tutti i provider forniscono imaps, pop3s, smtps.
  • Quando alcuni protocolli sono bloccati (p2p vari, smtp)
  • Quando vogliamo nascondere il nostro indirizzo IP
Share

2 thoughts on “Vedere i canali RAI dall’estero

Leave a Reply