Configurar las políticas del servidor DNS

Esta página describe cómo configurar las políticas del servidor DNS y usarlas con redes de nube virtual privada (VPC). Antes de usar esta página, revise la descripción general de las políticas del servidor DNS .

Antes de empezar

La API de DNS en la nube requiere que crees una Google Cloud proyecto y habilitar la API de Cloud DNS.

Si está creando una aplicación que utiliza la API REST, también debe crear un ID de cliente OAuth 2.0.

  1. Si aún no tienes una, regístrate para obtener una cuenta de Google .
  2. Habilite la API de DNS en la nube en Google Cloud consola . Puedes elegir un proyecto existente de Compute Engine o App Engine, o crear uno nuevo.
  3. Si necesita realizar solicitudes a la API REST, debe crear un ID de OAuth 2.0. Consulte Configuración de OAuth 2.0 .
  4. En el proyecto, tenga en cuenta la siguiente información que deberá ingresar en los pasos posteriores:
    • El ID del cliente ( xxxxxx.apps.googleusercontent.com ).
    • El ID del proyecto que desea utilizar. Puede encontrarlo en la parte superior de la página Resumen en el... Google Cloud consola. También puedes pedirle al usuario que proporcione el nombre del proyecto que desea usar en tu aplicación.

Si no ha ejecutado la CLI de Google Cloud anteriormente, debe ejecutar el siguiente comando para especificar el nombre del proyecto y autenticarse con el Google Cloud consola:

gcloud auth login

Para elegir un proyecto diferente al que ha elegido anteriormente, especifique la opción --project en la línea de comando.

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 no puede hacer referencia a más de una política de servidor DNS. Si necesita definir el reenvío de entrada y de salida para una red de VPC, cree una política que defina ambas políticas. No se puede configurar DNS64 ( versión preliminar ) con una política de servidor DNS de entrada.

Crear una política de servidor DNS entrante

Para crear una política de servidor DNS entrante, siga estas instrucciones. Cloud DNS crea un conjunto de direcciones IP de reenvío entrantes a partir de los rangos de direcciones IPv4 principales de las subredes en cada red de VPC a la que se aplica la política. Después de crear la política, puede enumerar los puntos de entrada que crea Cloud DNS.

nube g

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

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

Reemplace lo siguiente:

  • NAME : un nombre para la política
  • DESCRIPTION : una descripción de la póliza
  • VPC_NETWORK_LIST : una lista delimitada por comas de redes VPC donde se deben crear direcciones de reenvío entrante

Terraformar

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 VPC, puede crear una política de servidor DNS saliente.

nube g

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

Reemplace lo siguiente:

  • NAME : un nombre para la política
  • DESCRIPTION : una descripción de la póliza
  • VPC_NETWORK_LIST : una lista delimitada por comas de redes VPC que consultan los servidores de nombres alternativos
  • ALTERNATIVE_NAMESERVER_LIST : una lista delimitada por comas de direcciones IP que puede 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 delimitada por comas de direcciones IP que puede usar como servidores de nombres alternativos, a las que se accede mediante enrutamiento privado

Terraformar

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
}

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

nube g

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

Reemplace lo siguiente:

  • NAME : un nombre para la política
  • DESCRIPTION : una descripción de la póliza
  • VPC_NETWORK_LIST : una lista delimitada por comas de redes VPC donde se deben crear direcciones de reenvío entrantes y que deben consultar los servidores de nombres alternativos
  • ALTERNATIVE_NAMESERVER_LIST : una lista de direcciones IP, delimitada por comas, que puede usar como servidores de nombres alternativos. El enrutamiento privado solo se utiliza para servidores de nombres alternativos con direcciones RFC 1918.
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST : una lista delimitada por comas de direcciones IP que puede utilizar como servidores de nombres alternativos, a las que se accede mediante enrutamiento privado.

Terraformar

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
}

Lista de puntos de entrada del reenvío entrante

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 sus sistemas locales o solucionadores de nombres pueden enviar consultas DNS. Estas direcciones sirven como puntos de entrada al orden de resolución de nombres de su red de VPC.

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

Cada reenvío entrante acepta y recibe consultas de túneles VPN en la nube o conexiones de Cloud Interconnect (VLAN) en la misma región que la dirección IP interna regional. Las instancias de máquina virtual pueden acceder al reenvío entrante a través de cualquiera de las direcciones IP internas de la misma red VPC. Para acceder al reenvío 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.

nube g

Para enumerar el conjunto de direcciones IP internas regionales que sirven como puntos de entrada para el reenvío entrante, ejecute el comando compute addresses list :

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

Actualizar las políticas de DNS

Las siguientes secciones proporcionan información sobre cómo cambiar las redes VPC y habilitar o deshabilitar el reenvío entrante.

Cambiar las redes de VPC

La siguiente lista describe lo que sucede cuando cambia la lista de redes VPC a las que se aplica una política DNS:

  • Si la política especifica una política de entrada, se crean puntos de entrada para los reenvíos entrantes en las redes 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 VPC se actualiza para incluir los servidores de nombres alternativos especificados.

nube g

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

gcloud dns policies update NAME \
    --networks=VPC_NETWORK_LIST

Reemplace lo siguiente:

  • NAME : un nombre para la política
  • VPC_NETWORK_LIST : una lista delimitada por comas de redes VPC a las que se aplica la política; la lista de redes VPC que especifique reemplaza la lista anterior

Habilitar o deshabilitar el reenvío entrante

Puede habilitar el reenvío entrante para una política de servidor DNS que defina solo una política saliente (servidor de nombres alternativo). También puede deshabilitar el reenvío entrante para una política DNS existente.

nube g

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

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

Para deshabilitar el reenvío entrante para una política de servidor DNS, ejecute el comando dns policies update :

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

Reemplace NAME con el nombre de la política.

Lista de políticas de DNS

nube g

Para enumerar las políticas del servidor DNS en su proyecto, ejecute el comando dns policies list :

gcloud dns policies list

Eliminar una política de DNS

nube g

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

gcloud dns policies delete NAME

Reemplace NAME con el nombre de la política que desea eliminar.

¿Qué sigue?