PDA

Voir la version complète : [GUIDA] OpenVPN sul Dreambox



faggia
01/07/2014, 12h41
Guida ad OpenVPN sul Dreambox


Prima di tutto, perché utilizzare OpenVPN? Due sono i principali motivi.

1. OpenVPN crea una piccola rete locale, molto più sicura rispetto alla rete internet
tradizionale, nella quale le Dreambox utilizzano appunto indirizzi ip privati, e
quindi non accessibili dall'esterno.

2. Permette il dialogo fra IP dietro NAT (come Fastweb) con IP pubblici delle normali
adsl (come alice, libero, tiscali, ecc).

Quest'ultimo vantaggio ci permette ad esempio di fare da server con Fastweb e di avere
dei client sia Fastweb sia non.
Il protocollo OpenVPN, utilizzato soprattutto sui computer, è stato portato sotto forma
di plugin sulle nostre Dreambox ed è presente in diverse immagini tra cui Sifteam e
Nabilo (purtroppo non ancora disponibile su Gemini).
Nella guida ho utilizzato l'immagine Sifteam 1.8.4 MaxVar, che ci permette di installare il
plugin ed anche un emulatore persino sulla poco spaziosa Dm 500s.
Il primo passo è quindi quello di installare l'immagine, in questo caso la Sifteam 1.8.4.
Fatto questo, dopo aver inserito la lista canali a proprio piacimento, nel menù degli
Addon, accessibile premendo il tasto BLU, poi GIALLO, infine BLU, troverete sotto i
Plugins la voce Openvpn; premiamo il tasto OK per scaricarla ed installarla.
Fatto ciò scaricate sempre dal menu Addon, alla voce Softcam il vostro emulatore
preferito, Cccam, Newcs, Gbox, quello che usate di solito insomma.
Passiamo alla configurazione della Openvpn.
I file da configurare sono accessibili nella cartella /var/etc/openvpn
Prendiamo un programma FTP, accediamo al Dreambox, ed entriamo nella cartella
/var/etc/openvpn.
A questo punto dobbiamo fare una distinzione, fra utilizzo dell'OpenVPN con 1 solo
client, o con 2 o più client, poiché i file di configurazione saranno diversi.
Mi spiego meglio; se avete ad esempio 1 solo client fuori fastweb, allora utilizzeremo
una configurazione P2P, mentre se i client saranno più di 1 allora utilizzeremo una
configurazione a più client.
Nel caso abbiate più client, ma 1 solo è fuori Fastweb, la configurazione p2p va
benissimo.
Seguite a questo punto la configurazione che più si adatta alle vostre esigenze.


CONFIGURAZIONE P2P (un solo client)

Per questa configurazione ci servono veramente pochi passaggi e pochi file.
Accediamo tramite FTP nella cartella /var/etc/openvpn e cancelliamo tutti i file ad
eccezione di serverp2p.conf sulla macchina che farà da SERVER, e clientp2p.conf, sulla
macchina che farà da CLIENT.
Anche nella sottocartella /var/etc/openvpn/keys possiamo cancellare tutti i file ad
eccezione di sif.key che rappresenta la chiave di autorizzazione necessaria per stabilire
un collegamento fra client e server.
E' importante che la dreambox che fa da SERVER abbia un IP pubblico, quindi NON deve
essere Fastweb. Da non confondere il termine SERVER, nella configurazione Openvpn,
con il server dell'emulatore.
Un SERVER Openvpn, potrà benissimo fare da CLIENT CCcam o Gbox, cosi come un
CLIENT Openvpn potrà fare da SERVER Cccam o Gbox.
Ora passiamo a modificare i file serverp2p.conf e clientp2p.conf.



LATO SERVER (CONFIGURAZIONE p2p)


Modifichiamo per primo il serverp2p.conf presente nella dreambox SERVER.
Aprendolo andiamo a cancellare tutto il suo contenuto e scriviamo:

dev tun0
ifconfig 10.8.0.1 10.8.0.2
port 1194
keepalive 10 120
verb 5
secret /var/etc/openvpn/keys/sif.key


