Freigeben über


Konfigurieren von BGP für Azure VPN Gateway: CLI

In diesem Artikel erfahren Sie, wie Sie BGP bei standortübergreifenden S2S-VPN-Verbindungen (Site-to-Site) und VNet-to-VNet-Verbindungen mithilfe der Azure CLI aktivieren. Sie können diese Konfiguration auch über das Azure-Portal oder PowerShell erstellen.

BGP ist das standardmäßige Routingprotokoll, mit dem im Internet üblicherweise Routing- und Erreichbarkeitsinformationen zwischen mehren Netzwerken ausgetauscht werden. Azure-VPN-Gateways und Ihre lokalen VPN-Geräte (sogenannte BGP-Peers oder Nachbarn) können über BGP Routen austauschen, die beide Gateways über die Verfügbarkeit und Erreichbarkeit der Präfixe informieren, die die beteiligten Gateways oder Router durchlaufen. BGP ermöglicht auch Transitrouting zwischen mehreren Netzwerken. Hierzu werden von einem BGP-Gateway ermittelte Routen eines BGP-Peers an alle anderen BGP-Peers weitergegeben.

Weitere Informationen zu den Vorteilen von BGP sowie zu den technischen Anforderungen und den Überlegungen zur Verwendung von BGP finden Sie unter Übersicht über BGP mit Azure VPN Gateway.

Jeder Teil dieses Artikels hilft Ihnen beim Erstellen eines grundlegenden Bausteins zum Aktivieren von BGP in Ihrer Netzwerkverbindung. Wenn Sie alle drei Teile abgeschlossen haben (Konfigurieren von BGP für das Gateway, S2S-Verbindung und VNet-to-VNet-Verbindung), erstellen Sie die Topologie wie in Diagramm 1 dargestellt.

Diagramm 1

Diagramm der Netzwerkarchitektur und -einstellungen.

Zum Erstellen eines komplexeren Multihop-Übertragungsnetzwerks, das Ihren Anforderungen entspricht, können Sie diese Abschnitte auch miteinander kombinieren.

Voraussetzungen

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Schnellstart für Bash in Azure Cloud Shell.

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Sie Windows oder macOS ausführen, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Aktivieren von BGP für das VPN-Gateway

Dieser Abschnitt ist erforderlich, bevor Sie Schritte in den anderen beiden Konfigurationsabschnitten ausführen können. Die folgenden Konfigurationsschritte richten die BGP-Parameter des Azure-VPN-Gateways wie in Diagramm 2 dargestellt ein.

Diagramm 2

Diagramm mit Einstellungen für das Gateway des virtuellen Netzwerks.

Erstellen und Konfigurieren von „TestVNet1“

1. Erstellen einer Ressourcengruppe

Im folgenden Beispiel wird eine Ressourcengruppe mit dem Namen „TestRG1“ am Standort „eastus“ erstellt. Falls Sie in dieser Region bereits über eine Ressourcengruppe verfügen, die Sie zum Erstellen des virtuellen Netzwerks nutzen möchten, können Sie diese verwenden.

az group create --name TestRG1 --location eastus

2. Erstellen Sie TestVNet1

Im folgenden Beispiel werden ein virtuelles Netzwerk mit dem Namen „TestVNet1“ und die drei Subnetze „GatewaySubnet“, „FrontEnd“ und „BackEnd“ erstellt. Beim Ersetzen der Werte ist es wichtig, dass Sie Ihrem Gatewaysubnetz immer den Namen „GatewaySubnet“ geben. Wenn Sie einen anderen Namen verwenden, tritt beim Erstellen des Gateways ein Fehler auf.

Mit dem ersten Befehl werden der Front-End-Adressraum und das Subnetz „FrontEnd“ erstellt. Mit dem zweiten Befehl wird ein zusätzlicher Adressraum für das Subnetz „BackEnd“ erstellt. Mit dem dritten und vierten Befehl werden das Subnetz „BackEnd“ und das Subnetz „GatewaySubnet“ erstellt.

