Crie políticas de trajetos BGP

Este guia descreve como criar políticas de rotas BGP no Cloud Router.

Pode criar políticas de rotas BGP para o Cloud Router através de qualquer uma das seguintes opções:

Crie uma política de rotas BGP

  1. Adicione uma política de encaminhamento ao seu Cloud Router:

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

    Substitua o seguinte:

    • ROUTER_NAME: o nome do Cloud Router
    • BGP_ROUTE_POLICY_NAME: um nome para a política de rotas BGP
    • ROUTE_POLICY_TYPE: o tipo de política a adicionar, IMPORT para rotas de entrada ou EXPORT para rotas de saída.
    • REGION: a região em que o Cloud Router está localizado

    Por exemplo, o seguinte comando adiciona uma política de encaminhamento para rotas de entrada ao seu Cloud Router:

    gcloud compute routers add-route-policy ROUTER_NAME \
        --policy-name=BGP_ROUTE_POLICY_NAME \
        --policy-type=IMPORT \
        --region=REGION
    
  2. Adicione um termo de política de rotas BGP executando o seguinte 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
    

    Substitua o seguinte:

    • ROUTE_POLICY_PRIORITY: the priority for this policy, such as1`.
    • ROUTE_POLICY_MATCH_EXPRESSION: uma expressão a corresponder para esta política de trajeto
    • ROUTE_POLICY_ACTIONS_EXPRESSION: ações para esta política de rota

    Por exemplo, o comando seguinte cria uma política BGP para definir o valor do atributo do discriminador de saída múltipla (MED) do BGP como 12345 para rotas BGP que não estão incluídas em 192.168.10.0/24 e que correspondem ao conjunto de comunidades BGP 65000:1 e 65000:2.

    gcloud 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)'
    

    Substitua ROUTE_POLICY_PRIORITY pela prioridade que quer para esta política, como 1.

Carregue uma política de rotas BGP

  1. Crie a política de rotas BGP no seu editor de texto preferido. Pode usar a formatação JSON ou YAML para criar a sua política de rotas BGP. O exemplo seguinte usa um ficheiro 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
    

    Substitua o seguinte:

    • BGP_ROUTE_POLICY_NAME: um nome para a política de rotas BGP.
    • ROUTE_POLICY_TYPE: o tipo de política de rotas BGP que está a criar. O tipo pode ser um dos seguintes:

      • ROUTE_POLICY_TYPE_IMPORT: políticas de rotas BGP para rotas de entrada.
      • ROUTE_POLICY_TYPE_EXPORT: políticas de rotas BGP para rotas de saída.
    • ROUTE_POLICY_PRIORITY: a prioridade desta política, como 1.

    • ROUTE_POLICY_MATCH_EXPRESSION: uma expressão a corresponder para esta política de trajeto

    • ROUTE_POLICY_ACTIONS_EXPRESSION: ações para esta política de rota

    Por exemplo, o seguinte comando do ficheiro YAML cria uma política BGP para rotas de entrada que define o valor do atributo discriminador de saída múltipla (MED) do BGP como 12345 para rotas BGP que não estão incluídas em 192.168.10.0/24 e que correspondem ao conjunto de comunidades 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. Carregue a política de rotas BGP:

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

    Substitua o seguinte:

    • ROUTER_NAME: o nome do Cloud Router
    • REGION: a região em que o Cloud Router se encontra
    • FILENAME: o nome do ficheiro que está a carregar
  3. Aplique as políticas de rotas BGP a pares BGP:

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

    Substitua o seguinte:

    • PEER_NAME: o nome do par de BGP ao qual aplicar a política de rotas de BGP.
    • IMPORT_POLICIES: uma lista separada por vírgulas de políticas de importação. A transmissão de uma string vazia remove todas as políticas de importação.

O que se segue?