Klassisches VPN mit dynamischem Routing erstellen

Auf dieser Seite wird beschrieben, wie Sie mithilfe des dynamischen Routings ein klassisches VPN-Gateway und einen Tunnel erstellen, der das Border Gateway Protocol (BGP) verwendet.

Beim dynamischen Routing geben Sie keine lokale oder Remote-Trafficauswahl an, sondern verwenden einen Cloud Router. Routeninformationen werden dynamisch ausgetauscht.

Weitere Informationen zu Cloud VPN finden Sie in den folgenden Ressourcen:

Voraussetzungen

Allgemeine Richtlinien

VPN-Software von Drittanbietern auf einer Compute Engine-VM installieren

Wenn Sie einen klassischen VPN-Tunnel mit dynamischem Routing erstellen, muss die IP-Adresse, die Sie für Ihre Peer-VPN-Gateway-Schnittstelle angeben, einer Compute Engine-VM zugewiesen sein.

Daher müssen Sie VPN-Software von Drittanbietern auf einer Compute Engine-VM installieren, bevor Sie Tunnel für klassisches VPN erstellen können. Beim Konfigurieren Ihrer klassischen VPN-Tunnel geben Sie die externe IP-Adresse der Compute Engine-VM als Peer-VPN-Gateway-Schnittstelle an.

Darüber hinaus muss die IP-Adresse der Peer-VPN-Gateway-Schnittstelle aus Googles regionalem externen IPv4-Adresspool zugewiesen werden. Die IP-Adresse darf nicht zu einem BYOIP (Bring your own IP address)-Bereich gehören.

Cloud Router erstellen

Sie müssen einen Cloud Router verwenden, um Tunnel zu erstellen, die dynamisches Routing mit klassischem VPN verwenden. Sie können einen neuen Cloud Router erstellen oder einen vorhandenen Cloud Router mit vorhandenen Cloud VPN-Tunneln oder VLAN-Anhängen verwenden. Aufgrund der spezifischen ASN-Anforderungen des Anhangs darf der von Ihnen verwendete Cloud Router jedoch noch keine BGP-Sitzung für einen VLAN-Anhang verwalten, der mit einer Partner Interconnect-Verbindung verknüpft ist.

Hinweis

Richten Sie die folgenden Elemente in Google Cloud ein, um das Konfigurieren von Cloud VPN zu vereinfachen:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

    gcloud init
  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  7. Die Abrechnung für das Google Cloud-Projekt muss aktiviert sein.

  8. Install the Google Cloud CLI.
  9. To initialize the gcloud CLI, run the following command:

    gcloud init
  1. Wenn Sie das Google Cloud CLI verwenden, legen Sie Ihre Projekt-ID mit dem folgenden Befehl fest. Die gcloud-Anweisungen auf dieser Seite setzen voraus, dass Sie Ihre Projekt-ID festgelegt haben, bevor Sie Befehle verwenden.

        gcloud config set project PROJECT_ID
        
  1. Sie können auch eine Projekt-ID aufrufen, die bereits festgelegt wurde, indem Sie den folgenden Befehl ausführen:

        gcloud config list --format='text(core.project)'
        

Benutzerdefiniertes VPC-Netzwerk und -Subnetz erstellen

Bevor Sie ein klassisches VPN-Gateway und einen Tunnel erstellen, müssen Sie ein VPC-Netzwerk (Virtual Private Cloud) und mindestens ein Subnetz in der Region erstellen, in der sich das klassische VPN-Gateway befindet.

Gateway und Tunnel erstellen

Console