az network vnet create -n TestVNet1 -g TestRG1 --address-prefix 10.11.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.11.0.0/24
az network vnet update -n TestVNet1 --address-prefixes 10.11.0.0/16 10.12.0.0/16 -g TestRG1
 
az network vnet subnet create --vnet-name TestVNet1 -n BackEnd -g TestRG1 --address-prefix 10.12.0.0/24
 
az network vnet subnet create --vnet-name TestVNet1 -n GatewaySubnet -g TestRG1 --address-prefix 10.12.255.0/27

Erstellen des VPN-Gateways für „TestVNet1“ mit BGP-Parametern

1. Erstellen Sie die öffentliche IP-Adresse

Fordern Sie eine öffentliche IP-Adresse an. Die öffentliche IP-Adresse wird dem VPN-Gateway zugeordnet, das Sie für Ihr virtuelles Netzwerk erstellen.

az network public-ip create -n GWPubIP -g TestRG1 --allocation-method Dynamic 

2. Erstellen des VPN Gateway mit der AS-Nummer

Erstellen Sie das virtuelle Netzwerkgateway für Ihr TestVNet1. Für BGP ist ein routenbasiertes VPN Gateway erforderlich. Außerdem benötigen Sie den zusätzlichen Parameter -Asn zum Festlegen der ASN (Nummer des autonomen Systems) für TestVNet1. Häufig kann die Erstellung eines Gateways je nach ausgewählter Gateway-SKU mindestens 45 Minuten dauern.

Wenn Sie diesen Befehl mit dem Parameter --no-wait ausführen, werden kein Feedback und keine Ausgabe angezeigt. Der Parameter --no-wait ermöglicht die Erstellung des Gateways im Hintergrund. Das bedeutet nicht, dass die Erstellung des VPN-Gateways sofort abgeschlossen ist.

az network vnet-gateway create -n VNet1GW -l eastus --public-ip-address GWPubIP -g TestRG1 --vnet TestVNet1 --gateway-type Vpn --sku HighPerformance --vpn-type RouteBased --asn 65010 --no-wait

Nachdem das Gateway erstellt wurde, können Sie es verwenden, um eine standortübergreifende Verbindung oder eine VNET-zu-VNET-Verbindung mit BGP herzustellen.

3. Beziehen Sie die Azure-BGP-Peer IP-Adresse

Nachdem das Gateway erstellt wurde, müssen Sie die BGP-Peer-IP-Adresse auf dem Azure-VPN-Gateway abrufen. Diese Adresse ist erforderlich, um das VPN-Gateway als BGP-Peer für Ihre lokalen VPN-Geräte zu konfigurieren.

Führen Sie den folgenden Befehl aus.

az network vnet-gateway list -g TestRG1

Notieren Sie sich den Abschnitt bgpSettings oben in der Ausgabe. Sie verwenden dies später.

"bgpSettings": { 
      "asn": 65010, 
      "bgpPeeringAddress": "10.12.255.30", 
      "peerWeight": 0 
    }

Wenn die BgpPeeringAddress nicht als IP-Adresse angezeigt wird, wird Ihr Gateway noch konfiguriert. Versuchen Sie es nach Abschluss der Konfiguration des Gateways erneut.

Herstellen einer standortübergreifenden Verbindung mit BGP

Um eine standortübergreifende Verbindung herzustellen, müssen Sie ein lokales Netzwerkgateway erstellen, um das lokale VPN-Gerät darzustellen. Anschließend verbinden Sie das Azure-VPN-Gateway mit dem Gateway des lokalen Netzwerks. Diese Schritte ähneln zwar der Erstellung von anderen Verbindungen, aber sie enthalten die zusätzlichen Eigenschaften, die zum Angeben der BGP-Konfigurationsparameter erforderlich sind, wie in Diagramm 3 dargestellt.

Diagramm 3

Diagramm: IPsec-Konfiguration.

Erstellen und Konfigurieren des lokalen Netzwerkgateways

