Configurer des règles de serveur DNS

Sur cette page, nous expliquons comment configurer des règles de serveur DNS et les utiliser avec des réseaux cloud privés virtuels (VPC). Avant d'utiliser cette page, consultez la présentation des règles de serveur DNS.

Avant de commencer

L'API Cloud DNS nécessite la création d'un projet Google Cloud et l'activation de l'API Cloud DNS.

Si vous créez une application qui utilise l'API REST, vous devez également créer un ID client OAuth 2.0.

  1. Si vous n'en possédez pas déjà un, vous devez créer un compte Google.
  2. Activez l'API Cloud DNS dans la console Google Cloud . Vous pouvez sélectionner un projet Compute Engine ou App Engine existant, ou en créer un.
  3. Si vous devez envoyer des requêtes à l'API REST, vous devez créer un ID OAuth 2.0. Consultez la section Configurer OAuth 2.0.
  4. Dans le projet, notez les informations suivantes que vous devrez saisir aux prochaines étapes :
    • L'ID client (xxxxxx.apps.googleusercontent.com).
    • L'ID du projet que vous souhaitez utiliser. L'ID se trouve en haut de la page Présentation de la console Google Cloud . Vous pouvez également demander aux utilisateurs d'indiquer le nom du projet qu'ils souhaitent utiliser dans votre application.

Si vous n'avez pas encore utilisé Google Cloud CLI, vous devez exécuter la commande suivante pour spécifier le nom du projet et vous authentifier dans la console Google Cloud  :

gcloud auth login

Pour choisir un projet différent de celui que vous avez choisi précédemment, spécifiez l'option --project sur la ligne de commande.

Créer des règles de serveur DNS

Chaque objet de règle de serveur DNS peut définir l'une des règles de serveur suivantes :

Chaque réseau VPC ne peut référencer qu'une seule règle de serveur DNS. Si vous devez définir un transfert entrant et sortant pour un réseau VPC, créez une règle qui définit à la fois une règle entrante et sortante. Vous ne pouvez pas configurer DNS64 avec une règle de serveur DNS entrant.

Créer une règle de serveur DNS entrant

Pour créer une règle de serveur DNS entrant, suivez les instructions ci-dessous. Cloud DNS crée un ensemble d'adresses IP de redirecteur entrant à partir des plages d'adresses IPv4 principales des sous-réseaux de chaque réseau VPC auquel la règle s'applique. Une fois votre règle créée, vous pouvez répertorier les points d'entrée créés par Cloud DNS.

Console

  1. Dans la console Google Cloud , ouvrez la page Règles de serveur Cloud DNS.

    Accéder aux règles de serveur Cloud DNS

  2. Cliquez sur Créer une règle.

  3. Dans le champ Nom, saisissez le nom de la règle de serveur DNS entrant que vous souhaitez créer, par exemple inbound-dns-server-policy.

  4. Dans la section Transfert de requêtes entrantes, sélectionnez Activé.

  5. Vous pouvez éventuellement activer DNS64 pour permettre la communication entre les charges de travail IPv6 uniquement et les destinations IPv4 uniquement. Pour en savoir plus, consultez Configurer DNS64.

  6. Vous pouvez éventuellement activer les journaux DNS privés dans la section Journaux. Toutefois, cela peut augmenter vos coûts dans Cloud Logging.

  7. Dans la liste Réseaux, sélectionnez les réseaux VPC que vous souhaitez associer à cette règle de serveur DNS.

    Un réseau ne peut être associé qu'à une seule règle. Si vous ne pouvez pas sélectionner de réseau dans la liste, cela signifie qu'il est utilisé par une autre règle. Pour savoir quel réseau est utilisé par une règle, consultez la colonne Utilisée par sur la page Règles de serveur DNS.

  8. Cliquez sur Créer.

gcloud

Pour créer une règle de serveur DNS entrant, exécutez la commande dns policies create :

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

Remplacez les éléments suivants :

  • NAME : nom de la règle
  • DESCRIPTION : description de la règle
  • VPC_NETWORK_LIST : liste de réseaux VPC auxquels la règle de serveur DNS doit être associée, séparés par des virgules

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
}

Créer une règle de serveur DNS sortant

Afin de spécifier une liste de serveurs de noms alternatifs pour un réseau VPC, vous pouvez créer une règle de serveur DNS sortant.

