Dato il mio recente interesse nel fare una vpn tutta mia ho spulciato varie guide e script per installare openvpn sul mio vps e ho deciso di redigere questa semplice guida.
Per la creazione della vpn ho provato script pubblicati su github, pannelli custom trovati sul web, Openvpn Access Server e Pritunl. Quest'ultimo é risultato il piu' facile da installare e soprattutto non ci sono licenze da pagare (esiste un piano free).
La guida descrive l'installazione su Debian 9, ma in fondo sono presenti link anche per altri sistemi operativi.
A chi é rivolta la guida?
Ad utenti principianti che non sanno installare e configurare manualmente un server vpn e che vogliono facilita' di utilizzo e gestione. Questa guida é rivolta anche ai piú esperti ma solo allo scopo di far conoscere la convenienza di Pritunl.
Requisiti:
- Sapere cos'é un terminale / linea di comando.
- Una macchina su cui installare il server vpn.
- Putty (o un altro metodo per connettersi al terminale della macchina tramite ssh)
Iniziamo! Installazione dei servizi:
Assicuratevi che il vps sia avviato e connettetevi tramite ssh.
Non vi consiglio di connettervi come root ma l'argomento richiede un articolo intero e non può essere discusso in questa guida. Potete eseguire tutti i comandi con privilegi root ma sappiate che non e' una pratica molto sicura, siete liberi di cercare approfondimenti relativi all'argomento se la sicurezza del vostro vps vi preoccupa.
Se utilizzare l'account root rimuovete la parola
I primi comandi da lanciare sono:
Ora dobbiamo aggiungere delle repository, semplicemente usate i seguenti comandi:
Aggiunte le repo dobbiamo aggiungere le key:
Ora installiamo i servizi necessari:
Avviamo i servizi:
Abilitiamo l'avvio dei servizi ad ogni avvio del vps:
Configurazione database:
Installato tutto il necessario si può aprire una nuova scheda nel browser e mettere l'indirizzo ip del server nella barra degli indirizzi e aspettare che la pagina carichi.
Come prima cosa viene chiesto di configurare il database:
La Setup Key possiamo ricavarla usando il seguente comando nel terminale:
Invece l'URI per MongoDB già e' presente e non dobbiamo sostituirlo.
Inseriti i dati richiesti andiamo avanti nella procedura di configurazione cliccando su
Il server configurerà il database e poi chiederà i dati di accesso per il login:
Per visualizzarli basta lanciare il seguente comando nel terminale:
Effettuato il login. Ci viene presentata una finestra in cui possiamo modificare i dati dell'account admin, vi consiglio vivamente di cambiare user e password. Inoltre si possono fare altre modifiche per un livello di configurazione piú avanzata ma che non descrivo in questa guida.
Configurazione Pannello & parte server:
Il pannello di Pritunl (usando il piano free) é costituito da 3 sezioni: Organization, Users e Servers.
Per una configurazione di base bisogna creare una organizzazione (Organization) e un server. L'organizzazione é semplicemente un gruppo di utenti. In configurazioni piú avanzate si possono associare diversi gruppi a uno o piú server.
Spostiamoci nella sezione Users cliccando sulla scheda in alto.
Clicchiamo su
Diamo un nome e clicchiamo su
Ora spostiamoci nella sezione Servers cliccando sulla scheda corrispondete in alto.
Aggiungiamo un nuovo server usando il bottone
Diamo un nome al server e salviamo.
Adesso bisogna associare il gruppo creato prima (l'organizzazione) al server, viene fatto cliccando su
Ora possiamo configurare il routing del traffico della vpn. E' un passaggio opzionale dato che il routing predefinito é impostato su
Sotto la finestra di uotput del server, a destra, clicchiamo il pulsante
Per finire possiamo cliccare su
Conclusioni:
La configurazione é finita e non rimane che spostarci nella sazione Users ed aggiungere utenti all'organizzazione creata prima, cliccando su
Per scaricare il file di configurazione basta usare il pulsante di download sulla riga dell'utente creato.
Risorse & note:
Nella guida ho semplicemente descritto il minimo indispensabile da seguire per avere un server vpn pronto da usare, ma non ho descritto come mettere in sicurezza il proprio server, vi invito a ricercare guide adatte al vostro caso specifico per la messa in sicurezza del vps.
La guida é basata sull'installazione con Debian 9 (Strech), ma se avete un altro sistema operativo sul vps vi invito a dare un'occhiata alle docs ufficiali per l'installazione QUI.
La versione free di Pritunl ha molte limitazioni, per funzioni avanzate come clustering, port forwarding e altro é necessario avere un abbonamento a pagamento. Ciò non toglie che rimane comunque un servizio valido per la facilità di utilizzo e di installazione per chi é alle prime armi.
Per la creazione della vpn ho provato script pubblicati su github, pannelli custom trovati sul web, Openvpn Access Server e Pritunl. Quest'ultimo é risultato il piu' facile da installare e soprattutto non ci sono licenze da pagare (esiste un piano free).
La guida descrive l'installazione su Debian 9, ma in fondo sono presenti link anche per altri sistemi operativi.
A chi é rivolta la guida?
Ad utenti principianti che non sanno installare e configurare manualmente un server vpn e che vogliono facilita' di utilizzo e gestione. Questa guida é rivolta anche ai piú esperti ma solo allo scopo di far conoscere la convenienza di Pritunl.
Requisiti:
- Sapere cos'é un terminale / linea di comando.
- Una macchina su cui installare il server vpn.
- Putty (o un altro metodo per connettersi al terminale della macchina tramite ssh)
Iniziamo! Installazione dei servizi:
Assicuratevi che il vps sia avviato e connettetevi tramite ssh.
Non vi consiglio di connettervi come root ma l'argomento richiede un articolo intero e non può essere discusso in questa guida. Potete eseguire tutti i comandi con privilegi root ma sappiate che non e' una pratica molto sicura, siete liberi di cercare approfondimenti relativi all'argomento se la sicurezza del vostro vps vi preoccupa.
Se utilizzare l'account root rimuovete la parola
sudo
dai comandi di questa guida.I primi comandi da lanciare sono:
sudo apt update
sudo apt upgrade -y
Ora dobbiamo aggiungere delle repository, semplicemente usate i seguenti comandi:
Codice:
sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list << EOF
deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main
EOF
Codice:
sudo tee /etc/apt/sources.list.d/pritunl.list << EOF
deb http://repo.pritunl.com/stable/apt stretch main
EOF
Aggiunte le repo dobbiamo aggiungere le key:
sudo apt install dirmngr
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 9DA31620334BD75D9DCB49F368818C72E52529D4
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com --recv 7568D9BB55FF9E5287D586017AE645C0CF8E292A
sudo apt update
Ora installiamo i servizi necessari:
sudo apt --assume-yes install pritunl mongodb-server
Avviamo i servizi:
sudo systemctl start mongodb pritunl
Abilitiamo l'avvio dei servizi ad ogni avvio del vps:
sudo systemctl enable mongodb pritunl
Configurazione database:
Installato tutto il necessario si può aprire una nuova scheda nel browser e mettere l'indirizzo ip del server nella barra degli indirizzi e aspettare che la pagina carichi.
Come prima cosa viene chiesto di configurare il database:
La Setup Key possiamo ricavarla usando il seguente comando nel terminale:
sudo pritunl setup-key
Invece l'URI per MongoDB già e' presente e non dobbiamo sostituirlo.
Inseriti i dati richiesti andiamo avanti nella procedura di configurazione cliccando su
Save
Il server configurerà il database e poi chiederà i dati di accesso per il login:
Per visualizzarli basta lanciare il seguente comando nel terminale:
sudo pritunl default-password
Effettuato il login. Ci viene presentata una finestra in cui possiamo modificare i dati dell'account admin, vi consiglio vivamente di cambiare user e password. Inoltre si possono fare altre modifiche per un livello di configurazione piú avanzata ma che non descrivo in questa guida.
Configurazione Pannello & parte server:
Il pannello di Pritunl (usando il piano free) é costituito da 3 sezioni: Organization, Users e Servers.
Per una configurazione di base bisogna creare una organizzazione (Organization) e un server. L'organizzazione é semplicemente un gruppo di utenti. In configurazioni piú avanzate si possono associare diversi gruppi a uno o piú server.
Spostiamoci nella sezione Users cliccando sulla scheda in alto.
Clicchiamo su
Add Organization
Diamo un nome e clicchiamo su
Add
Ora spostiamoci nella sezione Servers cliccando sulla scheda corrispondete in alto.
Aggiungiamo un nuovo server usando il bottone
Add Server
.Diamo un nome al server e salviamo.
Adesso bisogna associare il gruppo creato prima (l'organizzazione) al server, viene fatto cliccando su
Attach Organization
dove possiamo selezionare il gruppo e il server da associare.Ora possiamo configurare il routing del traffico della vpn. E' un passaggio opzionale dato che il routing predefinito é impostato su
0.0.0.0/24
, ovvero tutto il traffico internet passa attraverso la vpn.Sotto la finestra di uotput del server, a destra, clicchiamo il pulsante
Remove route
in corrispondenza di 0.0.0.0/24
. Per abilitare il routing solo del traffico del network locale clicchiamo su Add Route
in alto a destra e aggiungiamo 192.168.0.0/24
come network address.Per finire possiamo cliccare su
Start Server
in verde.Conclusioni:
La configurazione é finita e non rimane che spostarci nella sazione Users ed aggiungere utenti all'organizzazione creata prima, cliccando su
Add Users
in alto, basta semplicemente scegliere un nome e cliccare Add
.Per scaricare il file di configurazione basta usare il pulsante di download sulla riga dell'utente creato.
Risorse & note:
Nella guida ho semplicemente descritto il minimo indispensabile da seguire per avere un server vpn pronto da usare, ma non ho descritto come mettere in sicurezza il proprio server, vi invito a ricercare guide adatte al vostro caso specifico per la messa in sicurezza del vps.
La guida é basata sull'installazione con Debian 9 (Strech), ma se avete un altro sistema operativo sul vps vi invito a dare un'occhiata alle docs ufficiali per l'installazione QUI.
La versione free di Pritunl ha molte limitazioni, per funzioni avanzate come clustering, port forwarding e altro é necessario avere un abbonamento a pagamento. Ciò non toglie che rimane comunque un servizio valido per la facilità di utilizzo e di installazione per chi é alle prime armi.