In dieser Übung fahren wir mit dem Erstellen der im Diagramm gezeigten Konfiguration fort. Achten Sie darauf, dass Sie die Werte durch die Werte ersetzen, die Sie für die Konfiguration verwenden möchten. Beachten Sie beim Verwenden von Gateways des lokalen Netzwerks Folgendes:

  • Der Speicherort und die Ressourcengruppe für das lokale Netzwerkgateway und für das VPN-Gateway können gleich oder auch unterschiedlich sein. Dieses Beispiel zeigt die Gateways in verschiedenen Ressourcengruppen und an verschiedenen Speicherorten.
  • Das Mindestpräfix, das Sie für das Gateway des lokalen Netzwerks deklarieren müssen, ist die Hostadresse Ihrer BGP-Peer-IP-Adresse auf Ihrem VPN-Gerät. In diesem Fall ist es das /32-Präfix von „10.51.255.254/32“.
  • Sie können das Präfix auch leer lassen, wenn Sie BGP zum Herstellen einer Verbindung mit diesem Netzwerk verwenden. Azure VPN Gateway fügt intern eine Route Ihrer BGP-Peer-IP-Adresse zum entsprechenden IPsec-Tunnel hinzu.
  • Zur Erinnerung: Sie müssen zwischen Ihren lokalen Netzwerken und dem virtuellen Azure-Netzwerk unterschiedliche BGP-ASNs verwenden. Wenn sie gleich sind, müssen Sie Ihre VNet-ASN ändern, sofern Ihre lokalen VPN-Geräte die ASN bereits für eine Peerverbindung mit anderen BGP-Nachbarn verwenden.

Stellen Sie vor dem Fortfahren sicher, dass Sie den Abschnitt Aktivieren von BGP für Ihr VPN-Gateway dieser Übung abgeschlossen haben. Beachten Sie, dass Sie in diesem Beispiel eine neue Ressourcengruppe erstellen. Beachten Sie auch die beiden zusätzlichen Parameter für das lokale Netzwerkgateway: Asn und BgpPeerAddress.

az group create -n TestRG5 -l westus 
 
az network local-gateway create --gateway-ip-address 23.99.221.164 -n Site5 -g TestRG5 --local-address-prefixes 10.51.255.254/32 --asn 65050 --bgp-peering-address 10.51.255.254

Verbinden des VNET-Gateways mit dem Gateway des lokalen Netzwerks

In diesem Schritt erstellen Sie die Verbindung zwischen „TestVNet1“ und „Site5“. Sie müssen den Parameter --enable-bgp angeben, um BGP für diese Verbindung zu aktivieren.

In diesem Beispiel sind das Gateway des virtuellen Netzwerks und das Gateway des lokalen Netzwerks in unterschiedlichen Ressourcengruppen angeordnet. Wenn sich die Gateways in unterschiedlichen Ressourcengruppen befinden, müssen Sie die gesamte Ressourcen-ID der beiden Gateways angeben, um eine Verbindung zwischen den virtuellen Netzwerken einzurichten.

1. Beziehen Sie die Ressourcen-ID des VNet1GW

Verwenden Sie die Ausgabe des folgenden Befehls, um die Ressourcen-ID für VNet1GW zu erhalten:

az network vnet-gateway show -n VNet1GW -g TestRG1

Suchen Sie in der Ausgabe nach der Zeile "id":. Die Werte innerhalb der Anführungszeichen sind erforderlich, um im nächsten Abschnitt die Verbindung zu erstellen.

Beispielausgabe:

