Nessuna categoria

UNA VPN COMPLETAMENTE GRATUITA ANCHE SENZA IP PUBBLICO

Una VPN (Virtual Private Network – Rete Privata Virtuale) gratis in casa o ufficio può sempre tornare utile, vi consente di collegarvi alla vostra rete personale da remoto in qualsiasi luogo vi troviate in maniera assolutamente sicura.
Di soluzioni ve ne sono molteplici. Per tutte il principio di base è quasi sempre lo stesso, serve un qualsiasi dispositivo sul quale installare l’applicazione VPN Server, questo dovrà trovarsi nella rete alla quale vi volete connettere da remoto (es. casa o ufficio) e deve essere raggiungibile tramite un indirizzo IP pubblico. Non importa che l’IP sia statico o dinamico, deve essere pubblico.

Purtroppo questo non è sempre possibile perché molto spesso gli internet service provider forniscono un indirizzo IP nattato, cioè non direttamente raggiungibile. Quello che vi serve è una VPN, gratis, senza la necessità di avere un IP pubblico.

In questo articolo vedremo come rendere raggiungibile la vostra rete di casa o ufficio tramite una VPN, oppure connettervi al server di casa via SSH, anche se il vostro internet provider non vi fornisce un IP pubblico. Considereremo due situazioni, nel primo caso il server a cui vi connetterete è un Raspberry PI mentre nel secondo esempio è un server Synology. In entrambi i casi si tratta di macchine basate su sistema operativo Linux pertanto gli esempi sono facilmente estendibili a qualsivoglia server Linux.

PAGEKITE PER RENDERE IL VOSTRO SERVER VISIBILE IN INTERNET

La soluzione che vi propongo per bypassare il problema dell’IP nattato, e quindi avere una VPN completamente gratis senza IP pubblico, è quella di utilizzare pagekite.
Si tratta di un’applicazione scritta in linguaggio Python che viene eseguita nel server che si vuole rendere visibile. Un’altra applicazione viene eseguita in un server con un indirizzo pubblico. Le due applicazioni si connettono assieme relizzando quello che si chiama tunnel.

Vediamo passo passo come procedere.

Cerazione dell’account Pagekite

Andate alla pagine pagekite.net e createvi un account. Scegliere un “kitename” che vi identificherà d’ora in poi per essere raggiungibili ovunque siate collegati, ad esempio ilvostronome.pagekite.me

Pagekite - tunnel gratis senza IP pubblico

Arriverà una mail per confermare la creazione dell’account, con una password che vi consiglio di cambiare alla prima connessione.

Installazione di Pagekite

Ora collegatevi alla macchina che fungerà da server, vi consiglio caldamente di utilizzarne una con sistema operativo Linux. Andrà benissimo un Raspberry oppure se già avete un server Synology potete utilizzarlo anche per questo scopo. Assicuratevi di avere installato Python.

Iniziate scaricandovi pagekite.py cioè l’applicazione in Python che vi consentirà di effettuare un “tunneling” con un server pubblico. Potete usare il comando

curl -O https://pagekite.net/pk/pagekite.py

Una volta che lo avete salvato nel vostro server siete a buon punto perché il più è fatto.

Eseguite il file

python pagekite.py --signup

Alla richiesta -> Name this kite mettete il nome con il quale vi siete registrati togliendo la parte finale pagekite.me

Pagekite setup

Il sistema riconosce che il nome è già stato registrato e chiede la password che dovrete inserire

Confermare infine il salvataggio delle impostazioni nel file .pagekite.rc

Pagekite tunnelin per VPN gratis

L’installazione è terminata.
Se non è già in esecuzione, eseguite il programma pagekite.py con il comando

python pagekite.py

E’ fatta. Se da un qualsiasi dispositivo connesso ad internet aprite un browser e tentate di collegarvi alla pagina https://ilvostronome.pagekite.me sarete indirizzati alla porta 80 della macchina nella quale avete installato pagekite. Purtroppo, a meno che non abbiate un web server installato, non ve ne renderete conto perché non si aprirà nessuna pagina 🙂 ma il “tunnel” è in piedi, si tratta di capire come sfruttarlo.

Prima di installare il server VPN, vediamo come impostare una connessione SSH.

Connessione ssh

E’ possibile utilizzare il tunnel che avete appena creato per raggiungere il server via ssh.

Aprite il file .pagekite.rc che si trova in HOME nel server dove avete installato pagekite.py e modificare questa riga come segue :

service_on=raw/22:@kitename:localhost:22:@kitesecret

eseguite pagekite.py

python pagekite.py 

A questo punto pagekite ha aperto il tunnelling che ora si può utilizzare per la conessione SSH (via proxy HTTP). Per fare una prova procedete in questo modo.

Installatevi PuTTY nel PC che utilizzarete per connettervi al server e impostare il proxy come segue :

SSH proxy

Quindi connettetevi all’indirizzo yourname.pagekite.me

SSH connection

Se tutto ha funzionato correttamente si aprirà la finestra di login :

SSH login

Link di riferimento : Pagekite – Tunneling SSH over PageKite – (b74ddbe836e3a)

Installazione di piVPN su Raspberry

Passiamo ora all’installazione del server VPN. Come primo esempio supponiamo che stiate utilizzando come server un Raspberry PI. Per l’nstallazione di VPN server date il seguente comando da una shell :

curl -L https://install.pivpn.io | bash

Partirà l’installazione di piVPN, un eccellente VPN server che supporta anche il protocollo Open VPN. Proseguire nella procedura di installazione, ad un certo punto chiederà se abbiamo un indirizzo statico o riservato nel DHCP

Open VPN gratis senza IP pubblico

