Configurar políticas de servidor DNS

En esta página se describe cómo configurar políticas de servidor DNS y cómo usarlas con redes de nube privada virtual (VPC). Antes de usar esta página, consulta el resumen de las políticas de servidores DNS.

Antes de empezar

La API Cloud DNS requiere que crees un Trusted Cloud proyecto y habilites la API Cloud DNS.

Si vas a crear una aplicación que use la API REST, también debes crear un ID de cliente de OAuth 2.0.

  1. Si aún no tienes una, regístrate para obtener una cuenta de Google.
  2. Habilita la API Cloud DNS en la Trusted Cloud consola. Puedes elegir un proyecto de Compute Engine o App Engine que ya tengas o crear uno.
  3. Si necesitas enviar solicitudes a la API REST, debes crear un ID de OAuth 2.0. Consulta Configurar OAuth 2.0.
  4. En el proyecto, anota la siguiente información que debes introducir en pasos posteriores:
    • El ID de cliente (xxxxxx.apps.googleusercontent.com).
    • El ID del proyecto que quieras usar. Puedes encontrar el ID en la parte superior de la página Resumen de la consola Trusted Cloud . También puedes pedirle al usuario que te proporcione el nombre del proyecto que quiere usar en tu aplicación.

Si no has ejecutado la CLI de Google Cloud anteriormente, debes ejecutar el siguiente comando para especificar el nombre del proyecto y autenticarte con la consola: Trusted Cloud

gcloud auth login

Para elegir un proyecto diferente del que hayas elegido anteriormente, especifica la opción --project en la línea de comandos.

Crear políticas de servidor DNS

Cada objeto de política de servidor DNS puede definir cualquiera de las siguientes políticas de servidor:

Cada red de VPC puede hacer referencia a una sola política de servidor DNS. Si necesitas definir el reenvío tanto entrante como saliente de una red de VPC, crea una política que defina tanto una política entrante como una saliente. No puedes configurar DNS64 (vista previa) con una política de servidor DNS entrante.

Crear una política de servidor DNS entrante

Para crear una política de servidor DNS entrante, sigue estas instrucciones. Cloud DNS crea un conjunto de direcciones IP de reenviador entrante a partir de los intervalos de direcciones IPv4 principales de las subredes de cada red de VPC a la que se aplica la política. Una vez que hayas creado la política, puedes listar los puntos de entrada que crea Cloud DNS.

gcloud

Para crear una política de servidor DNS entrante, ejecuta el comando dns policies create:

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

Haz los cambios siguientes:

  • NAME: nombre de la política
  • DESCRIPTION: una descripción de la política
  • VPC_NETWORK_LIST: lista delimitada por comas de redes de VPC en las que se deben crear direcciones de reenvío entrantes.

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
}

Crear una política de servidor DNS saliente

Para especificar una lista de servidores de nombres alternativos para una red de VPC, puedes crear una política de servidor DNS saliente.

.

gcloud

Para crear una política de servidor DNS saliente, ejecuta el 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

Haz los cambios siguientes:

  • NAME: nombre de la política
  • DESCRIPTION: una descripción de la política
  • VPC_NETWORK_LIST: una lista delimitada por comas de redes de VPC que consultan los servidores de nombres alternativos.
  • ALTERNATIVE_NAMESERVER_LIST: lista delimitada por comas de direcciones IP que puedes usar como servidores de nombres alternativos. El enrutamiento privado solo se usa para servidores de nombres alternativos que tienen direcciones RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: una lista de direcciones IP separadas por comas que puedes usar como servidores de nombres alternativos, a los que se accede mediante el enrutamiento 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
}

Crear una política de servidor DNS para el reenvío entrante y saliente

gcloud

Para crear una política de servidor DNS para el reenvío entrante y saliente, ejecuta el 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

Haz los cambios siguientes:

  • NAME: nombre de la política
  • DESCRIPTION: una descripción de la política
  • VPC_NETWORK_LIST: lista delimitada por comas de redes de VPC en las que se deben crear direcciones de reenvío entrantes y que deben consultar los servidores de nombres alternativos.
  • ALTERNATIVE_NAMESERVER_LIST: lista delimitada por comas de direcciones IP que puedes usar como servidores de nombres alternativos. El enrutamiento privado solo se usa para servidores de nombres alternativos que tienen direcciones RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST: una lista de direcciones IP separadas por comas que puedes usar como servidores de nombres alternativos, a los que se accede mediante el enrutamiento 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
}

Mostrar puntos de entrada de reenviadores entrantes

Cuando se aplica una política de servidor DNS entrante a una red de VPC, Cloud DNS crea un conjunto de direcciones IP internas regionales que sirven como destinos a los que pueden enviar consultas de DNS tus sistemas o resoluciones de nombres locales. Estas direcciones sirven como puntos de entrada al orden de resolución de nombres de tu red VPC.

Las reglas de cortafuegosTrusted Cloud no se aplican a las direcciones internas regionales que actúan como puntos de entrada para los reenviadores entrantes. Cloud DNS acepta automáticamente el tráfico TCP y UDP en el puerto 53.

Cada reenviador entrante acepta y recibe consultas de túneles de Cloud VPN o de adjuntos de Cloud Interconnect (VLANs) de la misma región que la dirección IP interna regional. Las instancias de VM pueden acceder al reenviador entrante a través de cualquiera de las direcciones IP internas de la misma red VPC. Para acceder a la redirección entrante, la interfaz de red debe tener una dirección IP externa o una subred de la NIC debe tener habilitado el acceso privado de Google.

gcloud

Para ver la lista de direcciones IP internas regionales que sirven como puntos de entrada para el reenvío entrante, ejecuta el comando compute addresses list:

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

Actualizar las políticas de DNS

En las secciones siguientes se proporciona información sobre cómo cambiar las redes de VPC y habilitar o inhabilitar el reenvío entrante.

Cambiar redes de VPC

En la siguiente lista se describe lo que ocurre cuando cambias la lista de redes VPC a las que se aplica una política de DNS:

  • Si la política especifica una política de entrada, se crean puntos de entrada para los reenviadores de entrada en las redes de VPC según sea necesario.
  • Si la política especifica una política de salida, el orden de resolución de nombres de cada red de VPC se actualiza para incluir los servidores de nombres alternativos especificados.

gcloud

Para modificar la lista de redes a las que se aplica una política de servidor DNS, ejecuta el comando dns policies update:

gcloud dns policies update NAME \
    --networks=VPC_NETWORK_LIST

Haz los cambios siguientes:

  • NAME: nombre de la política
  • VPC_NETWORK_LIST: lista delimitada por comas de redes de VPC a las que se aplica la política. La lista de redes de VPC que especifiques sustituirá a la anterior.

Habilitar o inhabilitar el reenvío de llamadas entrantes

Puedes habilitar el reenvío entrante en una política de servidor DNS que solo defina una política saliente (servidor de nombres alternativo). También puedes inhabilitar el reenvío entrante de una política de DNS.

gcloud

Para habilitar el reenvío entrante de una política de servidor DNS, ejecuta el comando dns policies update:

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

Para inhabilitar el reenvío entrante de una política de servidor DNS, ejecuta el comando dns policies update:

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

Sustituye NAME por el nombre de la política.

Listar políticas de DNS

gcloud

Para enumerar las políticas de servidor DNS de tu proyecto, ejecuta el comando dns policies list:

gcloud dns policies list

Eliminar una política de DNS

gcloud

Para eliminar una política de servidor DNS, ejecuta el comando dns policies delete:

gcloud dns policies delete NAME

Sustituye NAME por el nombre de la política que quieras eliminar.

Siguientes pasos