Divulgar intervalos de IP personalizados

Use o modo de divulgação personalizado em um Cloud Router ou uma sessão do Border Gateway Protocol (BGP) em um Cloud Router para divulgar intervalos de endereços IP diferentes dos intervalos de endereços IP de sub-rede da sua rede de nuvem privada virtual (VPC). Por exemplo, é possível divulgar intervalos de endereços IP externos, arbitrários ou internos a partir de intervalos de endereços IP de outras redes VPC conectadas à sua rede VPC. Sua rede VPC pode estar conectada por meio de peering de rede VPC ou spokes VPC no Network Connectivity Center.

Quando um Cloud Router é configurado para usar o modo de divulgação padrão, ele divulga apenas rotas para sub-redes que fazem parte da mesma rede VPC que o Cloud Router. Neste modo, o Cloud Router exclui todas as rotas estáticas e aprendidas dinamicamente de outras redes VPC, como rotas aprendidas pelo peering de rede VPC ou por spokes VPC no Network Connectivity Center.

Para especificar rotas divulgadas personalizadas ao criar um Cloud Router ou configurar uma sessão do BGP, consulte Criar Cloud Routers ou Estabelecer sessões do BGP.

Especificar rotas divulgadas personalizadas em um Cloud Router

Para especificar rotas divulgadas personalizadas em um Cloud Router atual, siga estas etapas.

Console

  1. No console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. Selecione o roteador do Cloud a ser atualizado.

  3. Na página Detalhes do Router, clique em Editar.

  4. Na seção Rotas divulgadas, para Rotas, selecione Criar rotas personalizadas.

  5. Selecione a caixa de seleção Divulgar todas as sub-redes visíveis para o Cloud Router para continuar divulgando as sub-redes disponíveis para o Cloud Router. A ativação dessa opção imita o comportamento do Cloud Router no modo de divulgação padrão.

  6. Selecione Adicionar rota personalizada para adicionar uma rota anunciada.

  7. Configure as rotas divulgadas personalizadas:

    • Origem: selecione Intervalo de IP personalizado.
    • Intervalo de endereços IP: use a notação CIDR para especificar o intervalo de IP personalizado. É possível especificar os intervalos de IP personalizados IPv4 e IPv6. No entanto, os intervalos personalizados IPv6 são anunciados apenas em sessões do BGP em que o IPv6 está ativado.
    • Descrição: adicione uma descrição para ajudar a identificar o propósito dessa rota anunciada personalizada e clique em Concluído.
  8. Depois de terminar de adicionar as rotas personalizadas, clique em Salvar.

gcloud

Execute o comando update. Para especificar os intervalos de IP personalizados, use a sinalização --set-advertisement-ranges ou --add-advertisement-ranges.

  1. Use a sinalização --set-advertisement-ranges. Todas as divulgações personalizadas existentes serão substituídas:

    gcloud compute routers update ROUTER_NAME \
       --project=PROJECT_ID \
       --advertisement-mode custom \
       --set-advertisement-groups=ADVERTISED_GROUPS \
       --set-advertisement-ranges=ADVERTISED_IP_RANGES
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • PROJECT_ID: o projeto que contém o Cloud Router
    • ADVERTISED_GROUPS: um grupo definido pelo Google que o Cloud Router divulga dinamicamente

      O único valor válido é all_subnets, que divulga sub-redes com base no modo de roteamento dinâmico da rede VPC (semelhante ao modo de divulgação padrão).

    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

      É possível especificar os intervalos de IP personalizados IPv4 e IPv6. No entanto, os intervalos personalizados IPv6 são anunciados apenas em sessões do BGP em que o IPv6 está ativado.

    O exemplo a seguir atualiza o Cloud Router my-router para divulgar todas as sub-redes e os intervalos de IP personalizados 1.2.3.4 e 6.7.0.0/16:

    gcloud compute routers update my-router \
       --advertisement-mode custom \
       --set-advertisement-groups all_subnets \
       --set-advertisement-ranges 1.2.3.4,6.7.0.0/16
    

    O exemplo a seguir atualiza o Cloud Router my-router para divulgar todas as sub-redes e o intervalo IPv6 padrão:

    gcloud compute routers update my-router \
       --advertisement-mode custom \
       --set-advertisement-groups all_subnets \
       --set-advertisement-ranges ::/0
    

    O Cloud Router anuncia intervalos IPv6 apenas em sessões do BGP que estão ativadas para IPv6.

    A sinalização --set-advertisement-groups aceita grupos definidos pelo Google que o Cloud Router divulga dinamicamente. É possível remover a sinalização --set-advertisement-groups para excluir divulgações de sub-rede. Para ver uma lista de todos os grupos de divulgações, consulte a sinalização set-advertisement-groups na documentação do SDK do Google.

  2. Use a sinalização --add-advertisement-ranges, que exige que o modo de divulgação do Cloud Router já esteja configurado como custom:

    gcloud compute routers update ROUTER_NAME \
       --add-advertisement-ranges=ADVERTISED_IP_RANGES
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

    O exemplo a seguir acrescenta o IP personalizado 1.2.3.5 às divulgações do Cloud Router:

    gcloud compute routers update my-router \
       --add-advertisement-ranges 1.2.3.5
    

    O exemplo a seguir adiciona o intervalo IPv6 personalizado 2001:db8:abcd:12::/64 às divulgações do Cloud Router:

    gcloud compute routers update my-router \
       --add-advertisement-ranges 2001:db8:abcd:12::/64
    

    O Cloud Router divulga intervalos IPv6 somente em sessões do BGP que estão ativadas para IPv6.

