Configurar uma máscara de rede maior para uma única instância

Nesta página, descrevemos como criar uma instância do Compute Engine que tenha uma máscara de rede maior, do mesmo tamanho da máscara de rede da sub-rede, configurando uma imagem personalizada.

Como alternativa, é possível criar uma sub-rede que configure máscaras de rede maiores para todas as instâncias de computação conectadas a ela. Para facilitar a manutenção e receber suporte para intervalos secundários, recomendamos configurar máscaras de rede de instâncias maiores por meio de uma sub-rede em vez de criar imagens personalizadas.

Se a criação de uma sub-rede não funcionar para seu caso de uso, crie uma imagem personalizada e use-a para criar instâncias de computação com máscaras de rede maiores. O servidor DHCP configura as interfaces da instância com a máscara de rede da sub-rede, em vez de /32, e a instância pode se comunicar diretamente com outras instâncias conectadas ao intervalo IPv4 principal da sub-rede. Os intervalos IPv4 secundários não são afetados.

Para mais informações sobre máscaras de rede de instâncias de computação, consulte Máscaras de rede de instâncias de computação.

Antes de começar

  1. Leia os seguintes guias sobre imagens do Compute Engine:
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Funções exigidas

Para receber as permissões necessárias para criar uma imagem personalizada e uma instância, peça ao administrador para conceder a você o papel do IAM de Administrador da instância do Compute (v1) (role/compute.instanceAdmin.v1) no projeto. Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.

Criar uma imagem personalizada que configure a opção MULTI_IP_SUBNET

Há várias maneiras de especificar uma imagem de origem ao criar uma imagem personalizada. O exemplo a seguir mostra como criar uma imagem personalizada com base em uma família de imagens. Para mais informações sobre como criar imagens personalizadas, consulte Criar imagens personalizadas.

CLI gcloud

gcloud compute images create IMAGE_NAME \
    --source-image-family=SOURCE_IMAGE_FAMILY \
    --source-image-project=PROJECT \
    --guest-os-features=MULTI_IP_SUBNET

Substitua:

  • IMAGE_NAME: um nome para sua imagem personalizada.
  • SOURCE_IMAGE_FAMILY: a família de imagens de origem que você quer usar para criar essa imagem. Por exemplo, debian-13.
  • PROJECT: o projeto de origem em que a família de imagens está localizada, por exemplo, debian-cloud ou um URI de projeto.

Criar uma instância de computação com base em uma imagem personalizada MULTI_IP_SUBNET

Para criar uma instância de computação que use a imagem personalizada, especifique a imagem que você criou. Para mais informações sobre como criar instâncias, consulte Criar uma instância com base em uma imagem personalizada.

CLI gcloud

gcloud compute instances create INSTANCE_NAME \
    --image=IMAGE_NAME \
    --zone=ZONE \
    --subnet=SUBNET_NAME

Substitua:

  • INSTANCE_NAME: um nome para sua instância.
  • IMAGE_NAME: o nome da imagem personalizada que você criou.
  • ZONE: a zona em que será criada a instância.
  • SUBNET_NAME: o nome da sub-rede à qual a instância será conectada.

Verificar a configuração

Depois de criar uma instância de computação, é possível verificar se o servidor DHCP configura a máscara de rede correta na instância e se a instância recebe respostas ARP. É possível verificar as respostas ARP usando apenas uma instância porque Google Cloud sempre envia uma resposta para endereços IP no intervalo da sub-rede.

As etapas a seguir mostram como verificar a configuração em uma instância do Linux.

  1. Conecte-se à instância usando SSH.
  2. Verifique a configuração da interface de rede para confirmar se a máscara de rede corresponde à máscara de rede da sub-rede (não /32).

    ip addr show
    

    Na saída, procure a linha inet da interface de rede, por exemplo, ens4.

  3. Verifique se a instância pode receber respostas ARP para um endereço IP diferente na sub-rede. É possível usar o comando ping para acionar uma solicitação ARP. Você pode escolher um endereço IP que não esteja em uso.Google Cloud envia uma resposta ARP mesmo que não haja resposta à solicitação ping.

    ping -c 3 OTHER_IP_ADDRESS_IN_SUBNET
    

    Substitua OTHER_IP_ADDRESS_IN_SUBNET por um endereço IP da mesma sub-rede. Esse endereço IP não precisa estar em uso.

  4. Verifique a tabela ARP para conferir o endereço MAC associado ao outro endereço IP.

    ip neighbor
    

    A saída mostra o endereço MAC do outro endereço IP.