Gateway konfigurieren

  1. Rufen Sie die VPN-Seite in der Google Cloud Console auf.
    Zur VPN-Seite
    1. Wenn Sie zum ersten Mal ein Gateway erstellen, wählen Sie die Schaltfläche VPN-Verbindung erstellen aus.
    2. Wählen Sie den VPN-Einrichtungsassistenten aus.
  2. Wählen Sie das Optionsfeld für Klassisches VPN aus.
  3. Klicken Sie auf Weiter.
  4. Geben Sie auf der Seite VPN-Verbindung erstellen die folgenden Gateway-Einstellungen an:
    • Name: Der Name des VPN-Gateways. Der Name kann später nicht mehr geändert werden.
    • Beschreibung: (Optional) Fügen Sie eine Beschreibung hinzu.
    • Netzwerk: Geben Sie ein vorhandenes VPC-Netzwerk an, in dem das VPN-Gateway und der Tunnel erstellt werden sollen.
    • Region: Cloud VPN-Gateways und Tunnel sind regionale Objekte. Wählen Sie eine Google Cloud-Region aus, in der sich das Gateway befinden soll. Instanzen und andere Ressourcen in unterschiedlichen Regionen können den Tunnel für ausgehenden Traffic entsprechend der Reihenfolge der Routen verwenden. Für eine optimale Leistung sollten sich das Gateway und der Tunnel in derselben Region wie relevante Google Cloud-Ressourcen befinden.
    • IP-Adresse: Erstellen Sie eine regionale externe IP-Adresse oder wählen Sie eine vorhandene Adresse aus.

Tunnel konfigurieren

  1. Geben Sie im Bereich Tunnel folgendes für den neuen Tunnel ein:

    • Name: Der Name des VPN-Tunnels; Der Name kann später nicht mehr geändert werden.
    • Beschreibung: Geben Sie optional eine Beschreibung ein.
    • Remote-Peer-IP-Adresse: Geben Sie die externe IP-Adresse des Peer-VPN-Gateways an.
    • IKE-Version: Wählen Sie die geeignete IKE-Version aus, die vom Peer-VPN-Gateway unterstützt wird. IKEv2 wird bevorzugt, wenn es vom Peer-Gerät unterstützt wird.

    • Gemeinsam genutzter Schlüssel: Geben Sie für die Authentifizierung einen vorinstallierten Schlüssel an. Das gemeinsame Secret für den Cloud VPN-Tunnel muss mit dem Secret übereinstimmen, das Sie beim Konfigurieren des Tunnelgegenstücks auf dem Peer-VPN-Gateway angegeben haben. Weitere Informationen erhalten Sie unter Starken vorinstallierten Schlüssel generieren.

    • Routing-Optionen: Wählen Sie Dynamisch (BGP) aus. Sie können dynamisches Routing nur für die Verbindung mit VPN-Gateway-Software von Drittanbietern verwenden, die in einer Google Cloud-VM-Instanz ausgeführt wird.

    • Cloud Router: Erstellen Sie, sofern noch nicht geschehen, einen neuen Cloud Router mit den unten aufgeführten Optionen. Alternativ können Sie einen vorhandenen Cloud Router verwenden, wenn der Cloud Router noch keine BGP-Sitzung für einen Interconnect-Anhang verwaltet, der mit einer Partner Interconnect-Verbindung verknüpft ist. Wenn Sie einen vorhandenen Cloud Router auswählen, wird trotzdem eine neue BGP-Sitzung gestartet, jedoch mit derselben Google-ASN. Geben Sie die folgenden Details an, um einen neuen Cloud Router zu erstellen:

      • Name: Den Namen des Cloud Routers. Der Name kann später nicht mehr geändert werden.
      • Beschreibung: Geben Sie optional eine Beschreibung ein.
      • Google-ASN: Wählen Sie eine private ASN (64512 bis 65534, 4200000000 bis 4294967294) aus. Diese Google-ASN wird für alle vom Cloud Router verwalteten BGP-Sitzungen verwendet. Die ASN kann später nicht mehr geändert werden.
      • Klicken Sie auf Speichern und fortfahren.
    • BGP-Sitzung: Klicken Sie auf das Stiftsymbol und geben Sie die folgenden Details ein. Klicken Sie anschließend auf Speichern und fortfahren:

      • Name: Der Name der BGP-Sitzung. Dieser kann später nicht mehr geändert werden.
      • Peer-ASN: Eine öffentliche oder private (64512 bis 65534, 4200000000 bis 4294967294) ASN, die von Ihrem Peer-VPN-Gateway verwendet wird.
      • Priorität der bekannt gegebenen Route: (Optional) Die Basispriorität, die Cloud Router beim Advertising der Routen "zur Google Cloud" verwendet. Weitere Informationen finden Sie unter Beworbene Präfixe und Prioritäten. Ihr Peer-VPN-Gateway importiert diese als MED-Werte.
      • BGP-IP-Adresse des Cloud Routers und BGP-Peer-IP-Adresse: Die beiden IP-Adressen der BGP-Schnittstellen müssen link-local-IP-Adressen sein, die zu einer gemeinsamen CIDR vom Typ /30 aus dem Block 169.254.0.0/16 gehören. Jede BGP-IP-Adresse definiert die jeweilige Link-Local-IP-Adresse, die zum Austausch von Routeninformationen verwendet wird. Beispielsweise gehören 169.254.1.1 und 169.254.1.2 zu einem gemeinsamen Block vom Typ /30.
  2. Wenn Sie mehrere Tunnel auf demselben Gateway erstellen möchten, klicken Sie auf Tunnel hinzufügen und wiederholen Sie den vorherigen Schritt. Sie können später weitere Tunnel hinzufügen.

  3. Klicken Sie auf Erstellen.