I vari campi corrispondono a:
port 1194 indica la porta sulla quale verra creato un “tunnel” Openvpn; potete
cambiarla a piacimento, a patto di aprire la giusta porta anche sul router collegato alla
Dreambox.
Ifconfig 10.8.0.1 10.8.0.2 assegna degli ip alle due dreambox, nel nostro caso 10.8.0.1
per il server e 10.8.0.2 per il client.
Verb 5 dice quanto dovrà essere dettagliato il file di log; parte da 0 (scrive solo gli errori
critici) a 9 (scrive molti dettagli nel file di log)
dev tun0 assegna un driver virtuale di rete dedicato alla connessione Openvpn
secret /var/etc/openvpn/keys/sif.key dice dove risiede il file, presente sia lato client
che server per l'autenticazione.
Keepalive 10 120 mantiene aperta la connessione in caso il client non risponde,
pingando ogni 10 secondi all'ip del client. Disattiva la connessione dopo 120 ping falliti.
Utile se si perde per pochi secondi la connessione internet, in questo modo non viene
creato un nuovo “tunnel” ma si ristabilisce quello gia esistente.
log /var/etc/openvpn/openvpn.log che in questo caso ho omesso, crea un file di log
che registra tutti gli errori o altri dettagli della connessione. E' utile per capire se ci
sono dei problemi, ma molto scomodo in quanto assume dimensioni enormi e va a
intasare la memoria della dreambox.


LATO CLIENT (CONFIGURAZIONE p2p)


Sul client avremo invece il file clientp2p.conf in questo modo:

dev tun0
remote indirizzoIPdelserver
port 1194
ifconfig 10.8.0.2 10.8.0.1
resolv-retry infinite
persist-tun
persist-key
verb 5
secret /var/etc/openvpn/keys/sif.key





In questo caso abbiamo aggiunto 2 nuove voci rispetto al server:
resolv-retry infinite continua ad interrogare il server finchè non riesce a connettersi,
utile quando il server viene avviato DOPO il client, o il server perde la connessione.
Persist-tun e persist-key parametri utili quando si perde la connessione con il server,
per poi riprenderla.
Inoltre dovremo modificare il campo in rosso con l'indirizzo IP del nostro server.
Nel caso il server abbia un indirizzo non fisso potremo inserire il nome dell'hostname
fornito da no-ip.com o da un altro sito.
Esempio : remote pippo.no-ip.info nel caso di un indirizzo non fisso
Ora che abbiamo configurato sia il client che il server possiamo avviare l'Openvpn sulle
nostre Dreambox, non prima però di aver aperto sul router collegato alla Dreambox che
fa da server la porta 1194 UDP
Sulla Dream, premendo il tasto GIALLO dal telecomando, e poi Openvpn entreremo nella
pagina per avviare la connessione.
E' consigliabile far partire sempre PRIMA il SERVER e poi il CLIENT.
Per fare ciò basterà premere il tasto BLU per selezionare il file di configurazione.
Muovendosi con le freccette destro e sinistro selezioniamo server2p2.conf lato server e
clientp2p.conf lato client.
Diamo OK, accertiamoci che sia presente la voce Start, e premiamo ancora OK dal
telecomando.
Ora le due Dream dovrebbero essere collegate in VPN.
Per utilizzare l'Openvpn nell'emulatore basterà fare riferimento agli indirizzi IP assegnati
nei file di configurazione.
Se non li avete modificati il Server avrà IP 10.8.0.1, il client 10.8.0.2.

ESEMPIO CON CCCAM
Ipotizzando una configurazione utente Fastweb (Client della rete Openvpn ma Server
CCcam) che shara ad utente NON Fastweb (Server della rete Openvpn ma Client CCcam)
, l'utente Fastweb dovrà dare la riga C line utilizzando l'ip 10.8.0.2
ES. C: 10.8.0.2 12000 user pass yes




CONFIGURAZIONE A PIU' CLIENT

Questa configurazione è leggermente più complicata della precedente, ma ci permette
di avere più di un client collegati tra loro e con il server in una rete privata.
In particolare con questo tipo di configurazione avremo bisogno dei certificati, ovvero
dei file che permettono al server di identificare i diversi client; il lavoro è comunque
molto facilitato poiché i certificati sono gia presenti nel plugin OpenVPN che abbiamo
installato sulla Dream.
E' importante che la dreambox che fa da SERVER abbia un IP pubblico, quindi NON deve
essere Fastweb.
Da non confondere il termine SERVER, nella configurazione Openvpn, con il server
dell'emulatore.
Un SERVER Openvpn, potrà benissimo fare da CLIENT CCcam o Gbox, cosi come un
CLIENT Openvpn potrà fare da SERVER Cccam o Gbox.
Ora passiamo a modificare i file del server e dei client.



