Como configurar intervalos de IP do alias

Este documento contém instruções referentes à configuração de endereços IP do alias e intervalos de IP do alias usando o Console do Google Cloud Platform e a ferramenta de linha de comando gcloud. Leia a página Visão geral de IP do alias antes de executar esses comandos.

Limitações

Sub-rede

  • São permitidos até cinco intervalos secundários de IP por sub-rede.
  • Não é possível adicionar e remover intervalos secundários simultaneamente. Essas ações precisam ser feitas em etapas separadas.
  • A expansão CIDR não é compatível com intervalos secundários.

Instância de VM

  • Os intervalos de IP do alias são compatíveis com todas as interfaces de rede da VM. O roteamento é configurado automaticamente para intervalos de IP do alias na interface de rede principal, mas não em interfaces secundárias. Se você tiver várias interfaces de rede, será necessário configurar o roteamento de políticas para as outras interfaces.
  • É possível atribuir até 10 intervalos de IP do alias à interface virtual de uma instância de VM.
  • Os intervalos de IP do alias podem ser adicionados ou excluídos, mas não atualizados.
  • Se você remover um intervalo de IP do alias de uma VM e atribuí-lo a outra, a transferência pode levar até um minuto para ser concluída.
  • As tags de origem do firewall não são compatíveis com endereços IP do alias. Isso significa que, ao configurar tags de origem nas regras de firewall, elas correspondem ao endereço IP principal da VM, mas não aos endereços IP do alias. Use intervalos de origem para permitir ou negar o tráfego de entrada proveniente de endereços IP do alias.
  • O DNS interno resolve um nome de VM para o seu IP principal. Os outros nomes para IPs do alias não são configurados automaticamente, mas podem ser adicionados manualmente.

Rede VPC

  • Uma rede VPC pode ter até 7.000 intervalos de IP do alias em todas as VMs.
  • Adicionar ou remover simultaneamente um grande número de intervalos de IP do alias pode demorar. Por exemplo, adicionar ou excluir 7.000 intervalos de IP do alias pode levar até 10 minutos.
  • As redes VPC de modo automático não podem ser excluídas quando há intervalos de sub-redes secundários.
  • Em uma rota estática, o endereço IP do próximo salto (hop) precisa ser o endereço IP principal da VM. Os endereços IP do alias não são aceitos como endereços IP do próximo salto (hop).
  • Os endereços IPv6 não são aceitos.
  • Os intervalos de IP do alias são compatíveis apenas com as redes VPC, não com as legadas. Liste suas redes se quiser determinar qual é o tipo da sua. As redes VPC têm o modo custom ou auto. As legadas têm o modo legacy.

Comandos de sub-rede

Os intervalos de IP do alias da VM precisam ser atribuídos por meio de um intervalo pertencente à sub-rede em que a VM está inserida. Todas as sub-redes têm um intervalo primário, que é o intervalo padrão dos endereços IP que define a sub-rede. Uma sub-rede também pode ter um ou mais intervalos de IP secundários contendo endereços IP internos. Os intervalos de IP do alias podem ser atribuídos a partir dos intervalos primários ou secundários da sub-rede.

Dê a cada intervalo secundário um nome exclusivo na sub-rede. Ao atribuir um intervalo de IP do alias a uma VM, o nome do intervalo secundário informa ao GCP qual intervalo de sub-rede ele deve usar para atribuir os IPs do alias.

Todos os intervalos primários e secundários precisam ser exclusivos em todas as sub-redes da VPC e de qualquer rede anexada por meio de VPN, interconexão ou peering de rede VPC.

Esta seção mostra como criar sub-redes com intervalos secundários e adicioná-los ou removê-los de uma sub-rede existente. Quando sua sub-rede tiver o intervalo que você quer usar, consulte os comandos da instância da VM para saber como atribuir um intervalo a uma VM.

Como criar uma sub-rede com um ou mais intervalos CIDR secundários

Esse comando pressupõe que você já tenha uma rede VPC. Se você não tem, crie uma.

Esse comando não mudará, mesmo se você estiver criando uma sub-rede para a interface principal da VM ou uma das interfaces secundárias.