Console

  1. Dans la console Google Cloud , ouvrez la page Règles de serveur Cloud DNS.

    Accéder aux règles de serveur Cloud DNS

  2. Cliquez sur Créer une règle.

  3. Dans le champ Nom, saisissez le nom de la règle de serveur DNS sortant que vous souhaitez créer, par exemple outbound-dns-server-policy.

  4. Dans la section Transfert de requêtes entrantes, sélectionnez Désactivé.

  5. Vous pouvez éventuellement activer les journaux DNS privés dans la section Journaux. Toutefois, cela peut augmenter vos coûts dans Cloud Logging.

  6. Dans la section Serveurs DNS alternatifs (facultatif), cliquez sur Ajouter un élément, puis saisissez l'adresse IP de vos serveurs DNS sortants dans le champ Adresse IP.

    • Cochez la case Transfert privé si vous souhaitez forcer le routage privé vers les serveurs DNS sortants.
  7. Dans la liste Réseaux, sélectionnez les réseaux VPC que vous souhaitez associer à cette règle de serveur DNS.

  8. Cliquez sur Créer.

gcloud

Pour créer une règle de serveur DNS sortant, exécutez la commande 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"

Remplacez les éléments suivants :

  • NAME : nom de la règle
  • DESCRIPTION : description de la règle
  • VPC_NETWORK_LIST : liste de réseaux VPC interrogeant les serveurs de noms alternatifs, séparés par des virgules
  • ALTERNATIVE_NAMESERVER_LIST : liste d'adresses IP séparées par des virgules que vous pouvez utiliser comme serveurs de noms alternatifs
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST : liste d'adresses IP séparées par des virgules, que vous pouvez utiliser comme serveurs de noms secondaires, accessibles via un routage privé.

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
}

Créer une règle de serveur DNS pour le transfert entrant et sortant

Console

  1. Dans la console Google Cloud , ouvrez la page Règles de serveur Cloud DNS.

    Accéder aux règles de serveur Cloud DNS

  2. Cliquez sur Créer une règle.

  3. Dans le champ Nom, saisissez le nom de la règle de serveur DNS entrant que vous souhaitez créer, par exemple inbound-outbound-dns-server-policy.

  4. Dans la section Transfert de requêtes entrantes, sélectionnez Activé.

  5. Vous pouvez éventuellement activer les journaux DNS privés dans la section Journaux. Toutefois, cela peut augmenter vos coûts dans Cloud Logging.

  6. Dans la section Serveurs DNS alternatifs (facultatif), cliquez sur Ajouter un élément, puis saisissez l'adresse IP de vos serveurs DNS sortants dans le champ Adresse IP.

    • Sélectionnez Transfert privé si vous souhaitez forcer le routage privé vers les serveurs DNS sortants.
  7. Dans la liste Réseaux, sélectionnez les réseaux VPC que vous souhaitez associer à cette règle de serveur DNS.

  8. Cliquez sur Créer.

gcloud

Pour créer une règle de serveur DNS pour le transfert entrant et sortant, exécutez la commande 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

Remplacez les éléments suivants :

  • NAME : nom de la règle
  • DESCRIPTION : description de la règle
  • VPC_NETWORK_LIST : liste des réseaux VPC dans lesquels des adresses de transfert entrantes doivent être créées et qui doivent interroger les autres serveurs de noms, séparés par des virgules
  • ALTERNATIVE_NAMESERVER_LIST : liste d'adresses IP séparées par des virgules que vous pouvez utiliser comme serveurs de noms alternatifs
  • PRIVATE_ALTERNATIVE_NAMESERVER_LIST : liste d'adresses IP séparées par des virgules que vous pouvez utiliser comme serveurs de noms secondaires, accessibles via un routage privé.

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
}

Répertorier les points d'entrée du redirecteur entrant

Lorsqu'une règle de serveur DNS entrant s'applique à un réseau VPC, Cloud DNS crée un ensemble d'adresses IP internes régionales qui servent de destinations vers lesquelles vos systèmes sur site ou vos résolveurs de noms peuvent envoyer des requêtes DNS. Ces adresses servent de points d'entrée à l'ordre de résolution des noms de votre réseau VPC.

Les règles de pare-feuGoogle Cloud ne s'appliquent pas aux adresses internes régionales qui servent de points d'entrée pour les redirecteurs entrants. Cloud DNS accepte automatiquement le trafic TCP et UDP sur le port 53.

Chaque redirecteur entrant accepte et reçoit des requêtes provenant de tunnels Cloud VPN ou de rattachements Cloud Interconnect (VLAN) situés dans la même région que l'adresse IP interne régionale. Les instances de VM peuvent accéder au redirecteur entrant via n'importe quelle adresse IP interne du même réseau VPC. Pour accéder au transfert entrant, l'interface réseau doit disposer d'une adresse IP externe ou l'accès privé à Google doit être activé sur un sous-réseau de la carte d'interface réseau.

Console

Affichez la liste des points d'entrée du redirecteur entrant pour une règle :

  1. Dans la console Google Cloud , ouvrez la page Règles de serveur Cloud DNS.

    Accéder aux règles de serveur Cloud DNS

  2. Cliquez sur le nom de la règle.

  3. Sur la page Détails de la règle, cliquez sur l'onglet Utilisée par.

