Aplicar políticas de servidor do Cloud DNS

Nesta página, você verá como configurar políticas de servidor do Cloud DNS e usá-las com redes de nuvem privada virtual (VPC). Antes de usar esta página, consulte a visão geral das políticas do servidor DNS.

Antes de começar

A API Cloud DNS exige que você crie um projeto do Google Cloud e depois ative-a.

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

  1. Crie uma Conta do Google se ainda não tiver uma.
  2. Ative a API do Cloud DNS no console do Google Cloud. É possível escolher um projeto atual do Compute Engine ou App Engine, ou criar um projeto novo.
  3. Se você precisar fazer solicitações para a API REST, será necessário criar um ID do OAuth 2.0. Como configurar o OAuth 2.0.
  4. No projeto, observe as seguintes informações que serão necessárias nas próximas etapas:
    • O ID do cliente (xxxxxx.apps.googleusercontent.com).
    • O ID do projeto que você quer usar. Esse ID está na parte superior da página Visão geral no console do Google Cloud. Se preferir, peça ao usuário que forneça o nome do projeto a ser usado no seu app.

Se você ainda não executou a CLI do Google Cloud, execute o comando a seguir para especificar o nome do projeto e autenticar com o Console do Google Cloud:

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 não pode fazer referência a mais de uma política de servidor DNS. Se você precisar definir o encaminhamento de entrada e de saída para uma rede VPC, crie uma política que defina uma política de entrada e de saída.

Criar uma política de servidor de entrada

Para criar uma política de servidor de entrada, siga as instruções. O Cloud DNS cria um conjunto de endereços IP de encaminhador de entrada a partir dos intervalos de endereços IPv4 principais de sub-redes em cada rede VPC a que a política se aplica. Depois de criar a política, é possível listar os pontos de entrada criados pelo Cloud DNS.

gcloud

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

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

Substitua:

  • NAME: um nome para a política.
  • DESCRIPTION: uma descrição da política.
  • VPC_NETWORK_LIST: uma lista delimitada por vírgulas de redes VPC em que os endereços de encaminhamento de entrada precisam 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
}

Criar uma política de servidor de saída

Para especificar uma lista de servidores de nomes alternativos para uma rede VPC, crie uma política de servidor de saída.

gcloud

Para criar uma política de servidor 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:

  • NAME: um nome para a política.
  • DESCRIPTION: uma descrição da política.
  • VPC_NETWORK_LIST: uma lista de redes VPC delimitada por vírgulas que consultam os servidores de nomes alternativos.
  • ALTERNATIVE_NAMESERVER_LIST: uma lista delimitada por vírgulas de endereços IP que podem ser usados como servidores de nomes alternativos. O roteamento particular é usado apenas para servidores de nomes alternativos que tenham endereços RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: uma lista delimitada por vírgulas de endereços IP que podem ser usados como servidores de nomes alternativos, acessados usando o roteamento particular.

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
}

Criar uma política de servidor para ambas

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:

  • NAME: um nome para a política.
  • DESCRIPTION: uma descrição da política.
  • VPC_NETWORK_LIST: uma lista de redes VPC delimitada por vírgulas em que os endereços de encaminhamento de entrada precisam ser criados e consultar os servidores de nomes alternativos.
  • ALTERNATIVE_NAMESERVER_LIST: uma lista delimitada por vírgulas de endereços IP que podem ser usados como servidores de nomes alternativos. O roteamento particular é 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 podem ser usados como servidores de nomes alternativos, acessados usando o roteamento particular.

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 de entrada se aplica 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 o pedido de resolução de nome da sua rede VPC.

As regras de firewall do Google Cloud não se aplicam aos endereços internos regionais que agem 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 do endereço IP interno regional. As instâncias de VM podem acessar o encaminhador de entrada usando qualquer um dos endereços IP internos na mesma rede VPC. Para isso, a interface de rede precisa ter um endereço IP externo ou uma sub-rede da placa de rede (NIC, na sigla em inglês) precisa ter o Acesso privado do Google ativado.

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

Nas seções a seguir, você encontra informações sobre como alterar redes VPC e ativar ou desativar 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 é aplicada:

  • Se a política especificar uma política de entrada, os 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 nome 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:

  • 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 especificadas substitui a lista anterior.

Ativar ou desativar o encaminhamento de entrada

É possível ativar o encaminhamento de entrada para uma política de servidor DNS que defina apenas uma política de saída (servidor de nomes alternativo). Também é possível desativar o encaminhamento de entrada para uma política de DNS atual.

gcloud

Para ativar 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 desativar o encaminhamento de entrada de 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, execute o comando dns policies delete:

gcloud dns policies delete NAME

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

A seguir