O uso de um intervalo secundário para a alocação de IP do alias permite que você separe o espaço de IP para serviços hospedados na VM. Isso facilita a criação de regras de firewall que permitem acesso somente aos serviços em execução na VM e bloqueiam o acesso ao endereço IP principal da VM.

Console

  1. Acesse a página "Redes VPC" no Console do Google Cloud Platform.
    Acessar a página "Redes da VPC"
  2. Clique no nome de uma rede existente.
  3. Clique em Adicionar sub-rede.
  4. Digite um Nome para a nova sub-rede.
  5. Especifique a Região.
  6. Digite um Intervalo de endereços IP na notação CIDR. Exemplo: 10.65.61.0/24.
  7. Clique em Criar intervalo de IP secundário.
  8. Digite um Nome do intervalo de sub-rede.
  9. Digite um Intervalo de IP secundário na notação CIDR. Exemplo: 10.9.0.0/24.
  10. Para acrescentar mais intervalos de IP secundários, para cada intervalo, clique em Adicionar intervalo de IP, e então forneça um nome e um intervalo.
  11. Clique em Adicionar.

gcloud

gcloud compute networks subnets create s1 \
    --network [NETWORK_NAME] \
    --region [REGION] \
    --range 10.65.61.0/24 \
    --secondary-range [RANGE_NAME]=[RANGE_CIDR][,[RANGE_NAME]=[RANGE_CIDR]...]

em que

  • [NETWORK_NAME] é o nome da rede em que você quer criar a sub-rede;
  • [REGION] é a região onde você está criando a sub-rede;
  • [RANGE_NAME]=[RANGE_CIDR] é o nome do intervalo secundário de onde o intervalo de IP do alias será coletado. Por exemplo: range1=10.9.0.0/24.

Consulte a sintaxe completa na documentação do gcloud.

Como adicionar intervalos CIDR secundários a uma sub-rede existente

Para este procedimento, presumimos que você tenha uma sub-rede e queira usá-la, mas primeiro precisa adicionar um ou mais intervalos secundários a ela.

Esse comando não mudará, mesmo se você estiver criando uma sub-rede para a interface principal da VM ou uma das interfaces secundárias.

O uso de um intervalo secundário para a alocação de IP do alias facilita a criação de regras de firewall que permitem acesso aos serviços em execução em uma VM, mas não ao endereço IP primário da VM.

Console

Use o comando gcloud.

gcloud

gcloud compute networks subnets update [SUBNET_NAME] \
    --region [REGION] \
    --add-secondary-ranges [RANGE_NAME]=[RANGE_CIDR],[[RANGE_NAME]=[RANGE_CIDR],...]

em que

  • [SUBNET_NAME] é o nome da sub-rede em que você quer adicionar os intervalos secundários;
  • [REGION] é a região onde você está criando a sub-rede;
  • [RANGE_NAME]=[RANGE_CIDR] é o nome do intervalo secundário de onde o intervalo de IP do alias será coletado. Por exemplo: range1=10.9.0.0/24.

Consulte a sintaxe completa na documentação do gcloud.

Como remover um intervalo CIDR secundário de uma sub-rede

Console

Use o comando gcloud.

gcloud

gcloud compute networks subnets update [SUBNET_NAME] \
    --region [REGION] \
    --remove-secondary-ranges [RANGE_NAME],[[RANGE_NAME],...]

em que

  • [SUBNET_NAME] é o nome da sub-rede de que você quer remover os intervalos secundários;
  • [REGION] é a região onde você está criando a sub-rede;
  • [RANGE_NAME] é o nome do intervalo secundário de onde o intervalo de IP do alias será coletado. Por exemplo: range1=10.9.0.0/24.

Consulte a sintaxe completa na documentação do gcloud.

Comandos de instância para VMs com uma única interface

Estes comandos mostram como criar instâncias com intervalos de IP do alias e adicionar/remover um ou mais intervalos de IP do alias de uma instância de VM existente.

Como criar uma VM com um intervalo de IP do alias no intervalo CIDR primário

Use este procedimento se quiser atribuir um intervalo de IP do alias por meio do intervalo primário da sub-rede. O intervalo escolhido não pode estar em uso, mesmo parcialmente, em outro recurso da rede VPC.

Use este procedimento se quiser que a interface primária da instância e os endereços IP do alias fiquem no mesmo intervalo.

