Crie um registo PTR para uma instância de VM


Os registos PTR configuráveis permitem-lhe definir o registo de DNS inverso associado ao endereço IP externo de uma instância de VM para que as aplicações que dependem destes registos possam funcionar conforme previsto.

Algumas aplicações requerem registos de DNS inversos (registos PTR) para resolver endereços IP para nomes de domínios. Por exemplo, as aplicações que usam SMTP requerem um registo PTR que aponte para o domínio a partir do qual um email está a ser enviado. Sem esse registo, os filtros de spam podem marcar emails com uma reputação baixa, o que faz com que os emails acabem nas pastas Spam ou não sejam enviados de todo.

Só pode adicionar registos PTR à interface de rede principal de uma instância de VM. Os registos PTR não estão disponíveis para front-ends de balanceadores de carga, Cloud NAT nem outros endereços IP que não sejam de VMs.

Os registos PTR IPv6 só estão disponíveis se a interface de rede principal da instância estiver ligada a uma sub-rede de pilha dupla ou apenas IPv6 que tenha um intervalo de endereços IPv6 externo. Para interfaces de rede de pilha dupla, pode ter registos PTR IPv4 e IPv6 separados.

Para criar registos PTR personalizados que substituam os nomes PTR de DNS internos criados automaticamente, consulte o artigo Zonas de procura inversa geridas.

Antes de começar

  • Se ainda não o tiver feito, configure a autenticação. A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    2. Set a default region and zone.

    REST

    Para usar os exemplos da API REST nesta página num ambiente de desenvolvimento local, usa as credenciais que fornece à CLI gcloud.

      Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

    Para mais informações, consulte o artigo Autenticar para usar REST na Google Cloud documentação de autenticação.

Validar a propriedade do domínio

Antes de criar uma VM com um registo PTR personalizado, valide a propriedade do nome do domínio. A validação da propriedade é uma medida de segurança para provar ao Google que é o proprietário do domínio.

Pode validar o seu nome de domínio de 2 formas:

  • Se tiver uma Conta Google, pode fazer a validação através da Search Console.
  • Se tiver uma conta Google ou não Google, pode fazer a validação adicionando o endereço IP da VM à sua configuração de DNS.

Valide através da Search Console

  1. Abra a Search Console e inicie sessão com a Conta Google que vai usar para adicionar um registo PTR à sua instância. Pode validar a propriedade do domínio com várias contas.
  2. Introduza o nome do domínio PTR.
  3. Clique em Continuar.
  4. Siga as instruções e, de seguida, clique em Aceder à propriedade.
  5. Clique em Definições (encontra-se no menu do lado esquerdo, perto da parte inferior) e, de seguida, clique em Validação da propriedade.

Depois de validar a propriedade do domínio, no painel Definições, clique em Utilizadores para ver outros proprietários validados. Para adicionar registos PTR noutros domínios, clique no seletor de propriedades à esquerda que apresenta o seu domínio atual. Clique em Adicionar uma propriedade para adicionar esses domínios.

Se o nome do domínio não for validado imediatamente, use o método recomendado para obter a validação.

Valide adicionando o endereço IP da VM à configuração de DNS

  1. Se a VM ainda não existir, reserve um endereço IP externo estático regional e use-o mais tarde durante a criação da VM.
  2. Adicione um registo "A" com o endereço IP externo da VM à configuração de DNS do seu domínio.

Crie instâncias de VM com registos PTR

Pode especificar registos PTR quando cria novas instâncias. Para adicionar um registo PTR a uma instância existente, consulte o artigo Adicione registos PTR.

Consola

  1. Na Google Cloud consola, aceda à página Criar uma instância.

    Aceda a Criar uma instância

  2. Especifique os detalhes da VM.

  3. Expanda a secção Opções avançadas e, de seguida, faça o seguinte:

    1. Expanda a secção Rede.
    2. Crie uma ou mais interfaces de rede para usar com esta VM. Em alternativa, pode usar a interface de rede predefinida.
    3. Na secção Interfaces de rede, expanda a primeira interface de rede, que é a interface de rede principal.
    4. Na secção Registo PTR de DNS público, selecione cada tipo de registo PTR que quer adicionar.
    5. No campo Nome do domínio PTR, introduza um nome do domínio para cada tipo de registo PTR que quer adicionar.
    6. No campo Endereço IPv4 externo ou Endereço IPv6 externo, escolha o endereço IP reservado anteriormente. Se validou o endereço IP da VM através da configuração de DNS, tem de especificar esse endereço.
    7. Para confirmar as definições da interface de rede, clique em Concluído.
  4. Configure as restantes propriedades para a sua nova VM.

  5. Na parte inferior da página, clique em Criar.

