VPN Site-to-Site Azure – Step by Step

In questo articolo vedremo come configurare un tunnel VPN in grado di connettere la nostra rete locale all’ambiente cloud di Azure.

Gli step

  1. Creazione di una rete virtuale – Azure
  2. Distribuizione di un gateway di rete virtuale – Azure
  3. Definire un gateway di rete locale – Azure
  4. Stabilire la connessione tra il gateway virtuale e quello locale – Azure
  5. Creazione del tunnel sul firewall locale – On-prem

1. Creazione di una rete virtuale

Innanzitutto dobbiamo creare una Virtual Network da utilizzare per il nostro gateway VPN. 

  • Creare un Resource group che conterrà tutte le risorse che andremo a configurare
  • Cercare Virtual Network nella barra di ricerca e selezionare Create per iniziare la creazione
  • Selezionare la Subscription che verrà utilizzata, il Resource Group in cui vogliamo creare la nostra rete, scegliamo un Nome ed una Region.
  • Cliccare su Next per configurare la parte relativa agli indirizzi IP
  • Indichiamo uno spazio degli indirizzi, nel nostro caso 10.100.0.0/16.
    NOTA: Quando si creano reti e subnet virtuali, è consigliabile non usare mai intervalli sovrapposti con altre reti presenti in Azure o in locale (anche se non si intende connetterle).
  • Creiamo una Subnet 10.10.25.0/24 all’interno del nostro spazio di indirizzi. Questa sottorete, denominata snet-1 nel nostro esempio, verrà utilizzata a fine configurazione per distribuire una macchina virtuale in modo da poter verificare la connettività VPN. Oltre alla sottorete 10.100.25.0/24, avremo bisogno di una Gateway Subnet in cui risiederà il nostro gateway VPN. La sottorete del gateway può essere creata manualmente una volta creata la rete virtuale oppure successivamente durante la distribuzione del gateway virtuale. Nel nostro caso vedremo più avanti come fare.
  • Una volta aggiunta la subnet cliccare su Next per proseguire

  • La scheda successiva permette di abilitare funzionalità aggiuntive relative alla Sicurezza come Azure Bastion, DDoS Protection e Azure Firewall. Nell’esempio abbiamo lasciato tutto disabilitato
  • Aggiungete dei Tags se intendete categorizzare la risorsa altrimenti cliccate direttamente su Review + Create per creare la rete.

2. Distribuire gateway di rete virtuale di Azure

  • Nella barra di ricerca cerchiamo Virtual Network Gateways e successivamente Create
  • Selezionare lo stesso gruppo di risorse utilizzato per la rete virtuale e la stessa area geografica utilizzati in precedenza. 
  • Seleziona lo SKU e la Generazione in base alle tue esigenze, Consulta la documentazione di Microsoft sui diversi SKU. Nel nostro scenario di test abbiamo utilizzato il Basic ma VpnGw2 forse è quella che offre il giusto compromesso.
  • Selezionare la Rete Virtuale Creata in precedenza
  • Aggiungere una sottorete per il GatewaySubnet di cui parlavamo in precedenza. Nel nostro caso 10.100.0.0/24
  • Selezionare il tipo di IP pubblico che verrà creato o associarne uno se già disponibile
  • Cliccare su Review + Create per confermare la creazione

NOTA: La creazione del gateway di rete virtuale può richiedere fino a 45 minuti per la distribuzione. Dopo la creazione è possibile visualizzare l’ip pubblico associato al Gateway, nel nostro caso è 40.112.93.23.

3. Definisci gateway di rete locale

Durante la distribuzione del nostro gateway di rete virtuale, possiamo iniziare definendo i nostri endpoint locali. 

  • Cerca Local Network Gateways nella barra di ricerca di Azure e clicca su Create
  • Specifica l’indirizzo WAN del gateway locale. Assicurati anche di definire l’intervallo IP delle tue reti locali, in questo caso 192.168.1.0/24.

4. Configura connessione site-to-site

Una volta che il gateway di rete virtuale è stato distribuito, è necessario definire una connessione da sito a sito. 

  • Entrare nel Virtual Network Gateway creato e nel menu di sinistra selezionare Connections e successivamente + Add
  • Selezionare un Nome per la connessione
  • Il tipo di connessione site-to site (IPsec)
  • Selezionare il Local Network Gateway precedentemente creato
  • Specificare una chiave PSK che verrà utilizzata per connettersi al gateway di rete virtuale. Questa parola chiave sarà necessaria una volta che andremo a configurare il tunnel IPsec dal firewall in locale quindi annotatela.
  • IKE Protocol nel nostro caso avendo scelto il tipo di VPN Basic e Policy-Based è supportato solo IKEv1, se in precedenza avete scelto come SKU ad esempio VpnGw2, allora potete selezionare IKEv2. L’importante è che quando andremo a configurare il tunnel in locale selezionerete lo stesso algoritmo di crittografia

5. Configurazione locale

La configurazione locale viene eseguita direttamente su un firewall, il procedimento è simile per i diversi dispositivi disponibili in commercio.

Nel nostro caso utilizziamo un Fortinet Fortigate; per configurare il nostro firewall locale è necessario:

  • configurare le interfacce di fase 1 e fase 2
  • creare le policy in ingresso e in uscita
  • creare il routing per indirizzare il traffico nel tunnel VPN.