Console

  1. Acesse a página "Instâncias de VMs" no console do Google Cloud Platform.
    Acessar a página "Instâncias de VMs"
  2. Clique em Criar instância.
  3. Digite um Nome para a nova instância.
  4. Especifique uma Zona.
  5. Clique em Gerenciamento, segurança, discos, rede, locação individual.
  6. Clique na guia Rede.
  7. Clique no botão de edição (ícone de lápis) ao lado da interface principal na seção Interfaces de rede.
  8. Clique em Mostrar intervalos de IP do alias.
  9. Deixe o Intervalo da sub-rede definido como Primário.
  10. Digite um Intervalo de IP do alias na notação CIDR. Esse intervalo precisa ser um subintervalo não utilizado do intervalo primário.
  11. Clique em Criar.

gcloud

gcloud compute instances create vm1 \
    --zone [ZONE] \
    --network-interface "subnet=[SUBNET_NAME],aliases=[RANGE_CIDR][;[RANGE_CIDR];...]"

em que

  • [ZONE] é a zona que contém a instância;
  • [SUBNET_NAME] é o nome da sub-rede de que você quer remover os intervalos secundários;
  • [RANGE_CIDR] é o intervalo do IP da sub-rede principal a ser atribuído à interface. Ele pode ser específico (192.168.100.0/24), um único endereço IP (192.168.100.1) ou uma máscara de rede no formato CIDR (/24). Se o intervalo de IP for especificado apenas pela máscara de rede, o alocador de IP escolherá um intervalo disponível com a máscara de rede especificada e o alocará na interface de rede. Para especificar mais de um intervalo, separe-os com pontos e vírgulas (;).

Consulte a sintaxe completa na documentação do gcloud.

Como criar uma VM com um intervalo de IP do alias em um intervalo CIDR secundário

Use este procedimento se quiser atribuir um intervalo de IP do alias coletado em um intervalo secundário da sub-rede. Manter os intervalos de IP do alias separados do intervalo primário da sub-rede facilita a criação de regras de firewall que permitem o acesso aos serviços em execução em uma VM, mas não ao endereço IP primário da VM.

Console

  1. Acesse a página "Instâncias de VMs" no console do Google Cloud Platform.
    Acessar a página "Instâncias de VMs"
  2. Clique em Criar instância.
  3. Digite um Nome para a nova instância.
  4. Especifique uma Zona.
  5. Clique em Gerenciamento, segurança, discos, rede, locação individual.
  6. Clique na guia Rede.
  7. Clique no botão de edição (ícone de lápis) ao lado da interface principal na seção Interfaces de rede.
  8. Clique em Mostrar intervalos de IP do alias.
  9. Selecione a Sub-rede que tem o intervalo secundário.
  10. Em Intervalo da sub-rede, selecione o Intervalo de IP secundário que quer usar.
  11. Digite um Intervalo de IP do alias na notação CIDR. Esse intervalo precisa ser um intervalo não utilizado do intervalo de IP secundário.
  12. Clique em Criar.

gcloud

gcloud compute instances create vm3 \
    --zone [ZONE] \
    --network-interface subnet=[SUBNET_NAME],aliases=[RANGE_NAME]:[RANGE_CIDR]
 

em que

  • [ZONE] é a zona que contém a instância.
  • [SUBNET_NAME] é o nome da sub-rede que contém a instância;
  • [RANGE_NAME] é o nome do intervalo secundário da sub-rede de onde o intervalo de IP do alias será coletado;
  • [RANGE_CIDR] é o intervalo de IP a ser atribuído à interface. Ele pode ser específico (192.168.100.0/24), um único endereço IP (192.168.100.1) ou uma máscara de rede no formato CIDR (/24). Se o intervalo de IP for especificado apenas pela máscara de rede, o alocador de IP escolherá um intervalo disponível com a máscara de rede especificada e o alocará na interface de rede.

Consulte a sintaxe completa na documentação do gcloud.

Como adicionar intervalos de IP do alias a uma instância existente

Você pode adicionar um intervalo de IP do alias a uma instância em execução.

