BGP-Routenrichtlinien erstellen

In dieser Anleitung wird beschrieben, wie Sie BGP-Routenrichtlinien in Cloud Router erstellen.

Sie können BGP-Routenrichtlinien für Cloud Router mit einer der folgenden Methoden erstellen:

BGP-Routenrichtlinie erstellen

  1. Fügen Sie Ihrem Cloud Router eine Routenrichtlinie hinzu:

    gcloud beta compute routers add-route-policy ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --policy-type=ROUTE_POLICY_TYPE \
        --region=REGION
    

    Ersetzen Sie Folgendes:

    • ROUTER_NAME: Der Name des Cloud Routers
    • BGP_ROUTE_POLICY_NAME: ein Name für die BGP-Routenrichtlinie
    • ROUTE_POLICY_TYPE: der Typ der hinzuzufügenden Richtlinie, entweder IMPORT für eingehenden Traffic oder EXPORT für ausgehenden Traffic.
    • REGION: Die Region, in der sich der Cloud Router befindet

    Mit dem folgenden Befehl wird beispielsweise eine Routingrichtlinie für eingehende Routen dem Cloud Router hinzugefügt:

    gcloud beta compute routers add-route-policy ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --policy-type=IMPORT \
        --region=REGION
    
  2. Führen Sie den folgenden Befehl aus, um einen Begriff für die BGP-Routenrichtlinie hinzuzufügen:

    gcloud beta compute routers add-route-policy-term ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --region=REGION \
        --priority=ROUTE_POLICY_PRIORITY \
        --match=ROUTE_POLICY_MATCH_EXPRESSION \
        --actions=ROUTE_POLICY_ACTIONS_EXPRESSION
    

    Ersetzen Sie Folgendes:

    • ROUTE_POLICY_PRIORITY: the priority for this policy, such as1`.
    • ROUTE_POLICY_MATCH_EXPRESSION: ein Ausdruck, der mit dieser Routenrichtlinie abgeglichen werden soll
    • ROUTE_POLICY_ACTIONS_EXPRESSION: Aktionen für diese Routingrichtlinie

    Mit dem folgenden Befehl wird beispielsweise eine BGP-Richtlinie erstellt, um den BGP MED-Attributwert (Multiple Exit Discriminator) auf 12345 festzulegen. Dies gilt für BGP-Routen, die nicht in 192.168.10.0/24 enthalten sind und mit den BGP-Communitys 65000:1 und 65000:2 übereinstimmen.

    gcloud beta compute routers add-route-policy-term ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --region=REGION \
        --priority=ROUTE_POLICY_PRIORITY \
        --match='destination != "192.168.10.0/24" && communities.matchesEvery(["65000:1", "65000:2"])' \
        --actions='med.set(12345)'
    

    Ersetzen Sie ROUTE_POLICY_PRIORITY durch die gewünschte Priorität für diese Richtlinie, z. B. 1.

BGP-Routenrichtlinie hochladen

  1. Erstellen Sie die BGP-Routenrichtlinie in Ihrem bevorzugten Texteditor. Sie können die BGP-Routenrichtlinie in JSON- oder YAML-Format erstellen. Im folgenden Beispiel wird eine YAML-Datei verwendet:

    name: BGP_ROUTE_POLICY_NAME
    type: ROUTE_POLICY_TYPE 
    terms:
    - priority: ROUTE_POLICY_PRIORITY
      match:
        expression: >
          ROUTE_POLICY_MATCH_EXPRESSION
      actions:
      - expression: ROUTE_POLICY_ACTIONS_EXPRESSION
    

    Ersetzen Sie Folgendes:

    • BGP_ROUTE_POLICY_NAME: ein Name für die BGP-Routenrichtlinie. .
    • ROUTE_POLICY_TYPE: die Art der BGP-Routenrichtlinie, die Sie erstellen. Der Typ kann einer der folgenden sein:

      • ROUTE_POLICY_TYPE_IMPORT: BGP-Routenrichtlinien für eingehende Routen.
      • ROUTE_POLICY_TYPE_EXPORT: BGP-Routenrichtlinien für ausgehende Routen.
    • ROUTE_POLICY_PRIORITY: die Priorität für diese Richtlinie, z. B. 1.

    • ROUTE_POLICY_MATCH_EXPRESSION: ein Ausdruck, der mit dieser Routenrichtlinie abgeglichen werden soll

    • ROUTE_POLICY_ACTIONS_EXPRESSION: Aktionen für diese Routingrichtlinie

    Mit dem folgenden Befehl für eine YAML-Datei wird beispielsweise eine BGP-Richtlinie für eingehende Routen erstellt, die den BGP MED-Attributwert (Multiple Exit Discriminator) auf 12345 für BGP-Routen festlegt, die nicht in 192.168.10.0/24 enthalten sind und mit den BGP-Communitys 65000:1 und 65000:2 übereinstimmen.

    # Set the MED value for BGP routes that aren't 192.168.10.0/24 and
    # communities that include (65000:1, 65000:2)
    name: BGP_ROUTE_POLICY_NAME
    type: ROUTE_POLICY_TYPE_IMPORT
    terms:
    - priority: 1
      match:
        expression: >
          destination != '192.168.10.0/24' && communities.matchesEvery(['65000:1', '65000:2'])
      actions:
      - expression: med.set(12345)
    
  2. Laden Sie die BGP-Routenrichtlinie hoch:

    gcloud beta compute routers upload-route-policy ROUTER_NAME \
        --region=REGION \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --file-name=FILE_NAME \
        --file-format=yaml
    

    Ersetzen Sie Folgendes:

    • ROUTER_NAME: Der Name des Cloud Routers
    • REGION: die Region, in der sich der Cloud Router befindet
    • FILENAME: der Dateiname, den Sie hochladen
  3. Wenden Sie die BGP-Routenrichtlinien auf BGP-Peers an:

    gcloud beta compute routers update-bgp-peer ROUTER_NAME \
        --region=REGION \
        --peer-name=PEER_NAME \
        --import-policies='IMPORT_POLICIES'
    

    Ersetzen Sie Folgendes:

    • PEER_NAME: der Name des BGP-Peers, auf den die BGP-Routenrichtlinie angewendet werden soll.
    • IMPORT_POLICIES: eine durch Kommas getrennte Liste von Importrichtlinien. Wenn Sie einen leeren String übergeben, werden alle Importrichtlinien entfernt.

Nächste Schritte