Depois de iniciar a VM, pode executar uma pesquisa de DNS inverso no endereço IP externo da VM para confirmar que o registo PTR está a funcionar conforme esperado.

gcloud

  • Para criar uma nova instância com um registo PTR IPv4 associado, use o comando gcloud instances create.

    gcloud compute instances create INSTANCE_NAME \
        --image-family IMAGE_FAMILY \
        --image-project IMAGE_PROJECT \
        --public-ptr \
        --public-ptr-domain DOMAIN_NAME \
        --address=IP_ADDRESS
    

    Substitua o seguinte:

    • INSTANCE_NAME: o nome da nova instância de VM.
    • IMAGE_FAMILY: uma das famílias de imagens disponíveis.
    • IMAGE_PROJECT: o projeto Google Cloud contra o qual todas as referências de imagens e famílias de imagens são resolvidas. Se não fornecer um nome de projeto, é usado o projeto predefinido atual.
    • DOMAIN_NAME: o nome do domínio a adicionar a esta instância.
    • IP_ADDRESS: o seu endereço IP reservado anteriormente. Se validou o endereço IP da VM através da configuração de DNS, tem de especificar esse endereço.
  • Para criar uma nova instância com um registo PTR IPv6 associado, faça o seguinte:

    1. Crie uma VM de pilha dupla ou apenas IPv6.
    2. Adicione um registo PTR de IPv6.

REST

  • Para criar uma nova instância com um registo PTR IPv4, faça um pedido POST ao método instances.insert.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances
    {
      "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
      "name": "INSTANCE_NAME",
      "disks": [
        {
          "initializeParams": {
            "sourceImage": "projects/debian-cloud/global/images/family/debian-10"
          },
          "boot": true
        }
      ],
      "networkInterfaces": [
        {
          "network": "NETWORK",
          "accessConfigs": [
            {
              "type": "ONE_TO_ONE_NAT",
              "name": "External NAT",
              "natIP": "IP_ADDRESS",
              "publicPtrDomainName": "DOMAIN_NAME",
              "setPublicPtr": true
            }
          ]
        }
      ]
    }
    

    Substitua o seguinte:

    • PROJECT_ID: o ID do seu projeto.
    • ZONE: a zona da sua instância.
    • MACHINE_TYPE: o tipo de máquina.
    • INSTANCE_NAME: o nome da instância.
    • NETWORK: o URL da rede.
    • IP_ADDRESS: o seu endereço IP reservado anteriormente. Se validou o endereço IP da VM através da configuração de DNS, tem de especificar esse endereço.
    • DOMAIN_NAME: o nome do domínio a adicionar.
  • Para criar uma nova instância com um registo PTR IPv6, faça o seguinte:

    1. Crie uma VM de pilha dupla ou apenas IPv6.
    2. Adicione um registo PTR de IPv6.

Adicione registos PTR

Pode adicionar registos PTR atualizando a configuração de acesso na interface de rede principal, nic0, de uma instância de VM.

Consola

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Clique na instância que quer editar.

  3. Clique em Edit.

  4. Na secção Interfaces de rede, clique na interface de rede principal.

  5. Na secção Registo PTR de DNS público, selecione cada tipo de registo PTR que quer adicionar.

  6. No campo Nome do domínio PTR, introduza um nome do domínio para cada tipo de registo PTR que quer adicionar.

  7. Clique em Concluído e, de seguida, clique em Guardar.

