Configurar políticas do servidor DNS

Esta página descreve como configurar políticas de servidor DNS e usá-las com redes de Nuvem Privada Virtual (VPC). Antes de usar esta página, revise a visão geral das políticas de servidor DNS .

Antes de começar

A API Cloud DNS requer que você crie uma Google Cloud projeto e habilitar a API do Cloud DNS.

Se você estiver criando um aplicativo que usa a API REST, também deverá criar um ID de cliente OAuth 2.0.

  1. Se você ainda não tem uma, crie uma Conta do Google .
  2. Habilitar a API do Cloud DNS no Google Cloud console . Você pode escolher um projeto existente do Compute Engine ou do App Engine ou criar um novo projeto.
  3. Se precisar fazer solicitações à API REST, você precisará criar um ID OAuth 2.0. Consulte Configurando o OAuth 2.0 .
  4. No projeto, observe as seguintes informações que você precisa inserir nas etapas posteriores:
    • O ID do cliente ( xxxxxx.apps.googleusercontent.com ).
    • O ID do projeto que você deseja usar. Você pode encontrar o ID no topo da página Visão geral , no Google Cloud console. Você também pode pedir ao seu usuário que informe o nome do projeto que deseja usar no seu aplicativo.

Se você não executou o Google Cloud CLI anteriormente, execute o seguinte comando para especificar o nome do projeto e autenticar com o Google Cloud console:

gcloud auth login

Para escolher um projeto diferente daquele que você escolheu anteriormente, especifique a opção --project na linha de comando.

Criar políticas de servidor DNS

Cada objeto de política de servidor DNS pode definir qualquer uma das seguintes políticas de servidor:

Cada rede VPC pode referenciar no máximo uma política de servidor DNS. Se você precisar definir o encaminhamento de entrada e saída para uma rede VPC, crie uma política que defina uma política de entrada e uma de saída. Não é possível configurar o DNS64 ( Visualização ) com uma política de servidor DNS de entrada.

Crie uma política de servidor DNS de entrada

Para criar uma política de servidor DNS de entrada, siga estas instruções. O Cloud DNS cria um conjunto de endereços IP de encaminhadores de entrada a partir dos intervalos de endereços IPv4 primários de sub-redes em cada rede VPC à qual a política se aplica. Após criar sua política, você pode listar os pontos de entrada criados pelo Cloud DNS.

gcloud

Para criar uma política de servidor DNS de entrada, execute o comando dns policies create :

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --enable-inbound-forwarding

Substitua o seguinte:

  • NAME : um nome para a política
  • DESCRIPTION : uma descrição para a política
  • VPC_NETWORK_LIST : uma lista delimitada por vírgulas de redes VPC onde endereços de encaminhamento de entrada devem ser criados

Terraform

resource "google_dns_policy" "default" {
  name                      = "example-inbound-policy"
  enable_inbound_forwarding = true

  networks {
    network_url = google_compute_network.default.id
  }
}

resource "google_compute_network" "default" {
  name                    = "network"
  auto_create_subnetworks = false
}

Crie uma política de servidor DNS de saída

Para especificar uma lista de servidores de nomes alternativos para uma rede VPC, você pode criar uma política de servidor DNS de saída.

gcloud

Para criar uma política de servidor DNS de saída, execute o comando dns policies create :

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \
    --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST

Substitua o seguinte:

  • NAME : um nome para a política
  • DESCRIPTION : uma descrição para a política
  • VPC_NETWORK_LIST : uma lista delimitada por vírgulas de redes VPC que consultam os servidores de nomes alternativos
  • ALTERNATIVE_NAMESERVER_LIST : uma lista delimitada por vírgulas de endereços IP que você pode usar como servidores de nomes alternativos; o roteamento privado é usado apenas para servidores de nomes alternativos que têm endereços RFC 1918
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST : uma lista delimitada por vírgulas de endereços IP que você pode usar como servidores de nomes alternativos, acessados ​​usando roteamento privado

Terraform

resource "google_dns_policy" "default" {
  name = "example-outbound-policy"

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.default.id
  }
}

resource "google_compute_network" "default" {
  name                    = "network"
  auto_create_subnetworks = false
}

Crie uma política de servidor DNS para encaminhamento de entrada e saída

gcloud

Para criar uma política de servidor DNS para encaminhamento de entrada e saída, execute o comando dns policies create :

gcloud dns policies create NAME \
    --description=DESCRIPTION \
    --networks=VPC_NETWORK_LIST \
    --alternative-name-servers=ALTERNATIVE_NAMESERVER_LIST \
    --private-alternative-name-servers=PRIVATE_ALTERNATIVE_NAMESERVER_LIST \
    --enable-inbound-forwarding