API

Use o método routers.patch para atualizar os campos bgp.advertisedGroups[] e bgp.advertisedIpRanges[].

Os campos bgp.advertisedGroups[] e bgp.advertisedIpRanges[] armazenam matrizes de grupos anunciados e intervalos de endereços IP anunciados. Quando você PATCH esses campos, você substitui as matrizes atuais pelas novas na sua solicitação.

  1. Envie uma solicitação GET para ver as matrizes atuais de grupos anunciados e intervalos de endereços IP anunciados no roteador. Para detalhes, consulte Visualizar as configurações da sessão do BGP.

  2. Envie uma solicitação PATCH com novas matrizes de grupos anunciados e intervalos de endereços IP anunciados. Use as matrizes da solicitação GET na etapa anterior e adicione os grupos ou intervalos de endereços IP que você quer no roteador.

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgp": {
        "advertisedGroups": [
        "ADVERTISED_GROUPS"
       ],
        "advertisedIpRanges": [
        ADVERTISED_IP_RANGES
       ]
     }
    }
    

    Substitua:

    • PROJECT_ID: o projeto que contém o Cloud Router
    • REGION: a região onde o Cloud Router está localizado
    • ROUTER_NAME: o nome do Cloud Router
    • ADVERTISED_GROUPS: um grupo definido pelo Google que o Cloud Router divulga dinamicamente

      O único valor válido é ALL_SUBNETS, que divulga sub-redes com base no modo de roteamento dinâmico da rede VPC (semelhante às divulgações padrão).

    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

      É possível especificar os intervalos de IP personalizados IPv4 e IPv6. No entanto, os intervalos personalizados IPv6 são anunciados apenas em sessões do BGP em que o IPv6 está ativado.

    O exemplo a seguir contém dois intervalos de endereços IPv4 e um intervalo de endereços IPv6:

        {
          "range": "1.2.3.4",
          "description": "First example range"
        },
        {
          "range": "6.7.0.0/16",
          "description": "Second example range"
        },
        {
          "range": "2001:db8:abcd:12::/64",
          "description: "Third example range"
        }
    

Especificar rotas anunciadas personalizadas para uma sessão do BGP

Para especificar rotas anunciadas personalizadas para uma sessão do BGP existente, siga estas etapas.

Console

  1. No console do Google Cloud, acesse a página do Cloud Routers.

    Acesse o Cloud Routers

  2. Selecione o roteador do Cloud Router que contém a sessão do BGP a ser atualizada.

  3. Na página Detalhes do Router, selecione a sessão do BGP a ser atualizada.

  4. Na página de detalhes da sessão do BGP, clique em Editar.

  5. Em Rotas, selecione Criar rotas personalizadas.

  6. Selecione a caixa de seleção Divulgar todas as sub-redes visíveis para o Cloud Router para continuar divulgando as sub-redes disponíveis para o Cloud Router. A ativação dessa opção imita o comportamento padrão do Cloud Router.

  7. Selecione Adicionar rota personalizada para adicionar uma rota anunciada.

  8. Configure a divulgação de rota.

    • Origem: selecione Intervalo de IP personalizado.
    • Intervalo de endereços IP: use a notação CIDR para especificar o intervalo de IP personalizado. É possível especificar os intervalos de IP personalizados IPv4 e IPv6. No entanto, os intervalos personalizados IPv6 são anunciados apenas em sessões do BGP em que o IPv6 está ativado.
    • Descrição: adicione uma descrição para ajudar você a identificar a finalidade dessa divulgação de rota e clique em Concluído.
  9. Depois de terminar de adicionar as rotas personalizadas, clique em Salvar.

gcloud