Console

  1. Acesse a página "Instâncias de VMs" no console do Google Cloud Platform.
    Acessar a página "Instâncias de VMs"
  2. Clique no nome de uma instância existente.
  3. Clique em Editar.
  4. Clique na interface de rede nic0 ou na interface de rede que você modificará.
  5. Clique em Mostrar intervalos de IP do alias.
  6. Clique em Adicionar intervalo de IP do alias.
  7. Especifique o intervalo CIDR de sub-rede.
  8. Digite um intervalo de IP do alias.
  9. Clique em Concluir.
  10. Clique em Salvar.

gcloud

gcloud compute instances network-interfaces update [INSTANCE_NAME] \
    --zone [ZONE] \
    [--network-interface [NETWORK_INTERFACE]; default="nic0"]
    --aliases "[RANGE_NAME]:[RANGE_CIDR];[[RANGE_NAME]:[RANGE_CIDR],...]"
  • [ZONE] é a zona que contém a instância.
  • [RANGE_NAME] é o nome do intervalo secundário da sub-rede de onde o intervalo de IP do alias será coletado. Se você estiver atribuindo intervalos por meio do intervalo principal da sub-rede, oculte esse valor.
  • [RANGE_CIDR] é o intervalo de IP a ser atribuído à interface. Ele pode ser específico (192.168.100.0/24), um único endereço IP (192.168.100.1) ou uma máscara de rede no formato CIDR (/24). Se o intervalo de IP for especificado apenas pela máscara de rede, o alocador de IP escolherá um intervalo disponível com a máscara de rede especificada e o alocará na interface de rede.

Consulte a sintaxe completa na documentação do gcloud.

Como modificar intervalos de IP do alias para uma instância existente

É possível adicionar mais intervalos de IP do alias a uma instância atual ou remover um ou mais deles.

  • Para adicionar intervalos, execute o comando e especifique todos os intervalos de IP do alias atuais e novos. Os pares são separados por ponto e vírgula. Exemplo: --aliases "[CURRENT_RANGE_NAME]:[CURRRENT_RANGE_CIDR];[NEW_RANGE_NAME]:[NEW_RANGE_CIDR]".

  • Para remover intervalos, execute o comando e especifique apenas os intervalos de IP do alias que você quer manter. Se você for manter os intervalos coletados de um intervalo secundário, será preciso especificar o nome dele. Um intervalo CIDR pode ser específico (192.168.100.0/24) ou um único endereço IP (192.168.100.1). Exemplo: --aliases "[RANGE_NAME]:[RANGE_CIDR];[RANGE_CIDR]".

  • Para remover todos os intervalos, execute o comando e especifique a sinalização --alias, mas use aspas para fornecer uma entrada em branco. Exemplo: --aliases "".

  • Não é possível adicionar e remover intervalos no mesmo comando gcloud. Para remover alguns intervalos e adicionar outros com a interface de linha de comando gcloud, execute o comando para remover os intervalos desnecessários e, em seguida, execute-o novamente para adicionar os necessários.

Console

  1. Acesse a página "Instâncias de VMs" no console do Google Cloud Platform.
    Acessar a página "Instâncias de VMs"
  2. Clique no nome de uma instância existente.
  3. Clique em Editar.
  4. Clique na interface de rede nic0 ou na interface de rede que você modificará.
  5. Clique em Mostrar intervalos de IP do alias.
  6. Para adicionar um intervalo de IP do alias, clique em Adicionar intervalo de IP do alias.
  7. Para remover um intervalo de IP do alias, clique no X ao lado dele.
  8. Clique em Concluir.
  9. Clique em Salvar.

gcloud

gcloud compute instances network-interfaces update [INSTANCE_NAME] \
    --zone [ZONE] \
    --aliases "[RANGES_TO_RETAIN];[[NEW_RANGE_NAME]:[NEW_RANGE_CIDR];...]"
  • [ZONE] é a zona que contém a instância.
  • [RANGES_TO_RETAIN] os intervalos atuais no formato [CURRENT_RANGE_NAME]: [CURRRENT_RANGE_CIDR], que você quer manter. Se você estiver adicionando intervalos a uma instância em que não há nenhum, esses valores ficarão em branco. Se você estiver removendo todos os intervalos da instância, todo o campo --alias ficará em branco.
  • [NEW_RANGE_NAME] é o nome do intervalo secundário da sub-rede de onde qualquer novo intervalo de IP do alias será coletado. Se você estiver atribuindo intervalos por meio do intervalo principal da sub-rede, oculte esse valor.
  • [NEW_RANGE_CIDR] é o intervalo de IP a ser atribuído à interface. Ele pode ser específico (192.168.100.0/24), um único endereço IP (192.168.100.1) ou uma máscara de rede no formato CIDR (/24). Se o intervalo de IP for especificado apenas pela máscara de rede, o alocador de IP escolherá um intervalo disponível com a máscara de rede especificada e o alocará na interface de rede.