Selezionate il vostro caso. Io ho riservato un indirizzo tramite DHCP

Selezionate l’utente, nel mio caso pi

Open VPN gratis senza IP pubblico

Nel passaggio successivo selezionate OpenVPN

Open VPN gratis senza IP pubblico

Nel passaggio successivo premete YES e quindi selezionate il protocollo TCP

Open VPN gratis senza IP pubblico

Impostate la porta 1194

Open VPN gratis senza IP pubblico

Al passaggio successivo selezionate CloudFlare per il DNS

Open VPN setup

Selezionare NO per il Custom Search Domain.

Quindi DNS ENtry

Open VPN setup

Mettete il vostro kitename pagekite

Open VPN setup

Alla schermata successiva confermate.

Premete yes alla schermata dell’Installation Mode

Open VPN setup

Impostate la cifratura a 256 bit

Open VPN setup

Al messaggio succssivo premete OK :

Open VPN setup

Premete OK al messaggio sugli Unattended Upgrades e successivamente selezionare NO :

Open VPN setup

Al termine dell’installazione accettate di effettuare il riavvio del Raspberry.

Bisogna ora creare il profilo dell’utente che si collegherà a questa rete da remoto. Da una shell date il comando

sudo pivpn add

Impostate nome e password :

piVPN - Open VPN gratis senza IP pubblico

Verranno ora creati il certificato e le chiavi :

piVPN setup

Nella cartella /home/pi/ovpns troverete un file chiamato lambda.ovpn o il nome che avrete dato all’utente. Dovete recuperare questo file, ad esempio collegandovi al Raspberry via FTP e apportare una correzione, bisogna cioè inserire/correggere le seguenti righe :

proto tcp
remote yourname.pagekite.me 1194
http-proxy yourname.pagekite.me 443

Mettetevi da parte questo file perché vi servirà tra poco.
Tornare al Raspberry e modificate il file .pagekite.rc che si trova in HOME come segue :

service_on=raw/1194:@kitename:localhost:1194:@kitesecret

Eseguite

python3 pagekite.py
pagekite running

E’ fatta, il tunnel verso il vostro server è aperto alla porta 1194 e il VPN Server è in esecuzione. Non vi resta che collegarvi tramite un client Open VPN.

Link di riferimento : Pagekite – OpenVPN Over PageKite – (b74ddbe836e3a)

OPEN VPN Client

Scaricatevi Open VPN Connect (Client) dalla pagina ufficiale OpenVPN Connect – VPN For Your Operating System | OpenVPN ed installatelo sul vostro PC:

Aprite quindi OpenVPN client e create un nuovo profilo

Selezionate UPLOAD FILE

Open VPN client gratis

Quindi Browse e selezionare il file lambda.ovpn che avete modificato come da istruzioni precedenti.

Premete CONNECT

Open VPN client

quindi inserite la password impostata in precedenza.

Siete connessi tramite VPN al vostro Raspberry, senza IP pubblico e totalmente gratis.

Open VPN connected

Qualora vi dovesse servire, appuntatevi il comando per disinstallare piVPN

sudo pivpn uninstall

OPEN VPN SU SYNOLOGY

Vediamo ora un secondo esempio, l’utilizzo di Open VPN su Synology.

Come prima cosa installate nel vostro server Synology il pacchetto VPN Server da Package Center

VPN Server Synology

Installate anche Python

Python

Aprire l’applicazione VPNServer e selezionate Open VPN, quindi mettere la spunta su Enable OpenVPN server

Open VPN Synology

Premete il pulsante Export Configuration.

Salvatevi il file .zip dal quale estrarrete il file di configurazione VPNConfig.ovpn al quale dovete aggiungere le seguenti righe :

remote yourname.pagekite.me 1194
http-proxy yourname.pagekite.me 443

poi mettetelo da parte.

Pagekite su Synology

Aprite una shell e collegatevi sia SSH al vostro server Synology e seguite le istruzioni al paragrafo precedente per installare pagekite se non lo avete già fatto.

Aprite il file .pagekite.rc e modificate questa riga come segue

service_on = raw/1194:yourname.pagekite.me : localhost:1194 : @kitesecret

Ovviamente al posto di yourname andrà il nome con il quale vi siete registrati su pagekite.

Potete fare in modo che pagekite venga eseguito automaticamente all’avvio del server Synology, in questo modo :
Create un file che chiamerete launcher.sh e copiateci all’interno questo testo :

#!/bin/sh
/var/services/homes/nome/pagekite.py

ATTENZIONE: va inserito il path completo in cui si trova il file pagekite.py

Quindi andate su Control Panel e selezionate Task Scheduler

Task Scheduler

Create un nuovo task selezionando Create –> Triggered task –> User-defined script.
Quindi sotto General –> Event –> Boot-up per fare in modo che il task venga eseguito all’accensione.
Poi sotto Task Settings –> Run Command copiateci il path del file sh che avete creato

Task Definition

Connessione con il server e creazione della VPN

Installatevi sul PC OpenVPN client, seguite le istruzioni già fornite in questo paragrafo.

Come file .ovpn selezionate quello che avete esportato e quindi modificato in precedenza.

A questo punto premendo CONNECT dovreste riuscire a collegarvi al vostro server Synology, avete creato una VPN, gratis e senza avere un IP pubblico.

ALTRI ARTICOLI INTERESSANTI

Il Mars Rover, progetto innovativo con Raspberry (lambdaprogetti.it)

GESTIONE SAGRE CON RASPBERRY (lambdaprogetti.it)

Un’app contapassi gratis senza sfronzoli : NDEMO10K (lambdaprogetti.it)