Criar conjuntos nomeados

Neste guia, descrevemos como criar um conjunto nomeado no Cloud Router.

Os exemplos nesta página criam dois conjuntos nomeados de tipos diferentes: um conjunto de prefixos e um conjunto de comunidades.

O conjunto de prefixos é chamado de allowed-prefixes e contém os seguintes itens:

  • '192.168.0.0/16'
  • 'fd00::/8'
  • prefix('10.0.0.0/20').orLonger()

O conjunto da comunidade chamado allowed-communities contém os seguintes itens:

  • '64500:100'
  • '64500:200'

É possível criar conjuntos nomeados para o Cloud Router de duas maneiras:

Criar conjuntos nomeados

Os nomes dos conjuntos nomeados precisam ser exclusivos no roteador. Esta seção cria conjuntos nomeados usando a CLI gcloud.

Criar um conjunto de prefixos

Para criar um conjunto de prefixos, faça o seguinte:

  1. Para criar um conjunto de prefixos vazio chamado allowed-prefixes, execute o seguinte comando:
    gcloud compute routers add-named-set ROUTER_NAME
        --set-name=allowed-prefixes
        --set-type=prefix
    
    Substitua ROUTER_NAME pelo nome do Cloud Router.
  2. Para adicionar cada um dos elementos ao conjunto nomeado allowed-prefixes, execute o comando add-named-set-element para cada elemento:

    gcloud compute routers add-named-set-element ROUTER_NAME
        --set-name=allowed-prefixes
        --new-set-element="'192.168.0.0/16'"

    gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="'fd00::/8'"

    gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-prefixes --new-set-element="prefix('10.0.0.0/20').orLonger()"

Criar um conjunto de comunidades

Para criar um conjunto de comunidades, faça o seguinte:

  1. Para criar um conjunto de comunidades vazio chamado allowed-communities, execute o seguinte comando:
    gcloud compute routers add-named-set ROUTER_NAME
        --set-name=allowed-communities
        --set-type=community
    
  2. Para adicionar cada um dos elementos ao conjunto nomeado allowed-communities, execute o comando add-named-set-element para cada elemento:

    gcloud compute routers add-named-set-element ROUTER_NAME
        --set-name=allowed-communities
        --new-set-element="'64500:100'"

    gcloud compute routers add-named-set-element ROUTER_NAME --set-name=allowed-communities --new-set-element="'64500:200'"

Fazer upload de conjuntos nomeados

Ao criar um arquivo JSON ou YAML, use um dos seguintes tipos de conjunto nomeado:

  • NAMED_SET_TYPE_COMMUNITY
  • NAMED_SET_TYPE_PREFIX

O comando upload-named-set substitui qualquer conjunto nomeado com o mesmo nome.

  1. Para criar conjuntos nomeados chamados allowed-prefixes e allowed-communities, crie os conjuntos nomeados no editor de texto de sua preferência. É possível usar a formatação YAML ou JSON para criá-los.

    allowed-prefixes.yaml:

    # Prefix set
    resource:
      elements:
      - expression: "'192.168.0.0/16'"
      - expression: "'fd00::/8'"
      - expression: "prefix('10.0.0.0/20').orLonger()"
      name: allowed-prefixes
      type: NAMED_SET_TYPE_PREFIX
    

    allowed-communities.yaml:

    # Community set
    resource:
      elements:
      - expression: "'64500:100'"
      - expression: "'64500:200'"
      name: allowed-communities
      type: NAMED_SET_TYPE_COMMUNITY
    
  2. Para fazer upload dos conjuntos nomeados, execute os seguintes comandos:

    gcloud compute routers upload-named-set ROUTER_NAME
        --set-name=allowed-prefixes
        --file-name=allowed-prefixes.yaml
        --file-format=json
    

    gcloud compute routers upload-named-set ROUTER_NAME
        --set-name=allowed-communities
        --file-name=allowed-communities.json
        --file-format=json
    

    Substitua ROUTER_NAME pelo nome do Cloud Router.

Elementos do conjunto de prefixos

Os elementos de conjuntos de prefixos precisam ser um literal de prefixo (string) ou um objeto de intervalo de prefixo. São os mesmos prefixos literais e intervalos de prefixos definidos para uso em políticas de roteamento.

A tabela a seguir descreve cada elemento de um conjunto de prefixos.

Expressão Descrição

'192.168.0.0/24'

Literal de prefixo.

prefix('192.168.0.0/24')

Objeto de correspondência de prefixo.

p.longer()

Objeto de intervalo de prefixos que é uma cópia de p com o fim do intervalo definido como o máximo da família por endereço do prefixo de entrada (/32 ou /128) e o início do intervalo definido como o comprimento do prefixo de entrada mais um.

p.orLonger()

Objeto de intervalo de prefixos que é uma cópia de p com o fim do intervalo definido como o máximo da família por endereço do prefixo de entrada (/32 ou /128).

p.lengthRange(20, 30)

Objeto de intervalo de prefixos que é uma cópia de p com o início do intervalo definido como /20 e o fim definido como /30.

p.upTo(30)

Objeto de intervalo de prefixos que é uma cópia de p com o fim do intervalo definido como /30 do prefixo de entrada.

Elementos do conjunto da comunidade

Os elementos dos conjuntos de comunidades precisam ser strings de comunidade no formato A:B legível.

A tabela a seguir descreve os elementos de um conjunto de comunidades.

Expressão Descrição

'A:B'

Literal da comunidade.

A seguir