Consulte a sintaxe completa na documentação do gcloud.

Comandos de instância para VMs com diversas interfaces

Crie uma VM com várias interfaces e endereços IP do alias

Este exemplo cria duas redes, cada uma com uma sub-rede e uma VM com interfaces nas duas redes. Se você já tem duas redes VPC, pode pular para a etapa "criar instância da VM".

Console

Crie a primeira rede e sub-rede:

  1. Acesse a página "Redes VPC" no Console do Google Cloud Platform.
    Acessar a página “Redes VPC”
  2. Clique em Criar rede VPC.
  3. Insira my-network1 em Nome.
  4. Após definir o Modo de criação de sub-rede como Custom, especifique my-subnet1 no Nome da sub-rede.
  5. Especifique uma Região.
  6. Defina Intervalo de endereços IP como 172.16.1.0/24.
  7. Clique em Criar intervalo de IP secundário.
  8. Defina Nome do intervalo de sub-rede como range1.
  9. Defina Intervalo de IP secundário como 10.1.0.0/16.
  10. Clique em Concluir.
  11. Clique em Criar.

Crie a segunda rede e sub-rede:

  1. Acesse a página "Redes VPC" no Console do Google Cloud Platform.
    Acessar a página “Redes VPC”
  2. Clique em Criar rede VPC.
  3. Insira my-network2 em Nome.
  4. Após definir o Modo de criação de sub-rede como Custom, especifique my-subnet2 no Nome da sub-rede.
  5. Especifique a mesma Região que você usou para a primeira rede e sub-rede.
  6. Defina Intervalo de endereço IP como 172.16.2.0/24.
  7. Clique em Criar intervalo de IP secundário.
  8. Defina Nome do intervalo da sub-rede como range2.
  9. Defina Intervalo de IP secundário como 10.2.0.0/16.
  10. Clique em Concluir.
  11. Clique em Criar.

Crie uma VM com interfaces nas duas redes:

  1. Acesse a página "Instâncias de VMs" no Console do Google Cloud Platform.
    Acessar a página "Instâncias de VMs"
  2. Clique em Criar instância.
  3. Defina a zona como a região em que você criou as sub-redes.
  4. Clique em Gerenciamento, segurança, discos, rede, locação individual.
  5. Clique em Rede.
  6. Clique na primeira interface de rede.
  7. Defina Rede como my-network1.
  8. Defina Sub-rede como my-subnet1.
  9. Clique em Mostrar intervalos de IP do alias.
  10. Clique em Adicionar intervalo de IP do alias.
  11. Defina Intervalo da sub-rede como Primary.
  12. Defina Intervalo de IP do alias como /32.
  13. Clique em Adicionar intervalo de IPs.
  14. Defina Intervalo da sub-rede como range1.
  15. Defina Intervalo de IP do alias como /24.
  16. Clique em Concluir.
  17. Clique em Adicionar interface de rede.
  18. Selecione my-network2.
  19. Defina Sub-rede como my-subnet2.
  20. Clique em Mostrar intervalos de IP do alias.
  21. Clique em Adicionar intervalo de IP do alias.
  22. Defina Intervalo da sub-rede como Primary.
  23. Defina Intervalo de IP do alias como /32.
  24. Clique em Adicionar intervalo de IPs.
  25. Defina Intervalo da sub-rede como range2.
  26. Defina Intervalo de IP do alias como /24.
  27. Clique em Concluir.
  28. Clique em Criar.

