Klassisches VPN mit dynamischem Routing erstellen

Auf dieser Seite wird beschrieben, wie Sie mit dynamischem Routing 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

Cloud Router erstellen

Beim Konfigurieren eines neuen HA VPN-Gateways können Sie 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. Melden Sie sich bei Ihrem Google Cloud-Konto an. Wenn Sie mit Google Cloud noch nicht vertraut sind, erstellen Sie ein Konto, um die Leistungsfähigkeit unserer Produkte in der Praxis sehen und bewerten zu können. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.

    Zur Projektauswahl

  3. Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für Ihr Projekt aktiviert ist.

  4. Installieren und initialisieren Sie das Cloud SDK.
  1. Wenn Sie das gcloud-Befehlszeilentool verwenden, legen Sie Ihre Projekt-ID mit dem folgenden Befehl fest. Die gcloud-Anleitung auf dieser Seite setzt 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

Erstellen Sie vor dem Erstellen eines klassischen VPN-Gateways und eines Tunnels ein VPC-Netzwerk (Virtual Private Cloud) und mindestens ein Subnetz in der Region, in der sich das klassische VPN-Gateway befindet:

Gateway und Tunnel erstellen

Der VPN-Einrichtungsassistent ist die einzige Konsolenoption zum Erstellen eines klassischen VPN-Gateways. Der Assistent umfasst alle erforderlichen Konfigurationsschritte, um ein klassisches VPN-Gateway, Tunnel, BGP-Sitzungen und eine externe VPN-Gateway-Ressource zu erstellen. Bestimmte Schritte können Sie aber auch später ausführen. Beispielsweise BGP-Sitzungen konfigurieren.

Die Schaltfläche VPN-Gateway erstellen unterstützt nur das Erstellen von HA VPN-Gateways.

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.
    • Routingoptionen: Wählen Sie Dynamisch (BGP).
    • 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: Der Name 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 \
           --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 \
          --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 \
          --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
        
      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
        

Konfiguration abschließen

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

  1. Richten Sie das Peer-VPN-Gateway ein und konfigurieren Sie darauf den entsprechenden Tunnel. Eine Anleitung finden Sie hier:
  2. Konfigurieren Sie Firewallregeln in Google Cloud und Ihrem Peer-Netzwerk nach Bedarf.
  3. Prüfen Sie den Status Ihres VPN-Tunnels und der Weiterleitungsregeln.

Eine Organisationsrichtlinieneinschränkung zur Einschränkung der Peer-VPN-Gateway-IP-Adressen anwenden

ppeeSie können eine Google Cloud-Organisationsrichtlinieneinschränkung erstellen, die eine Reihe von IP-Adressen definiert, die für Peer-VPN-Gateways über klassische VPN- oder HA VPN-Tunnel zugelassen oder verweigert werden. Diese Einschränkung enthält eine Liste zugelassener oder gesperrter Peer-IP-Adressen, die für Cloud VPN-Tunnel gilt, die nach Anwendung der Einschränkung erstellt wurden. Weitere Informationen finden Sie unter Peer-IP-Adressen über einen Cloud VPN-Tunnel einschränken.

Verwenden Sie zum Erstellen einer Organisationsrichtlinie und zum Verknüpfen mit einer Organisation, einem Ordner oder einem Projekt die in den nächsten Abschnitten aufgeführten Beispiele und führen Sie die Schritte unter Einschränkungen verwenden aus.

Erforderliche Berechtigungen

Zum Festlegen einer Peer-IP-Einschränkung auf Organisations- oder Projektebene benötigen Sie die Rolle „Organisationsrichtlinienadministrator“ (roles/orgpolicy.policyAdmin) für Ihre Organisation.

Beschränkt die Verbindung von bestimmten Peer-IP-Adressen

Führen Sie die folgenden Schritte aus, um nur bestimmte Peer-IP-Adressen über einen Cloud VPN-Tunnel zuzulassen:

  1. Rufen Sie Ihre Organisations-ID mit dem folgenden Befehl auf:
    gcloud organizations list

    Die Befehlsausgabe sollte folgendermaßen aussehen:

          DISPLAY NAME             ID
          example-organization     29252605212
        
  2. Erstellen Sie eine JSON-Datei, die Ihre Richtlinie definiert, wie im folgenden Beispiel gezeigt:

         {
           "constraint": "constraints/compute.restrictVpnPeersIPs",
           "listPolicy": {
             "allowedValues": [
               "100.1.1.1",
             ],
           }
         }
       
  3. Legen Sie die Organisationsrichtlinie mit dem gcloud-Befehl set-policy des Resource Managers fest. Übergeben Sie die JSON-Datei und verwenden Sie die ORGANIZATION_ID aus dem vorherigen Schritt.

Konnektivität von allen Peer-IP-Adressen einschränken

Führen Sie die Schritte in dieser Beispieleinschränkung aus, um die Erstellung eines neuen Cloud VPN-Tunnels zu verbieten:

  1. Suchen Sie Ihre Organisations-ID oder die ID für den Knoten in Ihrer Ressourcenhierarchie, für den Sie eine Richtlinie festlegen möchten.
  2. Erstellen Sie eine JSON-Datei wie im folgenden Beispiel.

        {
          "constraint": "constraints/compute.restrictVpnPeersIPs",
          "listPolicy": {
            "allValues": "DENY"
          }
        }
    
  3. Übergeben Sie die JSON-Datei mit dem gleichen Befehl, den Sie zum Einschränken von bestimmten Peer-IP-Adressen verwenden würden.

Nächste Schritte