Execute o comando update-bgp-peer. Para especificar os intervalos de IP personalizados, use a sinalização --set-advertisement-ranges ou --add-advertisement-ranges.

  1. Use a sinalização --set-advertisement-ranges. Todas as divulgações personalizadas existentes serão substituídas:

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME \
        --advertisement-mode custom \
        --set-advertisement-groups=ADVERTISED_GROUPS \
        --set-advertisement-ranges=ADVERTISED_IP_RANGES
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • PEER_NAME: o nome do peer do BGP
    • Se quiser, adicione a sinalização --enable-ipv6 se estiver adicionando intervalos IPv6 personalizados.
    • ADVERTISED_GROUPS: um grupo definido pelo Google que o Cloud Router divulga dinamicamente

      O único valor válido é all_subnets, que divulga sub-redes com base no modo de roteamento dinâmico da rede VPC (semelhante às divulgações padrão).

    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

      É possível especificar os intervalos de IP personalizados IPv4 e IPv6. No entanto, os intervalos personalizados IPv6 são anunciados apenas em sessões do BGP em que o IPv6 está ativado.

    O exemplo a seguir atualiza a sessão do BGP my-bgp-session no Cloud Router my-router para divulgar todas as sub-redes e os intervalos de IP personalizados 1.2.3.4, 6.7.0.0/16 e 2001:db8:abcd:12::/64.

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --enable-ipv6 \
        --advertisement-mode custom \
        --set-advertisement-groups all_subnets \
        --set-advertisement-ranges 1.2.3.4,6.7.0.0/16,2001:db8:abcd:12::/64
    

    A sinalização --set-advertisement-groups aceita grupos definidos pelo Google que a sessão do BGP divulga dinamicamente. É possível remover a sinalização --add-advertisement-groups para excluir divulgações de sub-rede. Para ver uma lista de todos os grupos de divulgações, consulte a sinalização set-advertisement-groups na documentação do SDK do Google.

  2. Use a sinalização --add-advertisement-ranges, que exige que o modo de divulgação do Cloud Router já esteja configurado como custom:

    gcloud compute routers update-bgp-peer ROUTER_NAME \
        --peer-name=PEER_NAME \
        --add-advertisement-ranges=ADVERTISED_IP_RANGES
    

    Substitua:

    • ROUTER_NAME: o nome do Cloud Router
    • PEER_NAME: o nome do peer do BGP
    • ADVERTISED_IP_RANGES: o conteúdo da nova matriz de intervalos de endereços IP

      É possível especificar os intervalos de IP personalizados IPv4 e IPv6. No entanto, os intervalos personalizados IPv6 são anunciados apenas em sessões do BGP em que o IPv6 está ativado.

    O exemplo a seguir acrescenta o IP personalizado 1.2.3.5 às divulgações do Cloud Router:

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --add-advertisement-ranges 1.2.3.5
    

    O exemplo a seguir acrescenta o IPv6 personalizado 2001:db8:abcd:12::/64 às divulgações do Cloud Router:

    gcloud compute routers update-bgp-peer my-router \
        --peer-name my-bgp-session \
        --enable-ipv6 \
        --add-advertisement-ranges 2001:db8:abcd:12::/64
    

API

Use o método routers.patch para atualizar o campo bgpPeers[].

O campo bgpPeers[] aceita uma matriz de pares do BGP. Quando você PATCH esse campo, você substitui a matriz atual de pares do BGP pela nova matriz incluída na solicitação.

  1. Envie uma solicitação GET para receber a matriz atual de pares do BGP para o roteador. Para detalhes, consulte Visualizar as configurações da sessão do BGP.

  2. Envie uma solicitação PATCH com uma nova matriz de pares do BGP. Para cada peer BGP a que você quer adicionar divulgações, faça o seguinte:

    • Adicione todas as divulgações de intervalo de endereços IP que você quer no campo bgpPeers[].advertisedIpRanges[].
    • Adicione todas as divulgações de grupo que você quer no campo bgpPeers[].advertisedGroups[].

      O único valor válido é ALL_SUBNETS, que divulga sub-redes com base no modo de roteamento dinâmico da rede VPC (semelhante ao modo de divulgação padrão).

      Para mais informações sobre esses valores, consulte routers.patch na documentação da API.

    PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/routers/ROUTER_NAME
    {
      "bgpPeers": [
        BGP_PEERS
      ]
    }
    

    Substitua:

    • PROJECT_ID: o projeto que contém o Cloud Router
    • REGION: a região onde o Cloud Router está localizado
    • ROUTER_NAME: o nome do Cloud Router
    • BGP_PEERS: o conteúdo da nova matriz de pares do BGP

    O exemplo a seguir contém dois pares do BGP com divulgações personalizadas:

        {
          "name": "peer-1",
          "interfaceName": "if-peer-1",
          "ipAddress": "169.254.10.1",
          "peerIpAddress": "169.254.10.2",
          "peerAsn": 64512,
          "enableIpv6": true,
          "advertisedRoutePriority": 100,
          "advertiseMode": "CUSTOM",
          "advertisedGroups": ["ALL_SUBNETS"],
          "advertisedIpRanges": [
            {
              "range": "1.2.3.4",
              "description": "First example range"
            },
            {
              "range": "6.7.0.0/16",
              "description": "Second example range"
            },
            {
              "range": "2001:db8:abcd:12::/64",
              "description: "Third example range"
            }
          ]
        },
        {
          "name": "peer-2",
          "interfaceName": "if-peer-2",
          "ipAddress": "169.254.20.1",
          "peerIpAddress": "169.254.20.2",
          "peerAsn": 64513,
          "advertisedRoutePriority": 100,
          "advertiseMode": "CUSTOM",
          "advertisedIpRanges": [
            {
              "range": "192.168.10.0/24",
              "description": "Fourth example range"
            }
          ]
        }
    

A seguir