gcloud

  1. Crie a primeira rede:

    gcloud compute networks create my-network1 --subnet-mode CUSTOM
    
  2. Adicione uma sub-rede:

    gcloud compute networks subnets create my-subnet1 \
        --network my-network1 \
        --range 172.16.1.0/24 \
        --secondary-range range1=10.1.0.0/16
    
  3. Crie uma segunda rede:

    gcloud compute networks create my-network2 --subnet-mode CUSTOM
    
  4. Adicione uma sub-rede:

    gcloud compute networks subnets create my-subnet2 \
        --network my-network2 \
        --range 172.16.2.0/24 \
        --secondary-range range2=10.2.0.0/16
    
  5. Crie uma VM com interfaces nas duas redes. A primeira interface de rede listada, a que está em my-subnet1, é a interface principal:

    gcloud compute instances create multi-nic-alias-vm \
        --machine-type f1-micro \
        --network-interface "subnet=my-subnet1,aliases=/32;range1:/24" \
        --network-interface "subnet=my-subnet2,aliases=/32;range2:/24"
    
  6. Use o comando "display" para ver as interfaces e os respectivos endereços:

    gcloud compute instances describe multi-nic-alias-vm
    
    ...
    networkInterfaces:
    - ...
      aliasIpRanges:
      - ipCidrRange: 172.16.1.2/32
      - ipCidrRange: 10.1.0.0/24
        subnetworkRangeName: range1
      name: nic0
      network: .../networks/my-network1
      networkIP: 172.16.1.3
      subnetwork: .../subnetworks/my-subnet1
      ...
    - ...
      aliasIpRanges:
      - ipCidrRange: 172.16.2.2/32
      - ipCidrRange: 10.2.0.0/24
        subnetworkRangeName: range2
      name: nic1
      network: .../networks/my-network2
      networkIP: 172.16.2.3
      subnetwork: .../subnetworks/my-subnet2
      

Adicionar endereços IP do alias a uma VM com várias interfaces

Console

  1. Acesse a página "Instâncias de VMs" no console do Google Cloud Platform.
    Acessar a página "Instâncias de VMs"
  2. Clique no nome de uma instância existente.
  3. Clique em Editar.
  4. Clique na interface de rede nic0 ou na interface de rede em que você adicionará um intervalo de IP do alias.
  5. Clique em Mostrar intervalos de IP do alias.
  6. Clique em Adicionar intervalo de IP do alias.
  7. Especifique o Intervalo de sub-rede.
  8. Digite um intervalo de IP do alias.
  9. Clique em Concluir.
  10. Clique em Salvar.

gcloud

Para a interface principal:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases "range1:10.1.0.0/24;172.16.1.2/32;/32"

Para uma interface secundária:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases "range2:10.2.0.0/24;172.16.2.2/32;/32" \
    --network-interface nic1

Como remover intervalos de IP do alias de uma VM com várias interfaces

Console

  1. Acesse a página "Instâncias de VMs" no console do Google Cloud Platform.
    Acessar a página "Instâncias de VMs"
  2. Clique no nome de uma instância existente.
  3. Clique em Editar.
  4. Clique na interface de rede nic0 ou na interface de rede em que você adicionará um intervalo de IP do alias.
  5. Clique em Mostrar intervalos de IP do alias.
  6. Clique no X ao lado o intervalo de IP do alias que você quer remover.
  7. Clique em Concluir.
  8. Clique em Salvar.

gcloud

Na interface principal:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases ""

Em uma interface secundária:

gcloud compute instances network-interfaces update multi-nic-alias-vm \
    --aliases "" \
    --network-interface nic1

Como solucionar problemas

Não é possível criar uma instância de VM com IP do alias

  1. Verifique se a rede é uma rede VPC. Os IPs do alias não são compatíveis com redes legadas.

    gcloud compute networks list --filter="name=[NETWORK_NAME]"
    

    O MODE da rede precisa ser "automático" ou "personalizado".

  2. Se o nome de um intervalo da sub-rede for especificado, verifique os seguintes itens:

    gcloud compute networks subnets describe [SUBNET_NAME] --region=[REGION]
    
    • A sub-rede tem um intervalo secundário com o nome correspondente.
    • O intervalo de IP do alias solicitado está dentro desse intervalo secundário ou, se estiver usando uma máscara de rede, é menor que o intervalo principal.
  3. Se o nome do intervalo da sub-rede não estiver especificado, verifique se o intervalo de IP do alias solicitado está dentro do intervalo da sub-rede principal ou, se estiver usando uma máscara de rede, se é menor que o intervalo principal.