CONFIGURAZIONE TUNNEL IPSEC (phase 1 e phase 2)
  1. Loggati al firewall per iniziare configurando l’interfaccia di fase 1 come segue nella CLI di FortiOS oppure utilizzando il wizard guidato che trovi nella scheda VPN.
  2. Imposta l’interfaccia sull’interfaccia rivolta verso l’esterno, nel nostro caso wan1.
  3. Se il tuo FortiGate è dietro NAT, inserisci l’indirizzo IP privato locale dell’interfaccia per local-gw. In caso contrario, questo passaggio non è necessario.
  4. Per le combinazioni di algoritmi e parametri utilizzati dai gateway VPN usare quelli supportati da Azure come descritto nei parametri IPsec/IKE. Nel nostro esempio selezioneremo IKEv1 per i motivi speiagati in precedenza.
  5. Per il gateway remoto, usare l’indirizzo IP pubblico del Gateway Virtuale, 40.112.93.23 nel nostro caso.
  6. Per la chiave PSK, usare quella configurata durante la creazione di una connessione per il gateway VNet in Azure. Nel nostro caso “cloudsurfers”.
  7. Se lo si desidera, configurare il rilevamento dead peer detection (dpd-retryinterval).

Ecco i relativi comandi CLI alla luce di quanto detto:

config vpn ipsec phase1-interface

 edit "ToAzureVPN"

   set interface "wan1"

   set local-gw 192.168.1.254     (opzionale, se dietro NAT)

   set keylife 28800

   set peertype any

   set proposal aes256-sha256 3des-sha1 aes128-sha1 aes256-sha1

   set dhgrp 2

   set remote-gw 40.112.93.23

   set psksecret cloudsurfers

   set dpd-retryinterval 10   (opzionale)

 next

end

Configurare l’interfaccia di fase 2 come segue:

  1. Scegliere un nome per la fase 2
  2. Per phase1name, immettere il nome dell’interfaccia phase-1 come configurato nel passaggio 1.
  3. Per la combinazioni di algoritmi, usa quelli supportati da Azure come descritto nei parametri IPsec/IKE.
  4. Disabilita PFS. Azure non lo supporta nelle connessioni in modalità basata su criteri.
  5. Puoi abilitare la negoziazione automatica.
  6. Impostare la durata della chiave su 3600 secondi.
  7. Configura la sottorete di origine dietro il FortiGate locale.
  8. Configurare la subnet di destinazione per il CIDR della rete virtuale di Azure.
config vpn ipsec phase2-interface

 edit "ToAzureVPN"

  set phase1name "ToAzureVPN"

  set proposal aes256-sha1 3des-sha1 aes256-sha256 aes128-sha1

  set pfs disable

  set auto-negotiate enable

  set keylifeseconds 3600

  set src-subnet 192.168.1.0 255.255.255.0

  set dst-subnet 10.100.0.0 255.255.0.0

 next

end
CONFIGURARE LE POLICY PER ACCETTARE IL TRAFFICO IN INGRESSO E IN USCITA

Configuriamo ora le policy del firewall per permettere il traffico in ingresso e in uscita sull’interfaccia VPN. Questa volta utilizziamo la GUI, dal menu selezioniamo Policy & Objects> Firewall Policy> +Create new.

Per la policy in uscita indichiamo:

  • Un nome unico per la policy
  • l’interfaccia di ingresso, la nostra rete interna
  • l’interfaccia di uscita, l’interfaccia riferita alla fase 1 del nostro tunnel
  • L’intervallo di origine. Nel nostro caso abbiamo creato un range di indirizzi ip riferito alla nostra rete interna che va dal 192.168.1.1 al 192.168.1.254 (oppure impostare ALL).
  • La destinazione invece è tutta la subnet di Azure ossia 10.100.0.0/16 nel nostro caso
  • Disabilitiamo il NAT

Per il traffico in ingresso invece:

  • Un nome unico per la policy
  • l’interfaccia di ingresso, l’interfaccia riferita alla fase 1 del nostro tunnel
  • l’interfaccia di uscita, la nostra rete interna
  • Come origine la subnet di Azure
  • Come destinazione invece i nostri indirizzi interni (oppure ALL)
  • Disabilitiamo il NAT

cONFIGURARE il routing per CONSENTIRE AL TRAFFICO DI ENTRARE NEL TUNNEL VPN

Creiamo infine il routing verso il nostro gateway di Azure; dal menu selezioniamo Network> Static Routes> + Create New e inseriamo:

  • L’indirizzo della subnet di testinazione
  • L’interfaccia del tunnel
  • impostiamo la Distanza ad una minore rispetto al route principale per fare in modo che tutto il traffico destinato ad Azure venga indirizzato correttamente. Nel nostro caso l’abbiamo impostata a 2.

Per verificare la connessione:
In FortiOS, vai su Dashboard> Network> IPsec Monitor per vedere se il tunnel è attivo. Se non è attivo, attivalo manualmente facendo click con il tasto destro o utilizzando l’apposito pulsante.

Una volta che il tunnel sarà connesso è possibile verificare la connessione aggiungendo una macchina virtuale di test alla subnet di Azure.

Se hai bisogno di aiuto Contattaci, saremo in grado di ospitare le tue risorse o semplicemente guidarti nella configurazione ideale per il tuo ambiente!

1 commento su “VPN Site-to-Site Azure – Step by Step

  1. Pingback: Windows 365 Step by Step | Fontana Marco IT Consulting

I commenti sono chiusi.