gcloud

  1. Se a sua VM não tiver uma configuração de acesso, adicione uma através do comando gcloud compute instances add-access-config.

    gcloud compute instances add-access-config INSTANCE_NAME
    

    Substitua INSTANCE_NAME pelo nome da sua instância.

  2. Atualize a configuração de acesso para adicionar o registo PTR através do comando gcloud compute instances update-access-config. Para adicionar registos PTR de IPv4 e IPv6, use os seguintes comandos individualmente.

    • Para IPv4:

      gcloud compute instances update-access-config INSTANCE_NAME \
          --public-ptr \
          --public-ptr-domain DOMAIN_NAME
      
    • Para IPv6:

      gcloud compute instances update-access-config INSTANCE_NAME \
          --ipv6-public-ptr-domain=DOMAIN_NAME
      

    Substitua o seguinte:

    • INSTANCE_NAME: o nome da instância a atualizar.
    • DOMAIN_NAME: o nome do domínio a adicionar.

REST

  1. Se a sua VM não tiver uma configuração de acesso, adicione uma fazendo um pedido POST ao método instances.addAccessConfig.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addAccessConfig?networkInterface="nic0"
    
  2. Atualize a configuração de acesso para adicionar o registo PTR fazendo um pedido ao método instances.updateAccessConfig.POST Para adicionar registos PTR IPv4 e IPv6, faça os seguintes pedidos individualmente.

    • Para IPv4:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
      {
        "setPublicPtr": true,
        "publicPtrDomainName": "DOMAIN_NAME",
        "type": "ONE_TO_ONE_NAT"
      }
      
    • Para IPv6:

      POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
      {
        "publicPtrDomainName": "DOMAIN_NAME",
        "type": "DIRECT_IPV6"
      }
      

    Substitua o seguinte:

    • PROJECT_ID: o ID do projeto.
    • ZONE: a zona da instância.
    • INSTANCE_NAME: o nome da instância.
    • DOMAIN_NAME: o nome do domínio a adicionar.

Remova registos PTR

Para remover registos PTR, atualize a configuração de acesso na interface de rede principal, nic0, de uma instância de VM. Quando remove um registo PTR, Google Cloud responde às procuras de DNS inversas com um nome do domínio totalmente qualificado predefinido de googleusercontent.com.

Consola

  1. Na Google Cloud consola, aceda à página Instâncias de VM.

    Aceder às instâncias de VM

  2. Clique na instância que quer editar.

  3. Clique em Edit.

  4. Na secção Interfaces de rede, clique na interface de rede principal.

  5. Na secção Registo PTR de DNS público, desmarque a caixa de verificação de cada tipo de registo PTR que quer remover.

  6. Clique em Concluído e, de seguida, clique em Guardar.

gcloud

Para remover um registo PTR, use o comando gcloud compute instances update-access-config. Para remover os registos PTR IPv4 e IPv6, use os seguintes comandos separadamente.

  • Para IPv4:

    gcloud compute instances update-access-config INSTANCE_NAME \
        --no-public-ptr
    
  • Para IPv6:

    gcloud compute instances update-access-config INSTANCE_NAME \
        --no-ipv6-public-ptr
    

Substitua INSTANCE_NAME pelo nome da instância a atualizar.

REST

Para remover um registo PTR, faça um pedido ao método instances.updateAccessConfig.POST Para remover os registos PTR IPv4 e IPv6, faça os seguintes pedidos individualmente.

  • Para IPv4:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
    {
      "setPublicPtr": false,
      "type": "ONE_TO_ONE_NAT"
    }
    
  • Para IPv6:

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/updateAccessConfig?networkInterface=nic0
    {
      "publicPtrDomainName": "",
      "type": "DIRECT_IPV6"
    }
    

Substitua o seguinte:

  • PROJECT_ID: o ID do projeto.
  • ZONE: a zona da instância.
  • INSTANCE_NAME: o nome da instância.

Limitações

  • Quando uma VM é migrada para outro anfitrião como parte do processo de migração em direto durante eventos de manutenção, a lógica do registo PTR não processa corretamente alguns casos extremos e reverte os registos PTR de DNS para o nome do domínio totalmente qualificado (FQDN) googleusercontent.com. Para restaurar a funcionalidade, aplique novamente o registo PTR.

  • Quando para uma VM que tem um registo PTR IPv6, o registo PTR IPv6 é anulado temporariamente e não fica visível na VM. O registo é adicionado novamente automaticamente quando reiniciar a VM.

O que se segue?