Chaque réseau lié à la règle liste les adresses IP de transfert des requêtes entrantes.

gcloud

Pour répertorier l'ensemble des adresses IP internes régionales servant de points d'entrée pour toutes les règles de transfert entrant, exécutez la commande compute addresses list :

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

Mettre à jour les règles DNS

Les sections suivantes fournissent des informations sur la modification des réseaux VPC et l'activation ou la désactivation du transfert entrant.

Modifier les réseaux VPC

La liste suivante décrit ce qui se passe lorsque vous modifiez la liste des réseaux VPC auxquels s'applique une règle DNS :

  • Si les règles spécifient une règle entrante, des points d'entrée sont créés pour les redirecteurs entrants dans les réseaux VPC, si nécessaire.
  • Si les règles spécifient une règle sortante, l'ordre de résolution des noms de chaque réseau VPC est mis à jour pour inclure les serveurs de noms alternatifs spécifiés.

Console

  1. Dans la console Google Cloud , ouvrez la page Règles de serveur Cloud DNS.

    Accéder aux règles de serveur Cloud DNS

  2. Cliquez sur le nom de la règle que vous souhaitez modifier.

  3. Cliquez sur Modifier la règle.

  4. Dans la liste Réseaux, cochez ou décochez les cases à côté des réseaux VPC.

  5. Cliquez sur Enregistrer.

gcloud

Pour modifier la liste des réseaux auxquels s'applique une règle de serveur DNS, exécutez la commande dns policies update :

gcloud dns policies update NAME \
    --networks="VPC_NETWORK_LIST"

Remplacez les éléments suivants :

  • NAME : nom de la règle
  • VPC_NETWORK_LIST : liste des réseaux VPC séparés par une virgule, auxquels la règle s'applique. la liste des réseaux VPC que vous spécifiez remplace la précédente.

Activer ou désactiver le transfert entrant

Vous pouvez activer le transfert entrant pour une règle de serveur DNS qui ne définit qu'une règle sortante (serveur de noms alternatif). Vous pouvez également désactiver le transfert entrant pour une règle DNS existante.

Console

Activez le transfert entrant pour une règle de serveur DNS :

  1. Dans la console Google Cloud , ouvrez la page Règles de serveur Cloud DNS.

    Accéder aux règles de serveur Cloud DNS

  2. Cliquez sur le nom de la règle que vous souhaitez modifier.

  3. Cliquez sur Modifier la règle.

  4. Dans la section Transfert de requêtes entrantes, sélectionnez Activé.

  5. Cliquez sur Enregistrer.

Désactivez le transfert entrant pour une règle de serveur DNS :

  1. Ouvrez la page Règles de serveur Cloud DNS.
  2. Cliquez sur le nom de la règle que vous souhaitez modifier.
  3. Cliquez sur Modifier la règle.
  4. Dans la section Transfert de requêtes entrantes, sélectionnez Désactivé.
  5. Cliquez sur Enregistrer.

gcloud

Pour activer le transfert entrant pour une règle de serveur DNS, exécutez la commande dns policies update :

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

Pour désactiver le transfert entrant pour une règle de serveur DNS, spécifiez l'indicateur --no-enable-inbound-forwarding :

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

Remplacez NAME par le nom de la règle.

Répertorier les règles DNS

Console

  1. Dans la console Google Cloud , ouvrez la page Règles de serveur Cloud DNS.

    Accéder aux règles de serveur Cloud DNS

  2. Toutes les règles de serveur DNS créées dans votre projet sont listées.

gcloud

Pour répertorier les règles de serveur DNS dans votre projet, exécutez la commande dns policies list :

gcloud dns policies list

Supprimer une règle DNS

Console

Pour supprimer une règle de serveur DNS, elle ne doit être liée à aucun réseau. Mettez à jour votre règle pour supprimer tous les réseaux avant de la supprimer.

  1. Dans la console Google Cloud , ouvrez la page Règles de serveur Cloud DNS.

    Accéder aux règles de serveur Cloud DNS

  2. Cliquez sur Supprimer à côté du nom de la règle que vous souhaitez supprimer.

gcloud

Pour supprimer une règle de serveur DNS, exécutez la commande dns policies delete :

gcloud dns policies delete NAME

Remplacez NAME par le nom de la règle à supprimer.

Étapes suivantes

  • Pour trouver des solutions aux problèmes courants que vous pouvez rencontrer lors de l'utilisation de Cloud DNS, consultez la page Dépannage.
  • Pour en savoir plus sur Cloud DNS, consultez la page Présentation de Cloud DNS.