Guida Server Openvpn + pannello web, veloce e facile da installare con Pritunl

CokePhi

Bannato
27 Novembre 2017
270
14
90
107
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 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:

37601


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:

37602



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

37603



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.

37604



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.