Esercizio - Creare un gateway VPN da sito a sito usando i comandi dell'interfaccia della riga di comando di Azure
Ora si è pronti a completare il gateway VPN da sito a sito creando gli indirizzi IP pubblici, i gateway di rete virtuale e le connessioni. Tenere presente che sono stati usati segnaposto per i riferimenti agli indirizzi IP pubblici quando sono stati creati i gateway di rete locale, Quindi una delle operazioni da eseguire è aggiornare i gateway con gli indirizzi IP pubblici effettivi assegnati ai gateway di rete virtuale.
Idealmente, gli indirizzi IP pubblici e i gateway di rete virtuale devono essere creati prima dei gateway di rete locale. Questo esercizio illustra come aggiornare i gateway di rete locale. È possibile usare gli stessi comandi per aggiornare eventuali elementi di configurazione presenti nei gateway di rete locale, ad esempio gli spazi degli indirizzi della rete remota.
Creare il gateway VPN sul lato Azure
La prima operazione è la creazione del gateway VPN per l'estremità Azure della connessione. La creazione di un gateway di rete virtuale può richiedere fino a 45 minuti. Per risparmiare tempo, si useranno i comandi dell'interfaccia della riga di comando di Azure con il parametro --no-wait
. Questo parametro consente di creare entrambi i gateway di rete virtuale simultaneamente per ridurre al minimo il tempo totale necessario per creare queste risorse.
Eseguire il comando seguente in Cloud Shell per creare l'indirizzo IP pubblico PIP-VNG-Azure-VNet-1.
az network public-ip create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-Azure-VNet-1 \ --allocation-method Static
Eseguire il comando seguente in Cloud Shell per creare la rete virtuale VNG-Azure-VNet-1.
az network vnet create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-Azure-VNet-1 \ --subnet-name GatewaySubnet
Eseguire il comando seguente in Cloud Shell per creare il gateway di rete virtuale VNG-Azure-VNet-1.
az network vnet-gateway create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-Azure-VNet-1 \ --public-ip-addresses PIP-VNG-Azure-VNet-1 \ --vnet VNG-Azure-VNet-1 \ --gateway-type Vpn \ --vpn-type RouteBased \ --sku VpnGw1 \ --no-wait
Creare il gateway VPN locale
Ora viene creato un gateway VPN per simulare un dispositivo VPN locale.
Eseguire il comando seguente in Cloud Shell per creare l'indirizzo IP pubblico PIP-VNG-HQ-Network.
az network public-ip create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-HQ-Network \ --allocation-method Static
Eseguire il comando seguente in Cloud Shell per creare la rete virtuale VNG-HQ-Network.
az network vnet create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-HQ-Network \ --subnet-name GatewaySubnet
Eseguire il comando seguente in Cloud Shell per creare il gateway di rete virtuale VNG-HQ-Network.
az network vnet-gateway create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name VNG-HQ-Network \ --public-ip-addresses PIP-VNG-HQ-Network \ --vnet VNG-HQ-Network \ --gateway-type Vpn \ --vpn-type RouteBased \ --sku VpnGw1 \ --no-wait
Per il completamento della creazione del gateway sono necessari più di 30 minuti. Per monitorare lo stato di avanzamento della creazione del gateway, eseguire il comando seguente. Viene usato il comando Linux
watch
per eseguire periodicamente il comandoaz network vnet-gateway list
, che consente di monitorare i progressi.watch -d -n 5 az network vnet-gateway list \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --output table
Dopo che ognuno dei gateway VPN ha mostrato il valore ProvisioningState Succeeded, si è pronti a continuare. Premere CTRL+C per arrestare il comando dopo la creazione del gateway.
ActiveActive EnableBgp EnablePrivateIpAddress GatewayType Location Name ProvisioningState ResourceGroup ResourceGuid VpnType -------------- ----------- ------------------------ ------------- -------------- ---------------- ------------------- ----------------------------- ------------------------------------ ---------- False False False Vpn southcentralus VNG-Azure-VNet-1 Succeeded <rgn>[sandbox resource group name]</rgn> 48dc714e-a700-42ad-810f-a8163ee8e001 RouteBased False False False Vpn southcentralus VNG-HQ-Network Succeeded <rgn>[sandbox resource group name]</rgn> 49b3041d-e878-40d9-a135-58e0ecb7e48b RouteBased
Aggiornare i riferimenti IP dei gateway di rete locale
Importante
I gateway di rete virtuale devono essere distribuiti correttamente prima di iniziare l'esercizio successivo. Il completamento di un gateway può richiedere più di 30 minuti. Se il ProvisioningState non indica ancora "Operazione riuscita", è necessario attendere.
In questa sezione si aggiorneranno i riferimenti all'indirizzo IP del gateway remoto definiti nei gateway di rete locale. È possibile aggiornare il gateway di rete locale solo dopo aver creato i gateway VPN e aver assegnato e associato a tali gateway un indirizzo IPv4.
Eseguire il comando dell'interfaccia della riga di comando di Azure seguente per controllare se sono stati creati entrambi i gateway di rete virtuale. Lo stato iniziale indica Aggiornamento. È necessario vedere Operazione riuscita sia in VNG-Azure-VNet-1 che in VNG-HQ-Network.
az network vnet-gateway list \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --output table
Name Location GatewayType VpnType VpnGatewayGeneration EnableBgp EnablePrivateIpAddress Active ResourceGuid ProvisioningState ResourceGroup ---------------- ---------- ------------- ---------- ---------------------- ----------- ------------------------ -------- ------------------------------------ ------------------- ------------------------------------------ VNG-Azure-VNet-1 westus Vpn RouteBased Generation1 False False False 9a2e60e6-da57-4274-99fd-e1f8b2c0326d Succeeded learn-cfbcca66-16fd-423e-b688-66f242d8f09e VNG-HQ-Network westus Vpn RouteBased Generation1 False False False c36430ed-e6c0-4230-ae40-cf937a102bcd Succeeded learn-cfbcca66-16fd-423e-b688-66f242d8f09e
Ricordarsi di attendere che gli elenchi dei gateway vengano restituiti correttamente. Ricordare anche che le risorse dei gateway di rete locale definiscono le impostazioni della rete e del gateway remoti con nomi corrispondenti. Ad esempio, il gateway di rete locale LNG-Azure-VNet-1 contiene informazioni come l'indirizzo IP e le reti per Azure-VNet-1.
Eseguire il comando seguente in Cloud Shell per recuperare l'indirizzo IPv4 assegnato a PIP-VNG-Azure-VNet-1 e archiviarlo in una variabile.
PIPVNGAZUREVNET1=$(az network public-ip show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-Azure-VNet-1 \ --query "[ipAddress]" \ --output tsv)
Eseguire il comando seguente in Cloud Shell per aggiornare il gateway di rete locale LNG-Azure-VNet-1 in modo che punti all'indirizzo IP pubblico collegato al gateway di rete virtuale VNG-Azure-VNet-1.
az network local-gateway update \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name LNG-Azure-VNet-1 \ --gateway-ip-address $PIPVNGAZUREVNET1
Eseguire il comando seguente in Cloud Shell per recuperare l'indirizzo IPv4 assegnato a PIP-VNG-HQ-Network e archiviarlo in una variabile.
PIPVNGHQNETWORK=$(az network public-ip show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name PIP-VNG-HQ-Network \ --query "[ipAddress]" \ --output tsv)
Eseguire il comando seguente in Cloud Shell per aggiornare il gateway di rete locale LNG-HQ-Network in modo che punti all'indirizzo IP pubblico collegato al gateway di rete virtuale VNG-HQ-Network.
az network local-gateway update \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name LNG-HQ-Network \ --gateway-ip-address $PIPVNGHQNETWORK
Creare le connessioni
Ora è possibile completare la configurazione creando le connessioni da ogni gateway VPN al gateway di rete locale che contiene i riferimenti all'indirizzo IP pubblico per la rete remota del gateway.
Creare la chiave condivisa da usare per le connessioni. Nel comando seguente sostituire
<shared key>
con una stringa di testo da usare per la chiave pre-condivisa IPSec. La chiave pre-condivisa è una stringa di caratteri ASCII stampabili composta da un massimo di 128 caratteri. Non può contenere caratteri speciali, ad esempio trattini e tilde. Verrà usata in entrambe le connessioni.Nota
In questo esempio qualsiasi serie di numeri funzionerà per una chiave condivisa: SHAREDKEY = 123456789. Negli ambienti di produzione è consigliabile usare una stringa di caratteri ASCII stampabili non più lunga di 128 caratteri senza caratteri speciali, ad esempio trattini o tilde.
SHAREDKEY=<shared key>
Tenere presente che LNG-HQ-Network contiene un riferimento all'indirizzo IP nel dispositivo VPN locale simulato. Eseguire il comando seguente in Cloud Shell per creare una connessione da VNG-Azure-VNet-1 a LNG-HQ-Network.
az network vpn-connection create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name Azure-VNet-1-To-HQ-Network \ --vnet-gateway1 VNG-Azure-VNet-1 \ --shared-key $SHAREDKEY \ --local-gateway2 LNG-HQ-Network
Ricordare che LNG-Azure-VNet-1 contiene un riferimento all'indirizzo IP pubblico associato al gateway VPN VNG-Azure-VNet-1. Questa connessione in genere si crea dal dispositivo locale. Eseguire il comando seguente in Cloud Shell per creare una connessione da VNG-HQ-Network a LNG-Azure-VNet-1.
az network vpn-connection create \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name HQ-Network-To-Azure-VNet-1 \ --vnet-gateway1 VNG-HQ-Network \ --shared-key $SHAREDKEY \ --local-gateway2 LNG-Azure-VNet-1
La configurazione della connessione da sito a sito è stata completata. L'operazione potrebbe richiedere alcuni minuti, ma i tunnel dovrebbero connettersi automaticamente e risultare attivi.
Passaggi di verifica
Verificare che i tunnel VPN siano connessi.
Eseguire il comando seguente per verificare che Azure-VNet-1-To-HQ-Network sia connesso.
az network vpn-connection show \ --resource-group <rgn>[sandbox resource group name]</rgn> \ --name Azure-VNet-1-To-HQ-Network \ --output table \ --query '{Name:name,ConnectionStatus:connectionStatus}'
Verrà visualizzato un output simile al seguente che indica che la connessione ha avuto esito positivo. Se
ConnectionStatus
èConnecting
oUnknown
, attendere un minuto o due ed eseguire di nuovo il comando. Per completare le operazioni di connessione, possono essere necessari alcuni minuti.Name ConnectionStatus -------------------------- ------------------ Azure-VNet-1-To-HQ-Network Connected
La configurazione da sito a sito ora è completa. La topologia finale, incluse le subnet e le connessioni, con i punti di connessione logici, è illustrata nel diagramma seguente. Le macchine virtuali distribuite nelle subnet Services e Applications ora possono comunicare tra loro, dato che le connessioni VPN sono state stabilite correttamente.