Übung: Erstellen eines Site-to-Site-VPN-Gateways mit Azure CLI-Befehlen

Abgeschlossen

Sie können nun Ihr Site-to-Site-VPN-Gateway vervollständigen, indem Sie die öffentlichen IP-Adressen, die virtuellen Netzwerkgateways und die Verbindungen erstellen. Wie Sie wissen, haben Sie beim Erstellen Ihrer lokalen Netzwerkgateways Platzhalter für die öffentlichen IP-Adressen verwendet. Daher besteht eine Ihrer Aufgaben nun darin, diese Gateways mit den tatsächlichen öffentlichen IP-Adressen zu aktualisieren, die Ihren virtuellen Netzwerkgateways zugewiesen sind.

Im Idealfall werden die öffentlichen IP-Adressen und die virtuellen Netzwerkgateways vor den lokalen Netzwerkgateways erstellt. In dieser Übung erfahren Sie, wie Sie die lokalen Netzwerkgateways aktualisieren. Dieselben Befehle können Sie verwenden, um jedes Konfigurationselement in den lokalen Netzwerkgateways zu aktualisieren, z.B. die Adressräume von Remotenetzwerken.

Erstellen des VPN-Gateways auf Azure-Seite

Zuerst erstellen Sie das VPN-Gateway für das Azure-Ende der Verbindung. Die Erstellung eines Gateways für das virtuelle Netzwerk kann bis zu 45 Minuten dauern. Um Zeit zu sparen, verwenden Sie Azure CLI-Befehle mit dem --no-wait-Parameter. Dieser Parameter ermöglicht Ihnen, die beiden virtuellen Netzwerkgateways gleichzeitig zu erstellen, um die zum Erstellen dieser Ressourcen erforderliche Gesamtzeit zu minimieren.

  1. Führen Sie den folgenden Befehl in Cloud Shell aus, um die öffentliche IP-Adresse PIP-VNG-Azure-VNet-1 zu erstellen.

    az network public-ip create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-Azure-VNet-1 \
        --allocation-method Static
    
  2. Führen Sie den folgenden Befehl in Cloud Shell aus, um das virtuelle Netzwerk VNG-Azure-VNet-1 zu erstellen.

    az network vnet create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-Azure-VNet-1 \
        --subnet-name GatewaySubnet 
    
  3. Führen Sie den folgenden Befehl in Cloud Shell aus, um das virtuelle Netzwerkgateway VNG-Azure-VNet-1 zu erstellen.

    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
    

Erstellen des lokalen VPN-Gateways

Im nächsten Schritt erstellen Sie ein VPN-Gateway, um ein lokales VPN-Gerät zu simulieren.

  1. Führen Sie den folgenden Befehl in Cloud Shell aus, um die öffentliche IP-Adresse PIP-VNG-HQ-Network zu erstellen.

    az network public-ip create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-HQ-Network \
        --allocation-method Static
    
  2. Führen Sie den folgenden Befehl in Cloud Shell aus, um das virtuelle Netzwerk VNG-HQ-Network zu erstellen.

    az network vnet create \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name VNG-HQ-Network \
        --subnet-name GatewaySubnet 
    
  3. Führen Sie den folgenden Befehl in Cloud Shell aus, um das virtuelle Netzwerkgateway VNG-HQ-Network zu erstellen.

    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
    
  4. Die Gatewayerstellung dauert ungefähr 30 Minuten oder länger. Führen Sie den folgenden Befehl aus, um den Fortschritt der Gatewayerstellung zu überwachen. Der Linux-Befehl watch wird verwendet, um den az network vnet-gateway list-Befehl regelmäßig auszuführen, damit Sie den Fortschritt überwachen können.

    watch -d -n 5 az network vnet-gateway list \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --output table
    
  5. Sobald für jedes VPN-Gateway der ProvisioningState (Bereitstellungsstatus) Succeeded (Erfolgreich) angezeigt wird, können Sie fortfahren. Drücken Sie STRG+C, um den Befehl nach der Erstellung des Gateways abzubrechen.

    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
    

Aktualisieren der IP-Adressen in den lokalen Netzwerkgateways

Wichtig

Ihre virtuellen Netzwerkgateways müssen erfolgreich bereitgestellt sein, bevor Sie mit der nächsten Übung beginnen. Es kann bis zu 30 Minuten oder länger dauern, bis ein Gateway abgeschlossen ist. Wenn für „ProvisioningState“ noch nicht „Succeeded“ anzeigt wird, müssen Sie warten.