gcloud

Ersetzen Sie in den folgenden Befehlen:

  • PROJECT_ID durch die ID Ihres Projekts.
  • NETWORK durch den Namen des Google Cloud-Netzwerks.
  • REGION durch die Google Cloud-Region, in der Sie das Gateway und den Tunnel erstellen müssen.
  • (Optional) --target-vpn-gateway-region ist die Region des klassischen VPN-Gateways, in der der Vorgang ausgeführt werden soll. Der Wert muss mit --region übereinstimmen. Wenn sie nicht angegeben ist, wird diese Option automatisch festgelegt. Diese Option überschreibt für diesen Befehlsaufruf den Standardwert des Attributs "compute/region".
  • GW_NAME durch den Namen des Gateways.
  • GW_IP_NAME durch einen Namen für die vom Gateway verwendete externe IP-Adresse.

Führen Sie die folgende Befehlssequenz aus, um ein Google Cloud-Gateway zu erstellen:

  1. Erstellen Sie die Ressourcen für das Cloud VPN-Gateway:

    1. Erstellen Sie das Zielobjekt für das VPN-Gateway.

      gcloud compute target-vpn-gateways create GW_NAME \
          --network NETWORK \
          --region REGION \
          --project PROJECT_ID
      
    2. Reservieren Sie eine regionale externe (statische) IP-Adresse.

      gcloud compute addresses create GW_IP_NAME \
          --region REGION \
          --project PROJECT_ID
      
    3. Notieren Sie die IP-Adresse, damit Sie sie bei der Konfiguration Ihres Peer-VPN-Gateways verwenden können:

      gcloud compute addresses describe GW_IP_NAME \
          --region REGION \
          --project PROJECT_ID \
          --format='flattened(address)'
      
    4. Erstellen Sie drei Weiterleitungsregeln. Mit diesen Regeln wird Google Cloud angewiesen, Traffic vom Typ ESP (IPsec), UDP 500 und UDP 4500 an das Gateway zu senden.

       gcloud compute forwarding-rules create fr-GW_NAME-esp \
           --load-balancing-scheme=EXTERNAL \
           --ip-protocol ESP \
           --address GW_IP_NAME \
           --target-vpn-gateway GW_NAME \
           --region REGION \
           --project PROJECT_ID
      
      gcloud compute forwarding-rules create fr-GW_NAME-udp500 \
          --load-balancing-scheme=EXTERNAL \
          --ip-protocol UDP \
          --ports 500 \
          --address GW_IP_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
      gcloud compute forwarding-rules create fr-GW_NAME-udp4500 \
          --load-balancing-scheme=EXTERNAL \
          --ip-protocol UDP \
          --ports 4500 \
          --address GW_IP_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
  2. Wenn Sie dies noch nicht getan haben, führen Sie den folgenden Befehl aus, um einen Cloud Router zu erstellen. Ersetzen Sie die Optionen wie unten beschrieben. Alternativ können Sie einen vorhandenen Cloud Router verwenden, solange der Cloud Router noch keine BGP-Sitzung für einen Interconnect-Anhang verwaltet, der mit einer Partner Interconnect-Verbindung verknüpft ist.

    • Ersetzen Sie ROUTER_NAME durch einen Namen für den Cloud Router.
    • Ersetzen Sie GOOGLE_ASN durch eine private ASN (64512 bis 65534, 4200000000 bis 4294967294). Die Google-ASN wird für alle BGP-Sitzungen auf demselben Cloud Router verwendet und kann später nicht mehr geändert werden.
      gcloud compute routers create ROUTER_NAME \
      --asn GOOGLE_ASN \
      --network NETWORK \
      --region REGION \
      --project PROJECT_ID
    
  3. Erstellen Sie den Cloud VPN-Tunnel mit den folgenden Details:

    • Ersetzen Sie TUNNEL_NAME durch einen Namen für den Tunnel.
    • Ersetzen Sie ON_PREM_IP durch die externe IP-Adresse des Peer-VPN-Gateways.
    • Ersetzen Sie IKE_VERS durch 1 für IKEv1 oder 2 für IKEv2.
    • Ersetzen Sie SHARED_SECRET durch Ihr gemeinsames Secret. Das gemeinsame Secret für den Cloud VPN-Tunnel muss mit dem Secret übereinstimmen, das Sie beim Konfigurieren des Tunnelgegenstücks auf dem Peer-VPN-Gateway angegeben haben. Weitere Informationen erhalten Sie unter Starken vorinstallierten Schlüssel generieren.
    • Ersetzen Sie ROUTER_NAME durch den Namen des Cloud Routers, mit dem Sie Routen für den Cloud VPN-Tunnel verwalten möchten. Der Cloud Router muss vor der Tunnelerstellung vorhanden sein.

      gcloud compute vpn-tunnels create TUNNEL_NAME \
          --peer-address ON_PREM_IP \
          --ike-version IKE_VERS \
          --shared-secret SHARED_SECRET \
          --router ROUTER_NAME \
          --target-vpn-gateway GW_NAME \
          --region REGION \
          --project PROJECT_ID
      
  4. Konfigurieren Sie eine BGP-Sitzung für den Cloud Router. Erstellen Sie hierfür eine Schnittstelle und einen BGP-Peer. Sie haben folgende Möglichkeiten:

    • Wenn die Link-Local-BGP-IP-Adressen in der Google Cloud automatisch ausgewählt werden sollen:

      1. Fügen Sie dem Cloud Router eine neue Schnittstelle hinzu. Geben Sie einen Namen für die Schnittstelle ein, indem Sie INTERFACE_NAME ersetzen.

        gcloud compute routers add-interface ROUTER_NAME \
            --interface-name INTERFACE_NAME \
            --vpn-tunnel TUNNEL_NAME \
            --region REGION \
            --project PROJECT_ID
        
      2. Fügen Sie der Schnittstelle einen BGP-Peer hinzu. Ersetzen Sie PEER_NAME durch einen Namen für den Peer und PEER_ASN durch die ASN, die für das Peer-VPN-Gateway konfiguriert wurde.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name PEER_NAME \
            --peer-asn PEER_ASN \
            --interface INTERFACE_NAME \
            --region REGION \
            --project PROJECT_ID
        

        Fügen Sie das Flag --set-custom-learned-route-ranges hinzu, wenn Sie benutzerdefinierte erkannte Routen für den Peer definieren möchten. Sie können auch das Flag --custom-learned-route-priority verwenden, um einen Prioritätswert zwischen 0 und 65535 (einschließlich) für die Routen festzulegen. Jede BGP-Sitzung kann einen Prioritätswert haben, der für alle benutzerdefinierten erkannten Routen gilt, die Sie für die Sitzung konfiguriert haben. Weitere Informationen zu diesem Feature finden Sie unter Benutzerdefinierte erkannte Routen.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name=PEER_NAME_0 \
            --peer-asn=PEER_ASN \
            --interface=ROUTER_INTERFACE_NAME_0 \
            --region=REGION \
            --set-custom-learned-route-ranges=IP_ADDRESS_RANGES \
            --custom-learned-route-priority=PRIORITY
        
      3. Listen Sie die vom Cloud Router ausgewählten BGP-IP-Adressen auf. Wenn Sie einem vorhandenen Cloud Router eine neue Schnittstelle hinzugefügt haben, sollten die BGP-IP-Adressen für die neue Schnittstelle mit der höchsten Indexnummer aufgelistet werden. Die Peer-IP-Adresse ist die BGP-IP, die Sie zur Konfiguration Ihres Peer-VPN-Gateways verwenden sollten.

        gcloud compute routers get-status ROUTER_NAME \
             --region REGION \
             --project PROJECT_ID \
             --format='flattened(result.bgpPeerStatus[].ipAddress, \
             result.bgpPeerStatus[].peerIpAddress)'
        

        Die erwartete Ausgabe für einen Cloud Router, der einen einzelnen Cloud VPN-Tunnel (Index 0) verwaltet, sieht so aus, wobei GOOGLE_BGP_IP die BGP-IP-Adresse der Schnittstelle des Cloud Routers und ON_PREM_BGP_IP die BGP-IP-Adresse des Peers darstellt.

        result.bgpPeerStatus[0].ipAddress:     GOOGLE_BGP_IP
        result.bgpPeerStatus[0].peerIpAddress: ON_PREM_BGP_IP
        
    • So weisen Sie die BGP-IP-Adressen, die mit der Google Cloud-BGP-Schnittstelle und dem Peer verknüpft sind, manuell zu:

      1. Wählen Sie ein Paar Link-Local-BGP-IP-Adressen in einem Block vom Typ /30 aus dem Bereich 169.254.0.0/16 aus. Weisen Sie dem Cloud Router im nächsten Befehl eine dieser BGP-IP-Adressen zu. Ersetzen Sie dazu GOOGLE_BGP_IP. Die andere BGP-IP-Adresse wird für Ihr Peer-VPN-Gateway verwendet. Sie müssen Ihr Gerät für die Verwendung dieser Adresse konfigurieren und ON_PREM_BGP_IP im letzten Befehl unten ersetzen.

      2. Fügen Sie dem Cloud Router eine neue Schnittstelle hinzu. Geben Sie einen Namen für die Schnittstelle ein, indem Sie INTERFACE_NAME ersetzen.

        gcloud compute routers add-interface ROUTER_NAME \
            --interface-name INTERFACE_NAME \
            --vpn-tunnel TUNNEL_NAME \
            --ip-address GOOGLE_BGP_IP \
            --mask-length 30 \
            --region REGION \
            --project PROJECT_ID
        
      3. Fügen Sie der Schnittstelle einen BGP-Peer hinzu. Ersetzen Sie PEER_NAME durch einen Namen für den Peer und PEER_ASN durch die ASN, die für das Peer-VPN-Gateway konfiguriert wurde.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name PEER_NAME \
            --peer-asn PEER_ASN \
            --interface INTERFACE_NAME \
            --peer-ip-address ON_PREM_BGP_IP \
            --region REGION \
            --project PROJECT_ID
        

        Fügen Sie das Flag --set-custom-learned-route-ranges hinzu, wenn Sie benutzerdefinierte erkannte Routen für den Peer definieren möchten. Optional können Sie auch das Flag --custom-learned-route-priority verwenden, um einen Prioritätswert zwischen 0 und 65535 (einschließlich) für die Routen festzulegen. Jede BGP-Sitzung kann einen Prioritätswert haben, der für alle benutzerdefinierten erkannten Routen gilt, die Sie für die Sitzung konfiguriert haben. Weitere Informationen zu diesem Feature finden Sie unter Benutzerdefinierte erkannte Routen.

        gcloud compute routers add-bgp-peer ROUTER_NAME \
            --peer-name=PEER_NAME_0 \
            --peer-asn=PEER_ASN \
            --interface=ROUTER_INTERFACE_NAME_0 \
            --region=REGION \
            --set-custom-learned-route-ranges=IP_ADDRESS_RANGES \
            --custom-learned-route-priority=PRIORITY
        

Konfiguration abschließen

Führen Sie die folgenden Schritte aus, bevor Sie ein neues Cloud VPN-Gateway und die zugehörigen VPN-Tunnel verwenden können:

  1. Schließen Sie die Konfiguration des Peer-VPN-Gateways mit der VPN-Software des Drittanbieters auf Ihrer Google Cloud-VM-Instanz ab. Konfigurieren Sie dort den entsprechenden Tunnel. Sie können dynamisches Routing nur mit klassischem VPN verwenden, um eine Verbindung zu in Google Cloud ausgeführter VPN-Software von Drittanbietern herzustellen.
  2. Konfigurieren Sie Firewallregeln in Google Cloud und Ihrem Peer-Netzwerk nach Bedarf.
  3. Prüfen Sie den Status Ihres VPN-Tunnels und Ihrer Weiterleitungsregeln.

Nächste Schritte