Configure políticas de servidor DNS

Esta página descreve como configurar políticas de servidor DNS e usá-las com redes da nuvem virtual privada (VPC). Antes de usar esta página, reveja a vista geral das políticas do servidor DNS.

Antes de começar

A API Cloud DNS requer que crie um Trusted Cloud projeto e ative a API Cloud DNS.

Se estiver a criar uma aplicação que use a API REST, também tem de criar um ID de cliente OAuth 2.0.

  1. Se ainda não tiver uma, inscreva-se numa Conta Google.
  2. Ative a API Cloud DNS na Trusted Cloud consola. Pode escolher um projeto existente do Compute Engine ou do App Engine, ou pode criar um novo projeto.
  3. Se precisar de fazer pedidos à API REST, tem de criar um ID do OAuth 2.0. Consulte o artigo Configurar o OAuth 2.0.
  4. No projeto, tome nota das seguintes informações que tem de introduzir nos passos posteriores:
    • O ID de cliente (xxxxxx.apps.googleusercontent.com).
    • O ID do projeto que quer usar. Pode encontrar o ID na parte superior da página Vista geral na Trusted Cloud consola. Também pode pedir ao utilizador que indique o nome do projeto que quer usar na sua app.

Se não tiver executado a CLI do Google Cloud anteriormente, tem de executar o seguinte comando para especificar o nome do projeto e fazer a autenticação com a Trusted Cloud consola:

gcloud auth login

Para escolher um projeto diferente do que escolheu anteriormente, especifique a opção --project na linha de comandos.

Crie 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 da VPC não pode fazer referência a mais do que uma política de servidor DNS. Se precisar de definir o encaminhamento de entrada e saída para uma rede de VPC, crie uma política que defina uma política de entrada e uma política de saída. Não pode configurar o DNS64 (pré-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 encaminhador de entrada a partir dos intervalos de endereços IPv4 principais das sub-redes em cada rede VPC à qual a política se aplica. Depois de criar a política, 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 da política
  • VPC_NETWORK_LIST: uma lista delimitada por vírgulas de redes VPC onde os endereços de encaminhamento de entrada têm de 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, 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 da 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 pode usar como servidores de nomes alternativos; o encaminhamento privado só é usado para servidores de nomes alternativos que tenham endereços RFC 1918
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: uma lista separada por vírgulas de endereços IP que pode usar como servidores de nomes alternativos, acedida através do encaminhamento 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 o encaminhamento de entrada e saída

gcloud

Para criar uma política de servidor DNS para o 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 da política
  • VPC_NETWORK_LIST: uma lista delimitada por vírgulas de redes VPC onde os endereços de encaminhamento de entrada têm de ser criados e que têm de consultar os servidores de nomes alternativos
  • ALTERNATIVE_NAMESERVER_LIST: uma lista delimitada por vírgulas de endereços IP que pode usar como servidores de nomes alternativos. O encaminhamento privado só é usado 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 pode usar como servidores de nomes alternativos, acedida através do encaminhamento 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
}

Liste os pontos de entrada do encaminhador de entrada

Quando uma política de servidor DNS 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 os seus sistemas no local ou resolvedores de nomes podem enviar consultas DNS. Estes endereços servem como pontos de entrada para a ordem de resolução de nomes da sua rede VPC.

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

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 aceder ao encaminhador de entrada através de qualquer um dos endereços IP internos na mesma rede VPC. Para aceder ao encaminhamento de entrada, a interface de rede tem de ter um endereço IP externo ou uma sub-rede da NIC tem de ter o acesso privado à Google ativado.

gcloud

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

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

Atualize as políticas de DNS

As secções seguintes fornecem informações sobre como alterar as redes VPC e ativar ou desativar o encaminhamento de entrada.

Altere as redes VPC

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

  • Se a política especificar uma política de entrada, os pontos de entrada para encaminhadores de entrada são criados nas 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 é atualizada para incluir os servidores de nomes alternativos especificados.

gcloud

Para modificar a lista de redes às quais se aplica uma política de servidor DNS, 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 especificar substitui a lista anterior

Ative ou desative o encaminhamento de chamadas recebidas

Pode 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 pode desativar o encaminhamento de entrada para uma política de DNS existente.

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 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.

Liste as 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

Elimine uma política de DNS

gcloud

Para eliminar 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 eliminar.

O que se segue?