In diesem Abschnitt aktualisieren Sie die Remotegateway-IP-Adressverweise, die in den lokalen Netzwerkgateways definiert sind. Gateways des lokalen Netzwerks können erst aktualisiert werden, wenn Sie die VPN-Gateways erstellt und ihnen eine IPv4-Adresse zugewiesen und zugeordnet haben.

  1. Verwenden Sie den folgenden Azure CLI-Befehl, um zu überprüfen, ob beide Gateways des virtuellen Netzwerks erstellt wurden. Als Anfangsstatus wird Updating angezeigt. Es soll sowohl für „VNG-Azure-VNet-1“ als auch „VNG-HQ-Network“ der Status Succeeded angezeigt werden.

    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
    

    Warten Sie, bis die Listen der Gateways erfolgreich zurückgegeben wurden. Außerdem sei daran erinnert, dass die lokalen Netzwerkgatewayressourcen die Einstellungen des Remotegateways und -netzwerks definieren, nach denen sie benannt sind. Beispielsweise enthält das lokale Netzwerkgateway LNG-Azure-VNet-1 Informationen wie z. B. die IP-Adresse und Netzwerke für Azure-VNet-1.

  2. Führen Sie den folgenden Befehl in Cloud Shell aus, um die IPv4-Adresse abzurufen, die PIP-VNG-Azure-VNet-1 zugewiesen ist, und speichern Sie sie in einer Variablen.

    PIPVNGAZUREVNET1=$(az network public-ip show \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-Azure-VNet-1 \
        --query "[ipAddress]" \
        --output tsv)
    
  3. Führen Sie den folgenden Befehl in Cloud Shell aus, um das lokale Netzwerkgateway LNG-Azure-VNet-1 so zu aktualisieren, dass es auf die öffentliche IP-Adresse verweist, die dem virtuellen Netzwerkgateway VNG-Azure-VNet-1 zugewiesen ist.

    az network local-gateway update \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name LNG-Azure-VNet-1 \
        --gateway-ip-address $PIPVNGAZUREVNET1
    
  4. Führen Sie den folgenden Befehl in Cloud Shell aus, um die IPv4-Adresse abzurufen, die PIP-VNG-HQ-Network zugewiesen ist, und speichern Sie sie in einer Variablen.

    PIPVNGHQNETWORK=$(az network public-ip show \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name PIP-VNG-HQ-Network \
        --query "[ipAddress]" \
        --output tsv)
    
  5. Führen Sie den folgenden Befehl in Cloud Shell aus, um das lokale Netzwerkgateway LNG-HQ-Network so zu aktualisieren, dass es auf die öffentliche IP-Adresse verweist, die dem virtuellen Netzwerkgateway VNG-HQ-Network zugewiesen ist.

    az network local-gateway update \
        --resource-group <rgn>[sandbox resource group name]</rgn> \
        --name LNG-HQ-Network \
        --gateway-ip-address $PIPVNGHQNETWORK
    

Erstellen der Verbindungen

Sie schließen die Konfiguration ab, indem Sie die Verbindungen zwischen jedem VPN-Gateway und dem lokalen Netzwerkgateway herstellen, das die Verweise auf die öffentlichen IP-Adressen für das Remotenetzwerk dieses Gateways enthält.

  1. Erstellen Sie den gemeinsam verwendeten Schlüssel (shared key), der für die Verbindungen verwendet werden soll. Ersetzen Sie im folgenden Befehl <shared key> durch eine Textzeichenfolge, die für den vorinstallierten IPSec-Schlüssel verwendet werden soll. Der vorinstallierte Schlüssel ist eine Zeichenfolge mit max. 128 druckbaren ASCII-Zeichen. Es dürfen keine Sonderzeichen wie Bindestriche oder Tilden enthalten sein. Sie verwenden diesen vorinstallierten Schlüssel für beide Verbindungen.

    Hinweis

    In diesem Beispiel eignen sich beliebige Zahlen für einen gemeinsam genutzten Schlüssel: SHAREDKEY=123456789. Es wird empfohlen, in Produktionsumgebungen eine Zeichenfolge druckbarer ASCII-Zeichen mit einer maximalen Länge von 128 Zeichen und ohne Sonderzeichen wie Bindestriche oder Tilden zu verwenden.

    SHAREDKEY=<shared key>
    
  2. Beachten Sie, dass LNG-HQ-Network einen Verweis auf die IP-Adresse in Ihrem simulierten lokalen VPN-Gerät enthält. Führen Sie den folgenden Befehl in Cloud Shell aus, um eine Verbindung von VNG-Azure-VNet-1 zu LNG-HQ-Network herzustellen.

    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
    
  3. Beachten Sie, dass LNG-Azure-VNet-1 einen Verweis auf die öffentliche IP-Adresse enthält, die dem VPN-Gateway VNG-Azure-VNet-1 zugeordnet ist. Diese Verbindung würde normalerweise von Ihrem lokalen Gerät hergestellt. Führen Sie den folgenden Befehl in Cloud Shell aus, um eine Verbindung von VNG-HQ-Network zu LNG-Azure-VNet-1 herzustellen.

    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
    

Sie haben nun die Konfiguration der Site-to-Site-Verbindung abgeschlossen. Dies kann einige Minuten dauern, aber die Tunnel sollten eine Verbindung automatisch herstellen und aktiv werden.

Überprüfungsschritte

Vergewissern Sie sich, dass die VPN-Tunnel verbunden sind.

  1. Führen Sie den folgenden Befehl aus, um sich zu vergewissern, dass Azure-VNet-1-To-HQ-Network verbunden ist.

    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}'
    

    Es sollte eine Ausgabe wie im Folgenden angezeigt werden, die angibt, dass die Verbindung erfolgreich hergestellt wurde. Wenn der ConnectionStatus als Connecting oder Unknown angezeigt wird, warten Sie eine oder zwei Minuten, bevor Sie den Befehl erneut ausführen. Es kann ein paar Minuten dauern, bis die Verbindungen vollständig geschlossen sind.

    Name                        ConnectionStatus
    --------------------------  ------------------
    Azure-VNet-1-To-HQ-Network  Connected
    

Die Site-to-Site-Konfiguration ist nun abgeschlossen. Ihre endgültige Topologie, einschließlich der Subnetze und Verbindungen mit logischen Verbindungspunkten, ist in der folgenden Abbildung dargestellt. Nachdem die VPN-Verbindungen erfolgreich hergestellt wurden, können virtuelle Computer, die in den Subnetzen Dienste und Anwendungen bereitgestellt wurden, miteinander kommunizieren.

Diagram of resources deployed during unit 4 exercise.