Substitua o seguinte:

  • NAME : um nome para a política
  • DESCRIPTION : uma descrição para a política
  • VPC_NETWORK_LIST : uma lista delimitada por vírgulas de redes VPC onde endereços de encaminhamento de entrada devem ser criados e que devem consultar os servidores de nomes alternativos
  • ALTERNATIVE_NAMESERVER_LIST : uma lista delimitada por vírgulas de endereços IP que você pode usar como servidores de nomes alternativos. O roteamento privado é usado apenas para servidores de nomes alternativos que possuem endereços RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST : uma lista delimitada por vírgulas de endereços IP que você pode usar como servidores de nomes alternativos, acessados ​​usando roteamento privado.

Terraform

resource "google_dns_policy" "example_policy" {
  name                      = "example-policy"
  enable_inbound_forwarding = true

  enable_logging = true

  alternative_name_server_config {
    target_name_servers {
      ipv4_address    = "172.16.1.10"
      forwarding_path = "private"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }

  networks {
    network_url = google_compute_network.network_1.id
  }
  networks {
    network_url = google_compute_network.network_2.id
  }
}

resource "google_compute_network" "network_1" {
  name                    = "network-1"
  auto_create_subnetworks = false
}

resource "google_compute_network" "network_2" {
  name                    = "network-2"
  auto_create_subnetworks = false
}

Listar pontos de entrada do encaminhador de entrada

Quando uma política de servidor DNS de entrada é aplicada a uma rede VPC, o Cloud DNS cria um conjunto de endereços IP internos regionais que servem como destinos para os quais seus sistemas locais ou resolvedores de nomes podem enviar consultas DNS. Esses endereços servem como pontos de entrada para a ordem de resolução de nomes da sua rede VPC.

Google Cloud As regras de firewall não se aplicam aos endereços internos regionais que atuam como pontos de entrada para encaminhadores de entrada. O Cloud DNS aceita tráfego TCP e UDP na porta 53 automaticamente.

Cada encaminhador de entrada aceita e recebe consultas de túneis do Cloud VPN ou anexos do Cloud Interconnect (VLANs) na mesma região que o endereço IP interno regional. As instâncias de VM podem acessar o encaminhador de entrada por meio de qualquer um dos endereços IP internos na mesma rede VPC. Para acessar o encaminhamento de entrada, a interface de rede deve ter um endereço IP externo ou uma sub-rede da NIC deve ter o Acesso Privado do Google habilitado.

gcloud

Para listar o conjunto de endereços IP internos regionais que servem como pontos de entrada para encaminhamento de entrada, execute o comando compute addresses list :

gcloud compute addresses list \
    --filter='purpose = "DNS_RESOLVER"' \
    --format='csv(address, region, subnetwork)'

Atualizar políticas de DNS

As seções a seguir fornecem informações sobre como alterar redes VPC e habilitar ou desabilitar o encaminhamento de entrada.

Alterar redes VPC

A lista a seguir descreve o que acontece quando você altera a lista de redes VPC às quais uma política de DNS se aplica:

  • Se a política especificar uma política de entrada, pontos de entrada para encaminhadores de entrada serão criados em redes VPC, conforme necessário.
  • Se a política especificar uma política de saída, a ordem de resolução de nomes de cada rede VPC será atualizada para incluir os servidores de nomes alternativos especificados.

gcloud

Para modificar a lista de redes às quais uma política de servidor DNS se aplica, execute o comando dns policies update :

gcloud dns policies update NAME \
    --networks=VPC_NETWORK_LIST

Substitua o seguinte:

  • NAME : um nome para a política
  • VPC_NETWORK_LIST : uma lista delimitada por vírgulas de redes VPC às quais a política se aplica; a lista de redes VPC que você especifica substitui a lista anterior

Habilitar ou desabilitar o encaminhamento de entrada

Você pode habilitar o encaminhamento de entrada para uma política de servidor DNS que define apenas uma política de saída (servidor de nomes alternativo). Você também pode desabilitar o encaminhamento de entrada para uma política de DNS existente.

gcloud

Para habilitar o encaminhamento de entrada para uma política de servidor DNS, execute o comando dns policies update :

gcloud dns policies update NAME \
    --enable-inbound-forwarding

Para desabilitar o encaminhamento de entrada para uma política de servidor DNS, execute o comando dns policies update :

gcloud dns policies update NAME \
    --no-enable-inbound-forwarding

Substitua NAME pelo nome da política.

Listar políticas de DNS

gcloud

Para listar as políticas do servidor DNS no seu projeto, execute o comando dns policies list :

gcloud dns policies list

Excluir uma política de DNS

gcloud

Para excluir uma política de servidor DNS, execute o comando dns policies delete :

gcloud dns policies delete NAME

Substitua NAME pelo nome da política a ser excluída.

O que vem a seguir