Guida all'installazione e configurazione di Openvpn su Proxmox

Guide

Scritto da Luigi Duchi

Sempre più spesso sento dire in rete che Proxmox è inutile per la sola installazione di Home Assistant.

Niente di più vero.

Utilizzare Proxmox per la sola installazione di Home Assistant è veramente uno spreco di risorse soprattutto se si ha a disposizione un mini PC piuttosto prestante.

Tuttavia sappiamo benissimo che per gestire la Domotica con Home Assistant esso deve essere operativo h24, perché allora non sfruttare Proxmox per installare altre Virtual machine o LXC

Oggi vedremo come installare un server VPN (Virtual Private Network o Rete virtuale privata) sul nostro Proxmox per poterci connettere alla nostra rete anche al di fuori della nostra abitazione come se fossimo in rete locale creando una connessione di privata che trasmette dati sulla rete pubblica in modo anonimo e sicuro.

Utilizzeremo OPENVPN (https://openvpn.net/).

Prima di andare avanti facciamo un doveroso passo indietro.

Ricordate come installare Proxmox? NO?

Seguite questa Guida QUI dovreste riuscire ad avere il vostro Proxmox Funzionante sul vostro mini pc.

Per chi non lo sapesse Proxmox è un sistema operativo che si basa su Linux (Debian) che crea un leggerissimo ambiente di virtualizzazione dove poter creare e gestire le VM che desideriamo.

Il primo passaggio da effettuare è scaricare il client di OPENVPN. È possibile installarlo praticamente per ogni piattaforma. Nella guida di oggi vedremo l'installazione per Windows ma la procedura è identica per ogni sistema operativo. Linux, MacOS, IOS , Android e addirittura ChromeOS.

Scaricate il client da questo LINK QUI e installatelo sul vostro PC windows 

QUI  Troverete il client per MacOS 

QUI troverete i comandi per installare il client su LINUX

e troverete le relative app sia su iOS che su Android sui rispettivi store.

Playstore

Appstore.

Una volta installato il client apritelo.

Questa è la schermata che si presenterà

Cliccate su FILE

Noterete che avrete la possibilità di caricare un file con estenzione .OVPN

Tale file altro non è che il certificato generato dal server per autenticare il dispositivo.

Lasciamo l'app aperta minimizzandola e andiamo a lavorare su Proxmox per installare il server Openvpn.

Dovremo andare a creare un container basato su Ubuntu all'interno di proxmox. Seguite tutti i passaggi e non avrete difficoltà.

Cliccate su local(pve) successivamente su CT Templates.

Cliccate in alto su Templates e successivamente scaricate lxc ubuntu-18.04-standard una volta installato lo troverete sotto la voce name nella pagina dei CT Templates.

Cliccate su Create CT in alto a destra.

alla voce Hostname inserite un nome a piacimento per il vostro container nell'esempio ho usato vpnmissingtech 

scegliete una password e inseritela alla voce password e alla voce confirm password.

successivamente cliccate su NEXT.

Alla voce Template scegliete ubuntu-18.04-standard....

Successivamente cliccate su NEXT

Disk size lasciate 8 di default e cliccate su NEXT

Anche la CPU lasciate un Cores e cliccate su NEXT

Anche la memoria lasciate i valori di default e cliccate su NEXT

Impostate su DHCP sia IPv4 che IPv6 e cliccate su NEXT

A meno di configurazioni particolari, alla voce DNS mettete 8.8.8.8, alla voce DNS domain e 8.8.4.4 alla voce DNS servers.

cliccate poi su NEXT.

Fate attenzione a non spuntare la voce Start after created perchè avrete necessità di effettuare ulteriori passaggi una volta configurato il container. Cliccate quindi su Finish.

Dopo che vedrete la voce TASK OK nel LOG che vi si presenterà, noterete che nella colonna di sinistra ci sarà il vostro container creato. Ovviamente non è ancora avviato.

Cliccate su PVE e successivamente su Shell.

Digitate il seguente comando per andare al percorso designato cd /etc/pve/lxc successivamente premete invio.

Digitate il comando ls

Se avrete un solo container vi apparirà il suo codice seguito da .conf nel mio caso 105.conf 

Scrivete il comando nano il vostro numero.conf nel mio caso nano 105.conf cliccate su invio

andate con il cursore in fondo alla pagina del file che vi si apre e aggiungete queste due stringhe:

lxc.cgroup.devices.allow: c 10:200 rwm

lxc.mount.entry: /dev/net dev/net none bind,create=dir

Successivamente salvate il file con la combinazione di tasti ctrl+x e successivamente cliccate Y in seguito cliccate il tasto invio.

Adesso dovrete lanciare il comando seguente:

chown 100000:100000 /dev/net/tun

cliccate invio per eseguirlo.

Per controllare che tutto sia andato a buon fine lanciate il seguente comando seguito dal tasto invio:

ls -l /dev/net/tun

Dovreste trovare un risultato del genere, se tutto è andato come previsto.

Cliccate nel menù a sinistra sul vostro container nel mio caso 105 (vpnmissingtech)

Cliccate su console e successivamente sul pulsante Start Now

Appena il container si sarà avviato vi chiederà i dati di login alla voce login scriverete root e premerete invio

alla richiesta della password scriverete la password che avete creato durante la creazione del container all'inizio della guida, in seguito cliccate invio.

scrivete il classico comando per aggiornare linux ovvero:

apt upgrade && apt update -y

al termine dei download digitate nuovamente il comando 

apt upgrade && apt update -y

se ve lo chiede digitate Y e premete invio

al termine dell'aggiornamento digitate nuovamente il comando:

apt upgrade && apt update -y

per essere certi che tutto sia stato aggiornato.

se è tutto ok vi comparirà la scritta

All package are up to date.

Una volta che tutti i pacchetti saranno aggiornati lanciate questo comando:

apt install openvpn git e premete invio

Digitate Y quando ve lo chiederà e confermate con invio

Al termine dell'installazione dovrete digitare il seguente comando seguito dal tasto invio:

git clone https://github.com/Nyr/openvpn-install

Una volta effettuata l'installazione andate nella cartella openvpn-install con il seguente comando:

cd openvpn-install

arrivati a questo punto dovrete lanciare uno script con il comando bash. Tenete presente che dovrete lanciare questo script da questa cartella ogni volta che vorrete generare un nuovo certificato per un nuovo client ad esempio se vorrete utilizzare Openvpn su uno smartphone o su di un altro computer, ecc...

lanciate quindi il comando:

bash openvpn-install.sh e premete invio.

sul file che vi si apre cliccate su invio alla voce ip pubblico che ho mascherato per privacy.

alla domanda successiva digitate 1 e premete invio sceglierete cosi il protocollo UDP

Alla domanda su quale porta usare di default openvpn vi propone la 1194. Devo dire che molti provider bloccano quella porta e comunque è una porta molto bersagliata, ne sceglierei una diversa, infatti per questo test ho usato la porta 1234, scegliete quella che più vi aggrada purché sia libera.

Alla domanda su quale DNS vorrete utilizzare digitate 3 e poi premete invio utilizzerete cosi i DNS di Cloudflare.

A questo punto dovrete scegliere un nome per il vostro client. Potrete scrivere quello che volete, ma il mio consiglio è quello di scegliere un nome che identificherà il dispositivo sul quale andrete ad installare questo certificato, nel mio caso pcmissingtech.

Cliccate nuovamente invio per far partire l'installazione.

Come notate al termine dell'installazione il container vi avvertirà che il file ovpn, che nel mio caso è chiamato pcmissingtech.ovpn, è nel percorso /root

Digitate quindi il comando cd seguito dal tasto invio per tornare alla radice.

Una volta alla radice digitate il comando ls

Noterete che ci sarà un file con estensione .ovpn nel miocaso pcmissingtech.ovpn

Digitate il comando:

cat pcmissingtech.ovpn e premete invio ovviamente dovrete aver cura di sostituire il nome pcmissingtech con quello da voi scelto ad esempio:

cat sudomagodo.ovpn

Il comando vi genererà un file lunghissimo dovrete copiarlo tutto partendo dalla parola client fino alla parola  compresa

Una volta copiato la serie lunghissima di codice aprite un file di testo su windows e incollateci tutto il codice.

Una volta incollato cliccate su salva con nome nel menù file del blocco note di windows.

Nel menù salva come dovrete selezionare Tutti i file.

e al nome file dovrete mettere il nome del vostro file nel mio caso pcmissingtech.ovpn salvatelo sul desktop del pc.

Aprite il programma OpenVPN Connect andate su file e trascinate il file .ovpn appena creato sul simbolo della nuvola.

Su server Hostname comparirà il vostro IP pubblico su Profile name potrete cancellare tutto quello che c'è scritto e dare un nome a vostro piacimento.

Prima di cliccare su connect dovrete ricordarvi di aprire la porta sul vostro router.

Quale porta? Quella che avete scelto in fase di configurazione ricordate? Nel mio caso 1234

Questa porta la dovrete aprire sull'ip del vostro container con il protocollo UDP.

Non vi faccio vedere come aprire la porta perchè tale procedura varia da Router a Router.

Ma quale è l'ip del vostro container?

Per scoprirlo tornate su Proxmox.

Selezionate il vostro container, nel mio caso 105 (vpnmissingtech), e cliccate su console.

digitate il comando ip address

Nel mio caso 192.168.1.153

Visto che andate sul Router per aprire la porta non perdete l'occasione di prenotare l'ip con il DHCP reservation in modo che il Router assegni sempre il medesimo indirizzo ip. Ovviamente non vi dimenticate di aprire la porta sopra menzionata su quell'ip.

TUTTO PRONTO!!!!

Volete provare se funziona?

Connettete il vostro pc ad una connessione che non è nella vostra LAN ad esempio al WiFi generato dall'hotspot del vostro smartphone.

Una volta connesso provate a raggiungere un ip interno della vostra rete.

Noterete che sarà irraggiungibile.

Non demordete aprite OpenVPN Connect e abilitate lo Switch.

Noterete che una volta abilitata la VPN potrete raggiungere i vostri indirizzi anche se in questo caso il PC è connesso al vostro hotspot... Questo funzionerà con qualsiasi connessione fuori dalla vostra LAN il vostro pc si connetterà.

Vi lascio in compagnia del video di fine articolo che vi spiegherò passo passo tutti i procedimenti.

Produrre e aggiornare contenuti su vincenzocaputo.com richiede molto tempo e lavoro. Se il contenuto che hai appena letto è di tuo gradimento e vuoi supportarmi, clicca uno dei link qui sotto per fare una donazione.

Luigi Duchi

Nato a Grosseto il 24 Dicembre 1982 perito elettrotecnico che lavora nel mondo della domotica e installazione di impianti elettrici, impianti di allarmi, videosorveglianza e automazioni in genere. Appassionato da sempre di tecnologia e aperto alla conoscenza di nuove soluzioni.


Vai ai commenti