Não é possível se conectar ao IP do alias

  1. Verifique as regras de firewall.

    1. Liste todas as regras de firewall:

      gcloud compute firewall-rules list --format=json
      
    2. Verifique se a entrada e a saída de tráfego no IP do alias são permitidas.

    3. Se necessário, adicione regras de firewall para permitir o ping no IP do alias:

      gcloud compute firewall-rules create [FIREWALL_NAME1] \
        --network [NETWORK_NAME] --priority 0 --source-ranges [ALIAS_IP] \
        --allow icmp
      
      gcloud compute firewall-rules create [FIREWALL_NAME2] \
        --network [NETWORK_NAME] --priority 0 --direction out \
        --destination-ranges [ALIAS_IP] --allow icmp
      
  2. A VM precisa reconhecer os intervalos de IP do alias como locais. Em distribuições do Linux, como o Debian, normalmente isso pode ser feito da seguinte maneira:

    1. Conecte-se à instância e execute este comando:

      ip route show table local
      

      A saída precisa conter o seguinte:

      local [ALIAS_IP_RANGE] dev eth0  proto 66  scope host
      
    2. Se a rota local não estiver presente, configure-a usando este comando:

      ip route add to local [ALIAS_IP_RANGE] dev eth0 proto 66
      

Meu intervalo de IP secundário não está listado

Os intervalos de IP secundários não são listados como sub-redes normais. Para mostrar que o intervalo de IP secundário da sub-rede foi criado, use o comando gcloud compute networks subnets describe.

  1. Crie uma sub-rede.

    gcloud compute networks subnets create my-subnet \
        --region us-central1 \
        --network my-network \
        --range 10.9.0.0/16 \
        --secondary-range secondaryrange1=172.16.0.0/12
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/regions/us-central1/subnetworks/my-subnet].
    NAME       REGION       NETWORK     RANGE
    my-subnet  us-central1  my-network  10.9.0.0/16
    
  2. Liste as sub-redes.

    gcloud compute networks subnets list
    
    NAME       REGION       NETWORK     RANGE
    my-subnet  us-central1  my-network  10.9.0.0/16
    
  3. Colete detalhes em uma sub-rede para ver os intervalos secundários.

    gcloud compute networks subnets describe my-subnet --region us-central1
    
    ...
    ipCidrRange: 10.9.0.0/16
    ...
    secondaryIpRanges:
    - ipCidrRange: 172.16.0.0/12
      rangeName: secondaryrange1
    ...
    

O intervalo secundário da sub-rede especificada não existe

Ao criar uma VM, se você receber um erro dizendo que o intervalo secundário não existe, verifique:

  • se a sub-rede tem um intervalo secundário com o nome especificado;
  • se você está criando sua VM dentro da sub-rede que contém o intervalo secundário.

