Implementare una VPN site-to-site in Azure con Veeam PN

Quando un’organizzazione decide di adottare servizi offerti da cloud pubblici si trova spesso a dover affrontare la sfida di interconnettere in modo sicuro e gestito utenti e servizi della propria rete con le risorse ospitate nel cloud.

Tipicamente, questo scenario implica mettere in conto i costi del servizio VPN offerto dal vendor del cloud pubblico e il dover configurare un appliance locale seguendo indicazioni e prescrizioni in termini di compatibilità legate a tale servizio.

Ad esempio, nel caso di Microsoft Azure, realizzare una VPN site-to-site prevede la disponibilità nella propria rete locale di un dispositivo VPN “convalidato” (vedi https://docs.microsoft.com/it-it/azure/vpn-gateway/vpn-gateway-about-vpn-devices).

Talvolta potrebbe essere necessario dover collegare una o più sedi della nostra organizzazione a virtual machine o applicazioni che abbiamo collocato su Azure non disponendo però del numero o del tipo di apparati necessari, oppure non essendo possibile alterare la configurazione di quelli esistenti…

In questo articolo vedremo come creare una VPN fra la rete locale aziendale e una subnet in Azure utilizzando il componente gratuito Veeam PN realizzato da Veeam Software (https://www.veeam.com).

Veeam Powered Network (PN)

Veeam PN è un tool di Software Defined Networking (basato su una distro Linux Ubuntu 16.04.1 LTS) che consente di creare in maniera molto semplice e lineare tunnel VPN fra reti aziendali (“site-to site”) o fra un client e la rete aziendale (“point-to-site”).

Si basa sulla tecnologia OpenVPN (https://openvpn.net/index.php/open-source/333-what-is-openvpn.html) la cui implementazione è semplificata da un’interfaccia web che permette di applicare intuitivamente configurazioni e politiche amministrative.

Si può scaricare, previa registrazione gratuita, da qui: https://www.veeam.com/cloud-disaster-recovery-azure-download.html

Il download consiste in un file .ova di circa 1 Gb.

Nota: I file .ova sono “pacchetti” che contengono descrizioni e informazioni di certificazione relative ad una macchina virtuale (nel nostro caso l’appliance Veeam PN) che possono agilmente essere importate in ambiente VMware.

Come anticipato, Veeam PN può aiutarci (e possiamo dire che il tool sia nato proprio per questo scopo) nel creare connessioni protette verso nostre risorse collocate in Azure risolvendo il problema di dover modificare la configurazione di apparati VPN esistenti in conformità con le specifiche indicate da Microsoft:

  • VPN site-to-site, fra una o più sedi della nostra organizzazione ed una nostra subnet in Azure;
  • VPN point-to-site, fra uno o più client ed una nostra subnet in Azure.

Figura 1 – Scenari di implementazione di Veeam PN

Il ruolo svolto da Veeam PN, e quindi la relativa configurazione, dipende dalla collocazione nell’architettura:

  • Network Hub: gestisce il traffico fra la rete che offre i servizi e le reti o i client che devono accedervi in modo protetto; nel nostro schema il ruolo Network Hub di Veeam PN è collocato in Azure.
  • Site Gateway: stabilisce il tunnel VPN fra la rete che offre i servizi ed una rete remota; nel nostro schema, il ruolo Site Gateway è collocato on-premise.

Per consentire ad un singolo computer di accedere ad una rete gestita dal ruolo Network Hub, occorre installare sul PC Windows o Linux il client OpenVPN (https://openvpn.net/index.php/open-source/downloads.html). Per OS X e MacOS seguire le indicazioni riportate qui: https://openvpn.net/index.php/access-server/docs/admin-guides/183-how-to-connect-to-access-server-from-a-mac.html.

Requisiti di Veeam PN

Per installare l’appliance on-premise si raccomanda di utilizzare VMware vSphere versione 5.x o successive. La virtual machine dovrà disporre di almeno 1 CPU, 1GB di RAM e di un disco thin-provisioned di 4 GB. Per fare qualche sperimentazione è anche possibile utilizzare VMware Workstation o Virtual Box, ma non se ne raccomanda l’impiego in produzione.

Per installare l’appliance in Azure, dovremo prevedere una virtual machine almeno di dimensioni A1 (1 core, 1,75GB di RAM, 70 GB di spazio disco.

L’amministrazione di Veeam PN si effettua via browser: le versioni più recenti di Internet Explorer, Edge, Firefox, Chrome sono tutte supportate.

Informazioni sui requisiti e le indicazioni relative all’installazione del client OpenVPN sono disponibili qui: https://openvpn.net/index.php/open-source/documentation/install.html.

Porte utilizzate da Veeam PN:

Da Verso Protocollo Porta
Site Gateway Network Hub TCP/UDP 1194
Computer client Network Hub TCP/UDP 6179
Browser Network Hub o Site Gateway HTTPS 443

Installazione del ruolo Network Hub

Il primo ruolo di Veeam PN da installare è quello di Network Hub su Azure.

Una volta fatto accesso alla sottoscrizione Azure sulla quale abbiamo privilegi amministrativi, selezionare l’opzione Create a Resource e, nella casella di testo, digitare veeam pn, poi premere Invio.

Figura 2 – Create a Resource

Nei risultati della ricerca, fare clic su Veeam PN for Microsoft Azure.

Figura 3 – Veeam PN for Microsoft Azure, trovato!

Nella pagina successiva, fare clic su Create.

Figura 4 – Avvio creazione risorsa

Viene presentata la prima delle schede di configurazione della virtual machine che ospiterà il network appliance.

Fornire un nome per la virtual machine, un nome ed una password per l’account amministrativo, selezionare la sottoscrizione Azure in cui collocare la risorsa, decidere se utilizzare un Resource Group esistente (ma privo di risorse) o se crearne uno ad hoc e la regione Azure in cui desideriamo operare.

Infine, clic su OK.

Figura 5 – Informazioni di base

Nella scheda Veeam PN Settings:

  • Selezionare la dimensione della virtual machine: una Standard A1 può essere sufficiente per sperimentazioni o piccoli carichi di lavoro; in produzione si raccomanda di selezionare almeno una Dv2;
  • Specificare o creare uno Storage Account in cui verrà creato il disco della virtual machine;
  • Dare un nome univoco alla virtual machine;
  • Selezionare la Virtual Network a cui l’appliance sarà connesso (tipicamente la stessa Virtual Network in cui si trovano le risorse che dovranno essere raggiunte tramite VPN) e la relativa Subnet;
  • Fare clic su OK.

Figura 6 – Veeam PN Settings

Nella scheda successiva, Security Settings, selezionare la lunghezza della chiave di cifratura adottata per la generazione del canale sicuro e fare clic su OK.

Figura 7 – Security Settings

Nella scheda VPN Information è possibile selezionare le funzionalità con cui sarà configurato l’appliance Veeam PN e quindi stabilire se sarà possibile consentire connessioni site-to-site o point-to-site o entrambe. È anche possibile specificare protocolli e porte non di default. I valori predefiniti sono UDP 1194 per le connessioni site-to-site e UDP 6179 per le connessioni point-to-site.

Effettuate le scelte, fare clic su OK.

Figura 8 – VPN Information

Nella scheda Summary, dopo una verifica finale dei parametri impostati, è possibile fare clic su OK.

Figura 9 – Summary

Nella scheda successiva fare clic su Create.

Il processo di creazione delle risorse e della macchina virtuale dura pochi minuti.

Figura 10 – Fasi della creazione appliance Veeam PN

Configurazione del ruolo Network Hub

Al termine della creazione della macchina virtuale Veeam PN, è necessario effettuare alcune configurazioni preliminari.

Dal portale amministrativo di Azure, fare clic su Virtual Machines, poi sul nome della macchina virtuale Veeam PN appena creata per visualizzarne le proprietà.

Figura 11 – Indirizzo pubblico appliance

Annotare il Public IP Address (nel nostro caso 40.127.163.70), avviare un browser e connettersi via https.

Effettuare il login con le credenziali amministrative specificate al momento della creazione della virtual machine.

Figura 12 – Login

Nella scheda Azure Setup, fare clic su Next.

Figura 13 – Avvio wizard

Veeam PN richiede che ci si autentichi su Microsoft Azure Active Directory. Copiare il codice di autenticazione fornito e accedere al link indicato nella scheda.

Figura 14 – Codice di autenticazione (CTRL+C)

Incollare il codice nella casella di testo della pagina Web e, se il codice fornito risulta corretto, fare clic su Continua.

Figura 15 – Codice di autenticazione (CTRL+V)

Qualora richiesto, selezionare l’account corrente o specificarne uno diverso che abbia accesso alla sottoscrizione Azure.

Figura 16 – Conferma account

Tornare alla pagina di configurazione di Veeam PN e fare clic su Next.

Figura 17 – Il wizard prosegue

Al termine della configurazione automatica, fare clic su Finish.

Figura 18 – Azure setup completato

Configurazione dell’accesso dalla rete remota

È ora necessario consentire l’accesso al Veeam PN con il ruolo Network Hub da parte del Veeam PN con il ruolo Site Gateway che sarà installato e configurato successivamente.

Nella pagina principale del portale amministrativo di Veeam PN, fare clic su Clients.

Figura 19 – Portale amministrativo Veeam PN

Fare clic su Add.

Figura 20 – Aggiunta client

Nella scheda Add Client selezionare l’opzione Entire
Site e fare clic su Next.

Figura 21 – Opzione Entire Site

Specificare un nome identificativo e la subnet (nel formato CIDR) a cui appartengono gli host on-premise che dovranno connettersi ad Azure tramite VPN. Poi fare clic su Next.

Figura 22 – Informazioni sulla subnet on-premise

Nella scheda di riepilogo, fare clic su Finish.

Figura 23 – Completamento aggiunta client

Viene proposta la finestra di dialogo per il salvataggio del file (.xml) di configurazione che sarà poi necessario importare durante la configurazione del Veeam PN con il ruolo di Site Gateway.

Salvare il file in una posizione successivamente accessibile.

Nel portale amministrativo di Veeam PN è ora presente la rete che abbiamo appena definito come client.

Figura 24 – Conferma dell’aggiunta client

Installazione del ruolo Site Gateway

Passiamo ora a configurare Veeam PN on-premise per poter connettere con un tunnel VPN la rete aziendale ad Azure.

Collocare il pacchetto .ova scaricato dal sito Veeam (https://www.veeam.com/cloud-disaster-recovery-azure-download.html) in una posizione accessibile dall’ambiente VMware.

Per istruzioni dettagliate su come effettuare il deployment di un template OVA in ambiente vSphere: https://docs.vmware.com/en/VMware-vSphere/6.5/com.vmware.vsphere.vm_admin.doc/GUID-AFEDC48B-C96F-4088-9C1F-4F0A30E965DE.html

Figura 25 – Package OVA caricato in vSphere

Qui https://spaces.uncc.edu/display/CKB/Importing+OVA+File+into+VMware+Workstation+14 una guida su come procedere utilizzando invece VMware Workstation (scenario consigliato unicamente nel caso di laboratori o sperimentazioni).

Completato il deployment del pacchetto .ova, dal client vSphere o dalla console di VMware Workstation, ricavare l’indirizzo IP dell’appliance Veeam PN (nel nostro caso 192.168.1.94) e accedervi via browser con le credenziali di default:

  • Utente: root
  • Password: VeeamPN

Figura 26 – Login al Veeam PN on-premise

Viene immediatamente richiesto di cambiare la password di default.

Figura 27 – Cambio password

Nella scheda successiva, Initial Configuration, è possibile scegliere il ruolo che dovrà svolgere questo appliance o se ripristinare la configurazione da un precedente backup.

Nel nostro caso, selezionare l’opzione Site gateway, poiché il ruolo Network Hub è stato precedentemente collocato su Azure, e fare clic su Next.

Figura 28 – Configurazione ruolo

Occorre ora effettuare l’upload del file .xml di configurazione generato durante la configurazione del ruolo Network Hub.

Fare clic su Browse e selezionare il file. Poi fare clic su Finish.

Figura 29 – Completamento configurazione

Dopo qualche secondo, nel portale amministrativo del Veeam PN on-premise viene segnalata l’effettuata connessione con il Veeam PN collocato su Azure.

Figura 30 – Conferma connessione lato on-premise…

Connettersi con il browser al Veeam PN su Azure e verificare che anche da quel lato gli indicatori siano “verdi”,

Figura 31 – …e conferma connessione lato Azure

Test della connessione VPN

Nello schema qui dis eguito, lo scenario oggetto della verifica: il client aziendale appartenente alla sede di Roma (indirizzo IP 192.168.1.246) deve potersi connettere tramite VPN al server AZRSRV01 collocato su Azure (indirizzo IP privato 10.1.0.4).

Figura 32 – Schema scenario da verificare

Nel portale amministrativo di Azure, fare clic su Virtual Machines, poi sulla macchina virtuale Veeam PN. Infine fare clic su Networking. Prendere nota dell’indirizzo IP privato (nel nostro caso 10.1.0.5).

Figura 33 – Rilevamento IP privato appliance Veeam PN su Azure

Accedere al client aziendale collocato nella rete on-premise, aprire una sessione Command Prompt con privilegi amministrativi elevati.

Eseguire il comando:

route -p add x.x.x.x mask y.y.y.y z.z.z.z

Dove:

  • x.x.x.x è l’indirizzo della subnet Azure a cui si desidera accedere
  • y.y.y.y è la relativa Subnet Mask
  • z.z.z.z è l’indirizzo IP del Veeam PN on-premise

Nel nostro caso:

route -p add 10.1.0.0 mask 255.225.255.0 192.168.1.94

Effettuare un tracert verso l’IP privato del Veeam PN su Azure.

Figura 34 – Tracert OK!

Vogliamo ora verificare di poter accedere anche al server collocato nella subnet Azure.

Il server ha come indirizzo privato 10.1.0.4 e non è raggiungibile (per regole di firewall) tramite il suo indirizzo IP pubblico.

Figura 35 – Rilevamento IP privato VM server su Azure

Proviamo ad accedere in RDP al server AZRSRV01 attraverso il suo IP privato 10.1.0.4.

Figura 36 – RDP OK!

WOW!

Instradamento automatico

Si noti che non è stato necessario modificare la routing table del server su Azure, grazie ad uan configurazione effettuata automaticamente dal Veeam PN con il ruolo Network Hub.

Accedere al portale amministrativo di Azure, fare clic su Resource Groups e poi sul nome del Resource Group in cui è stato collocato l’appliance Veeam PN.

Tra i vari elementi presenti, ne è elencato anche uno di tipo Route table.

Figura 37 – Route table creata da Veeam PN

Facendo clic su questo elemento si evidenza come sia stata automaticamente creata una route che inoltra attraverso l’host 10.1.0.5 (il Veeam PN) il traffico indirizzato verso la rete 192.168.1.0/24 (la subnet on-premise).

Tale route è applicata alla subnet su cui sono attestati sia l’appliance Veeam PN che il server AZRSRV01.

Figura 38 – Caratteristiche route table

Magia!

Conclusioni

In questo articolo abbiamo visto, passo per passo, come sia possibile, grazie ad un appliance gratuito realizzato da Veeam, realizzare una VPN site-to-site fra una sede aziendale e una subnet su Azure senza implicare modifiche agli apparati di networking esistenti o dover configurare un VPN Gateway su Azure.