LATO SERVER (CONFIGURAZIONE A PIU' CLIENT)


Nel server accediamo tramite FTP in /var/etc/openvpn/ e cancelliamo tutti i file ad
eccezione di server.conf e ipp.txt. Nella sottocartella keys invece dovranno restare solo
i file:
server.key
server.crt
ca.crt
sif.key
dh1024.pem
Passiamo alla configurazione del file server.conf
Apriamolo e cancelliamo tutto il suo contenuto e inseriamo:




port 1194proto udp
dev tun
ca /var/etc/openvpn/keys/ca.crt
cert /var/etc/openvpn/keys/server.crt
key /var/etc/openvpn/keys/server.key
dh /var/etc/openvpn/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist /var/etc/openvpn/ipp.txt
keepalive 10 120
tls-auth /var/etc/openvpn/keys/sif.key 0max-clients 100
persist-key
persist-tun
verb 5

Salviamolo e sovrascriviamo il file presente sulla Dreambox.


LATO CLIENT (CONFIGURAZIONE A PIU' CLIENT)

Nel dreambox Client accediamo tramite FTP in /var/etc/openvpn/ e cancelliamo tutti i
file ad esclusione di client.conf mentre nella sottocartella /keys andremo a lasciare i
file
ca.crt
clienX.crt
clientX.key
sif.key
Dove la X in rosso rappresenta il client che andremo a configurare, poiché ogni client
dovrà avere un file di certificazione diverso.
ESEMPIO: Per il primo client utilizzeremo i file

ca.crt
clien1.crt
client1.key
sif.key

per il secondo

ca.crt
clien2.crt
client2.key
sif.key

ecc...

Ora modifichiamo il file client.conf, cancellando il suo contenuto e inserendo


client
dev tun
proto udp
remote xxxxxx.dyndns.info 1194resolv-retry infinite
nobind
persist-key
persist-tun
mute-replay-warnings
ca /var/etc/openvpn/keys/ca.crt
cert /var/etc/openvpn/keys/client1.crt
key /var/etc/openvpn/keys/client1.key
tls-auth /var/etc/openvpn/keys/sif.key 1
verb 5

Dove xxxxxx.dyndns.info andrà sostituito con l'indirizzo IP del server.
Nel caso il server abbia un indirizzo non fisso, potremo inserire il nome dell'hostname
fornito da no-ip.com o da un altro sito.
Esempio : remote pippo.no-ip.info 1194 nel caso di un indirizzo non fisso

I campi in rosso

cert /var/etc/openvpn/keys/client1.crt
key /var/etc/openvpn/keys/client1.key




andranno invece sostituiti inserendo il giusto numero a seconda del client in questione.
Salviamo e sovrascriviamo anche questo file.
Ora che abbiamo configurato sia i client che il server possiamo avviare l'Openvpn sulle
nostre Dreambox, non prima però di aver aperto sul router collegato alla Dreambox che
fa da server la porta 1194 UDP.
Premendo il tasto GIALLO della dream dal telecomando e poi Openvpn, entreremo nella
pagina per avviare la connessione.
E' consigliabile far partire sempre PRIMA il SERVER e poi i CLIENT.
Per fare ciò basterà premere il tasto BLU per selezionare il file di configurazione.
Muovendosi con le freccette destro e sinistro selezioniamo server.conf lato server e
client.conf lato client.
Diamo OK, accertiamoci che sia presente la voce Start e premiamo ancora OK dal
telecomando.
Ora le Dream dovrebbero essere collegate in rete VPN.
Per utilizzare l'Openvpn nell'emulatore che utilizzate basterà fare riferimento agli
indirizzi IP assegnati nel file di configurazione ipp.txt ovvero:
SERVER IP : 10.8.0.1
CLIENT1: 10.8.0.4
CLIENT2: 10.8.0.8
CLIENT3: 10.8.0.12CLIENT4: 10.8.0.16
CLIENT5: 10.8.0.20
ESEMPIO CON CCCAM
Ipotizzando una configurazione utente Fastweb (CLIENT1 della rete Openvpn ma Server
CCcam) che shara ad utente NON Fastweb (SERVER della rete Openvpn ma Client CCcam)
, l'utente Fastweb dovrà dare la riga C line utilizzando l'ip 10.8.0.4


ES. C: 10.8.0.4 12000 user pass yes

Mariano84
12/09/2014, 14h00
Questa è una guida che ho spesso letto sul web ma trovo che contenga un grave errore, determinante per la sicurezza. Infatti la robustezza di una rete vpn dipende dalla segretezza delle chiavi. Se lasciamo quelle di default presenti nella cartella "keys" del dream, la rete diventa facilmente accessibile da chi abbia qualche conoscenza di reti (non che sia alla portata di tutti, naturalmente). É un pò come lasciare la password di default del dream. Poiché la creazione di nuove chiavi richiede solo pochi minuti, sarebbe meglio creare le proprie.

Lucadp
06/11/2014, 08h22
Poiché la creazione di nuove chiavi richiede solo pochi minuti, sarebbe meglio creare le proprie.
Potresti indicarmi come fare per creare le chiavi private?
Io finora ho usato Openvpn per collegarmi a Private Tunnel però mi accingo a cambiare configurazione e creare una VPN privata coi client...
Inoltre ho notato che la sottocartella "keys" non ce l'ho...si può ripristinare?
Grazie! :)