É possível executar os comandos a seguir para ver esse erro:

  1. Crie uma sub-rede com um intervalo secundário.

    gcloud compute networks subnets create my-subnet \
        --region us-central1 \
        --network my-network \
        --range 10.9.0.0/16 \
        --secondary-range secondaryrange1=172.16.0.0/12
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/regions/us-central1/subnetworks/my-subnet].
    NAME       REGION       NETWORK     RANGE
    my-subnet  us-central1  my-network  10.9.0.0/16
    
  2. Crie uma instância em outra rede, como na rede padrão, em vez de fazer isso na sub-rede recém-criada.

    gcloud compute instances create instance-1 \
        --zone us-central1-a \
        --network default
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/zones/us-central1-a/instances/instance-1].
    NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
    instance-1  us-central1-a  n1-standard-1               10.128.0.2     47.82.96.9  RUNNING
    
  3. Tente atribuir um intervalo de IP do alias por meio da sub-rede criada na etapa 1. Ocorrerá uma falha no comando porque o intervalo secundário está em uma sub-rede diferente da instância.

    gcloud compute instances network-interfaces update instance-1 \
        --zone us-central1-a \
        --aliases secondaryrange1:172.16.0.10/32
    
    ERROR: (gcloud.compute.instances.network-interfaces.update) HTTPError 400: Invalid value for field 'resource.aliasIpRanges[0].subnetworkRangeName': 'secondaryrange'. The specified subnetwork secondary range does not exist.
    
  4. Crie outra instância. Desta vez, com a interface na sub-rede criada na etapa 1.

    gcloud compute instances create instance-2 \
        --zone us-central1-a \
        --network-interface subnet=my-subnet
    
    Created [https://www.googleapis.com/compute/v1/projects/google.com:my-project/zones/us-central1-a/instances/instance-2].
    NAME        ZONE           MACHINE_TYPE   PREEMPTIBLE  INTERNAL_IP  EXTERNAL_IP    STATUS
    instance-2  us-central1-a  n1-standard-1               10.9.0.2     38.74.204.89  RUNNING
    
  5. Adicione um intervalo de IP do alias à interface. Desta vez, o comando será concluído com êxito porque a interface e o intervalo secundário estarão na mesma sub-rede.

    gcloud compute instances network-interfaces update instance-2 \
        --zone us-central1-a \
        --aliases secondaryrange1:172.16.0.10/32
    
    Updating network interface [nic0] of instance [instance-2]...done.
    

Não é possível adicionar e remover intervalos de IP secundários na mesma solicitação

No momento, não há compatibilidade com a adição e remoção de intervalos de IP secundários de sub-redes no mesmo comando. Os comandos gcloud para adicionar e remover intervalos secundários preservarão os intervalos existentes que não tiverem sido modificados.

Para adicionar e remover intervalos, execute os dois comandos separadamente.

gcloud compute networks subnets update [SUBNET_NAME] \
    --add-secondary-ranges [RANGE_NAME]=[RANGE_CIDR],[[RANGE_NAME]=[RANGE_CIDR],...]
gcloud compute networks subnets update  [SUBNET_NAME] \
    --remove-secondary-ranges [RANGE_NAME],[[RANGE_NAME],...]

Para ver mais detalhes sobre este comando, execute gcloud compute networks subnets update --help.

Não é possível adicionar e remover intervalos de IP do alias simultaneamente

Atualmente, não há compatibilidade com a adição e remoção de intervalos de IP do alias da VM na mesma solicitação.

O comando gcloud para atualizar os intervalos de IP do alias NÃO preserva os intervalos existentes. Portanto, a omissão de um intervalo é tratada como uma solicitação para excluí-lo.

Por exemplo, se a VM atual tiver o intervalo de alias 10.9.27.0/24 e o novo intervalo solicitado for /24, o comando para solicitar /24 será rejeitado, porque ele é interpretado como a remoção de 10.9.27.0/24 e a adição de /24. Antes de adicionar o novo intervalo, remova explicitamente o intervalo existente.

Exemplo:

  1. Crie um intervalo de IP do alias.

    gcloud compute instances create vm --network-interface "subnet=s1,aliases=10.9.27.0/24"
    
  2. Tente adicionar /24 sem especificar o intervalo existente. Isso resultará em um erro.

    gcloud compute instances network-interfaces update vm --aliases "/24"
    ERROR: (gcloud.compute.instances.network-interfaces.update) HTTPError 400: Invalid value for field 'resource.aliasIpRanges': ''. Cannot simultaneously add and remove alias IP ranges.
    
  3. Atualize a VM para que não haja um intervalo de IP do alias.

    gcloud compute instances network-interfaces update vm --aliases ""
    Updating network interface [nic0] of instance [vm]...done.
    
  4. Adicione o novo intervalo de IP do alias.

    gcloud compute instances network-interfaces update vm --aliases "/24"
    Updating network interface [nic0] of instance [vm]...done.
    

Para ver mais detalhes sobre esse comando, use gcloud compute instances network-interfaces update --help.

Contas de serviço de origem e tags de origem da regra de firewall

A conta de serviço de origem e as tags de origem do firewall só se expandem para os IPs da rede primária nas instâncias correspondentes e não se aplicam a IPs do alias das instâncias correspondentes. Portanto, uma regra de firewall baseada em tags de origem não afetará o tráfego proveniente de um endereço IP do alias da instância. Os endereços IP do alias podem ser adicionados às regras de firewall como intervalos de origem ou de destino.

Problemas relacionados a VMs com várias interfaces e intervalos de IP do alias

Consulte Solução de problemas de VMs com várias interfaces.

Próximas etapas

Esta página foi útil? Conte sua opinião sobre: