Crea policy di route BGP

Questa guida descrive come creare policy di route BGP in router Cloud.

Puoi creare policy di route BGP per router Cloud utilizzando uno dei seguenti metodi:

Crea una policy di route BGP

  1. Aggiungi una policy di route al router Cloud:

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

    Sostituisci quanto segue:

    • ROUTER_NAME: il nome del router Cloud
    • BGP_ROUTE_POLICY_NAME: un nome per la policy di route BGP
    • ROUTE_POLICY_TYPE: il tipo di policy da aggiungere, IMPORT per le route apprese o EXPORT per le route annunciate.
    • REGION: la regione in cui si trova il router Cloud

    Ad esempio, il seguente comando aggiunge una policy di route per le route apprese al tuo router Cloud:

    gcloud compute routers add-route-policy ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --policy-type=IMPORT \
        --region=REGION
    
  2. Aggiungi un termine della policy di route BGP eseguendo questo comando:

    gcloud 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
    

    Sostituisci quanto segue:

    • ROUTE_POLICY_PRIORITY: la priorità per questa policy, ad esempio 1.
    • ROUTE_POLICY_MATCH_EXPRESSION: un'espressione da corrispondere per questa policy di routing
    • ROUTE_POLICY_ACTIONS_EXPRESSION: azioni per questa policy di routing

    Ad esempio, il seguente comando crea una policy BGP per impostare il valore dell'attributo discriminatore di uscita multipla (MED) BGP su 12345 per le route BGP incluse nel set denominato allowed-prefixes.

    gcloud compute routers add-route-policy-term ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --region=REGION \
        --priority=ROUTE_POLICY_PRIORITY \
        --match='destination.inAnyRange(prefixSets("allowed-prefixes"))' \
        --actions='med.set(12345)'
    

    Sostituisci ROUTE_POLICY_PRIORITY con la priorità che vuoi per questa policy, ad esempio 1.

Carica una policy di route BGP

  1. Crea la policy di route BGP nell'editor di testo che preferisci. Puoi utilizzare la formattazione JSON o YAML per creare la tua policy di route BGP. L'esempio seguente utilizza un file YAML:

    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
    

    Sostituisci quanto segue:

    • BGP_ROUTE_POLICY_NAME: un nome per la policy di route BGP.
    • ROUTE_POLICY_TYPE: il tipo di policy di route BGP che stai creando. Il tipo può essere uno dei seguenti:

      • ROUTE_POLICY_TYPE_IMPORT: policy di route BGP per le route apprese.
      • ROUTE_POLICY_TYPE_EXPORT: policy di route BGP per le route annunciate.
    • ROUTE_POLICY_PRIORITY: la priorità per questa policy, ad esempio 1.

    • ROUTE_POLICY_MATCH_EXPRESSION: un'espressione da corrispondere per questa policy di routing

    • ROUTE_POLICY_ACTIONS_EXPRESSION: azioni per questa policy di routing

    Ad esempio, il seguente comando del file YAML crea una policy BGP per le route apprese che imposta il valore dell'attributo BGP Multiple Exit Discriminator (MED) su 12345 per le route BGP non incluse in 192.168.10.0/24 e che corrispondono al set di community BGP 65000:1 e 65000:2.

    # 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. Carica la policy di route BGP:

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

    Sostituisci quanto segue:

    • ROUTER_NAME: il nome del router Cloud
    • REGION: la regione in cui si trova il router Cloud
    • FILENAME: il nome del file che stai caricando
  3. Applica le policy di route BGP ai peer BGP:

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

    Sostituisci quanto segue:

    • PEER_NAME: il nome del peer BGP a cui applicare la policy di routing BGP.
    • IMPORT_POLICIES: un elenco separato da virgole di criteri di importazione. Il passaggio di una stringa vuota rimuove tutti i criteri di importazione.

Passaggi successivi