{ 
  "activeActive": false, 
  "bgpSettings": { 
    "asn": 65010, 
    "bgpPeeringAddress": "10.12.255.30", 
    "peerWeight": 0 
  }, 
  "enableBgp": true, 
  "etag": "W/\"<your etag number>\"", 
  "gatewayDefaultSite": null, 
  "gatewayType": "Vpn", 
  "id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW",

Kopieren Sie die Werte hinter "id": in einen Text-Editor wie Editor, damit Sie sie beim Erstellen der Verbindung problemlos einfügen können.

"id": "/subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW"

2. Beziehen Sie die Ressourcen-ID von Site5

Verwenden Sie den folgenden Befehl, um die Ressourcen-ID von Site5 über die Ausgabe zu erhalten:

az network local-gateway show -n Site5 -g TestRG5

3. Erstellen Sie die Verbindung TestVNet1-zu-Site5

In diesem Schritt erstellen Sie die Verbindung zwischen „TestVNet1“ und „Site5“. Wie bereits erwähnt, sind für dasselbe Azure VPN Gateway BGP- und Nicht-BGP-Verbindungen möglich. Sofern BGP in der Verbindungseigenschaft nicht aktiviert ist, wird BGP für diese Verbindung von Azure nicht aktiviert. Dies gilt auch dann, wenn BGP-Parameter bereits für beide Gateways konfiguriert wurden. Ersetzen Sie die Abonnement-IDs durch Ihre eigenen.

az network vpn-connection create -n VNet1ToSite5 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --local-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG5/providers/Microsoft.Network/localNetworkGateways/Site5

Konfiguration des lokalen Geräts

Das folgende Beispiel listet die Parameter auf, die Sie in den BGP-Konfigurationsbereich auf dem lokalen VPN-Gerät für diese Übung eingeben:

- Site5 ASN            : 65050
- Site5 BGP IP         : 10.51.255.254
- Prefixes to announce : (for example) 10.51.0.0/16
- Azure VNet ASN       : 65010
- Azure VNet BGP IP    : 10.12.255.30
- Static route         : Add a route for 10.12.255.30/32, with nexthop being the VPN tunnel interface on your device
- eBGP Multihop        : Ensure the "multihop" option for eBGP is enabled on your device if needed

Nach einigen Minuten sollte die Verbindung hergestellt werden. Die BGP-Peeringsitzung wird gestartet, nachdem die IPsec-Verbindung hergestellt wurde.

Herstellen einer VNet-zu-VNet-Verbindung mit BGP

In diesem Abschnitt wird eine VNet-to-VNet-Verbindung mit BGP hinzugefügt, wie in Diagramm 4 dargestellt.

Diagramm 4

Diagramm der vollständigen Netzwerkkonfiguration.

Die folgende Anleitung ist die Fortsetzung der Schritte in den vorherigen Abschnitten. Sie müssen den Abschnitt Aktivieren von BGP für Ihr VPN-Gateway abschließen, um TestVNet1 und das VPN-Gateway mit BGP zu erstellen und zu konfigurieren.

Erstellen von „TestVNet2“ und des VPN-Gateways

Es ist wichtig sicherzustellen, dass sich der IP-Adressbereich des neuen virtuellen Netzwerks (TestVNet2) nicht mit einem Ihrer VNet-Bereiche überschneidet.

In diesem Beispiel gehören die virtuellen Netzwerke zum gleichen Abonnement. Sie können VNet-zu-VNet-Verbindungen zwischen verschiedenen Abonnements einrichten. Weitere Informationen finden Sie unter Konfigurieren einer VNET-zu-VNET-Verbindung. Fügen Sie beim Erstellen der Verbindungen zum Aktivieren von BGP -EnableBgp $True hinzu.

1. Erstellen Sie eine neue Ressourcengruppe

az group create -n TestRG2 -l eastus

2. Erstellen von TestVNet2 in der neuen Ressourcengruppe

Mit dem ersten Befehl werden der Front-End-Adressraum und das Subnetz „FrontEnd“ erstellt. Mit dem zweiten Befehl wird ein zusätzlicher Adressraum für das Subnetz „BackEnd“ erstellt. Mit dem dritten und vierten Befehl werden das Subnetz „BackEnd“ und das Subnetz „GatewaySubnet“ erstellt.

az network vnet create -n TestVNet2 -g TestRG2 --address-prefix 10.21.0.0/16 --subnet-name FrontEnd --subnet-prefix 10.21.0.0/24
az network vnet update -n TestVNet2 --address-prefixes 10.21.0.0/16 10.22.0.0/16 -g TestRG2
 
az network vnet subnet create --vnet-name TestVNet2 -n BackEnd -g TestRG2 --address-prefix 10.22.0.0/24
 
az network vnet subnet create --vnet-name TestVNet2 -n GatewaySubnet -g TestRG2 --address-prefix 10.22.255.0/27

3. Erstellen Sie die öffentliche IP-Adresse

Fordern Sie eine öffentliche IP-Adresse an. Die öffentliche IP-Adresse wird dem VPN-Gateway zugeordnet, das Sie für Ihr virtuelles Netzwerk erstellen.

az network public-ip create -n GWPubIP2 -g TestRG2 --allocation-method Dynamic

4. Erstellen Sie das VPN-Gateway mit der AS-Nummer

Erstellen Sie das Gateway für virtuelle Netzwerke für TestVNet2. Die Standard-ASN Ihrer Azure-VPN-Gateways muss überschrieben werden. Die ASNs für die verbundenen virtuellen Netzwerke müssen für die Aktivierung von BGP und Transitrouting unterschiedlich sein.

az network vnet-gateway create -n VNet2GW -l eastus --public-ip-address GWPubIP2 -g TestRG2 --vnet TestVNet2 --gateway-type Vpn --sku Standard --vpn-type RouteBased --asn 65020 --no-wait

Verbinden der Gateways von „TestVNet1“ und „TestVNet2“

In diesem Schritt erstellen Sie die Verbindung zwischen „TestVNet1“ und „Site5“. Sie müssen den Parameter --enable-bgp angeben, um BGP für diese Verbindung zu aktivieren.

Im folgenden Beispiel sind das Gateway des virtuellen Netzwerks und das Gateway des lokalen Netzwerks in unterschiedlichen Ressourcengruppen angeordnet. Wenn sich die Gateways in unterschiedlichen Ressourcengruppen befinden, müssen Sie die gesamte Ressourcen-ID der beiden Gateways angeben, um eine Verbindung zwischen den virtuellen Netzwerken einzurichten.

1. Beziehen Sie die Ressourcen-ID des VNet1GW

Ermitteln Sie die Ressourcen-ID von „VNet1GW“ in der Ausgabe des folgenden Befehls:

az network vnet-gateway show -n VNet1GW -g TestRG1

Beispielwert für die Gatewayressource:

"/subscriptions/<subscription ID value>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW"

2. Beziehen Sie die Ressourcen-ID des VNet2GW

Ermitteln Sie die Ressourcen-ID von „VNet2GW“ in der Ausgabe des folgenden Befehls:

az network vnet-gateway show -n VNet2GW -g TestRG2

3. Erstellen Sie die Verbindungen

Erstellen Sie die Verbindung von „TestVNet1“ mit „TestVNet2“ sowie die Verbindung von „TestVNet2“ mit „TestVNet1“. Diese Befehle verwenden die Ressourcen-IDs. Für diese Übung ist der Großteil der Ressourcen-IDs bereits im Beispiel vorhanden. Ersetzen Sie die Abonnement-ID durch Ihre eigene. Die Abonnement-ID wird an mehreren Stellen im selben Befehl verwendet. Wenn Sie diesen Befehl für die Produktion verwenden, ersetzen Sie die gesamte Ressourcen-ID für jedes Objekt, auf das Sie verweisen.

az network vpn-connection create -n VNet1ToVNet2 -g TestRG1 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW
az network vpn-connection create -n VNet2ToVNet1 -g TestRG2 --vnet-gateway1 /subscriptions/<subscription ID>/resourceGroups/TestRG2/providers/Microsoft.Network/virtualNetworkGateways/VNet2GW --enable-bgp -l eastus --shared-key "abc123" --vnet-gateway2 /subscriptions/<subscription ID>/resourceGroups/TestRG1/providers/Microsoft.Network/virtualNetworkGateways/VNet1GW

Wichtig

Aktivieren Sie BGP für beide Verbindungen.

Nach Abschluss dieser Schritte wird die Verbindung innerhalb weniger Minuten hergestellt. Die BGP-Peeringsitzung ist aktiv, sobald die VNET-zu-VNET-Verbindung hergestellt wurde.

Nächste Schritte

Weitere Informationen zu BGP finden Sie unter Übersicht über BGP mit Azure VPN Gateway.