Azure Network: Configurare Multisite VPN

Microsoft Azure

Autore: Nicola Ferrini

 

In questo articolo vedremo come realizzare una connessione tra la vostra rete On-premise e due differenti virtual network su Azure. L’idea è quella di realizzare una rete come mostrato in figura 1.

 

2015_01_25_IaaS_VNet_01
Figura 1 – Rete Multisite

 

Per realizzare una connessione tra due virtual network in modalità VNet-to-VNet vi rimando all’articolo Azure IaaS: Configurare una VNet to VNet.

Configurazione delle reti virtuali per la connessione a due local network diverse

Quello che si vuole fare, è configurare le due reti virtuali su Azure in modo tale da potersi collegare a due Local Network diverse; infatti ognuna di loro sarà collegata sia alla rete On-Premise che all’altra rete virtuale su Azure. Questa operazione però non si può eseguire dal portale web ed è necessario effettuare una modifica al file di configurazione della rete virtuale. Per prima cosa, è necessario scaricare il file il configurazione cliccando sul pulsante Esporta e successivamente modificarlo in questo modo:

 

1) Selezionate uno dei contenuti tra <LocalNetworkSites> e </LocalNetworkSites>,  copiatela ed incollatela sotto la parte esistente, in modo tale da aggiungere la rete locale OnPremise:

 

<LocalNetworkSite name=” OnPremise “>
<AddressSpace>
<AddressPrefix>10.0.0.0/24</AddressPrefix>
</AddressSpace>
<VPNGatewayAddress>3.3.3.3</VPNGatewayAddress>
</LocalNetworkSite>

 

Sostituite l’IP 3.3.3.3 con quello della vostra rete OnPremise, cioè l’indirizzo IP pubblico con cui esponete il vostro device VPN.

 

2) Selezionate la parte tra <ConnectionsToLocalNetwork> e </ConnectionsToLocalNetwork>,  copiatela ed incollatela sotto la parte esistente modificando il contenuto in:

 

<ConnectionsToLocalNetwork>
<LocalNetworkSiteRef name=”OnPremise”>
<Connection type=”IPsec” />
</LocalNetworkSiteRef>
</ConnectionsToLocalNetwork>

 

Questo passaggio va ripetuto per entrambe le reti virtuali che avevate creato.

 

Salvate il file NetworkConfig.xml e da Nuovo -> Servizi di Rete -> Rete Virtuale -> Importa Configurazione, modificate la rete con le informazioni appena aggiunte. La figura 2 mostra il risultato della modifica della configurazione.

 

2015_01_25_IaaS_VNet_02
Figura 2 – Configurazione Rete

 

D’ora in poi per eseguire qualsiasi tipo di modifica alla configurazione delle reti locali dovrete per forza usare il file di configurazione, in quanto dal portale web risulta disattivata la possibilità di cambiare la rete locale, come mostrato nella figura 3.

 

2015_01_25_IaaS_VNet_03
Figura 3 – Configurazione Bloccata

 

Modifica della Pre-Shared key per entrambi i Gateway

Dopo aver modificato la rete, i due gateway tenteranno automaticamente di connettersi. Per poterlo fare però è necessario modificare le chiavi di autenticazione per la rete locale OnPremise, lanciando le seguenti cmdlet:

 

Set-AzureVNetGatewayKey -VNetName Rete-Europa-Occidentale -LocalNetworkSiteName OnPremise -SharedKey Qwerty123456
Set-AzureVNetGatewayKey -VNetName Rete-Giappone-Occidentale -LocalNetworkSiteName OnPremise -SharedKey Qwerty123456

 

La lunghezza e complessità della chiave è a vostra scelta. Il risultato della cmdlet è mostrato nella figura 4.

 

2015_01_25_IaaS_VNet_04
Figura 4 – Impostazione Pre-Shared Key

Configurazione della rete Site-to-Site tra l’On-Premise e Azure

Nel caso di una rete multi-site non è possibile usare uno degli script disponibili sul portale, come mostrato nella figura 5.

 

2015_01_25_IaaS_VNet_05
Figura 5 – Download Script

È necessario pertanto configurare manualmente il dispositivo.  Nel mio laboratorio uso RRAS e per poterlo configurare ho usato queste cmdlet:

 

# Aggiungo e configuro l’interfaccia per la Rete-Europa-Occidentale
Add-VpnS2SInterface -Protocol IKEv2 -AuthenticationMethod PSKOnly -NumberOfTries 3 -ResponderAuthenticationMethod PSKOnly -Name 104.40.221.69 -Destination 104.40.221.69 -IPv4Subnet @("10.0.2.0/24:100") -SharedSecret Qwerty123456

# Aggiungo e configuro l’interfaccia per la Rete-Giappone-Occidentale
Add-VpnS2SInterface -Protocol IKEv2 -AuthenticationMethod PSKOnly -NumberOfTries 3 -ResponderAuthenticationMethod PSKOnly -Name 104.46.227.221 -Destination 104.46.227.221 -IPv4Subnet @("10.0.1.0/24:100") -SharedSecret Qwerty123456

Set-VpnServerIPsecConfiguration -EncryptionType MaximumEncryption

# Il valore predefinito di Windows è 100 MB, ma è troppo piccolo. Lo modifico aumentandolo a 32GB.
Set-VpnServerIPsecConfiguration -SADataSizeForRenegotiationKilobytes 33553408

New-ItemProperty -Path HKLM:\System\CurrentControlSet\Services\RemoteAccess\Parameters\IKEV2 -Name SkipConfigPayload -PropertyType DWord -Value 1

# Modifico il file router.pbk (richiede permessi amministrativi) in modo tale da rendere permanenti le connessioni
 Set-PrivateProfileString $env:windir\System32\ras\router.pbk "104.40.221.69" "IdleDisconnectSeconds" "0"
 Set-PrivateProfileString $env:windir\System32\ras\router.pbk "104.40.221.69" "RedialOnLinkFailure" "1"
 Set-PrivateProfileString $env:windir\System32\ras\router.pbk "104.46.227.221" "IdleDisconnectSeconds" "0"
 Set-PrivateProfileString $env:windir\System32\ras\router.pbk "104.46.227.221" "RedialOnLinkFailure" "1"
 # Riavvio il servizio RRAS
 Restart-Service RemoteAccess

# Mi collego ai due gateway Azure
 Connect-VpnS2SInterface -Name 104.46.227.221
 Connect-VpnS2SInterface -Name 104.40.221.69

 

Dopo qualche secondo avviene la connessione tra i diversi gateway e nel portale web vi verrà mostrata l’avvenuta connessione, come mostrato nella figura 6.

 

2015_01_25_IaaS_VNet_06
Figura 6 – Connessione VPN Stabilita

 

Adesso le tre reti sono collegate tra di loro. Fatto!