Appliquer des règles de serveur Cloud DNS

Cette page décrit la procédure à suivre pour configurer des règles de serveur Cloud 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 Cloud Console. 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 : 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 dans Cloud Console. 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é l'outil de ligne de commande gcloud, vous devez exécuter la commande suivante pour spécifier le nom du projet et vous authentifier dans Google Cloud Console :

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 une règle du 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.

Créer une règle du serveur entrant

Pour créer une règle du serveur entrant, suivez les instructions ci-dessous. Cloud DNS crée un ensemble d'adresses IP de redirecteur entrant dans 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.

gcloud

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

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

Remplacez l'élément suivant :

  • NAME : nom de la règle
  • DESCRIPTION : description de la règle
  • VPC_NETWORK_LIST : liste de réseaux VPC où créer les adresses de transfert entrantes, séparés par une virgule

Créer une règle du serveur sortant

Vous pouvez créer une règle du serveur sortant pour modifier l'ordre de résolution des noms d'un réseau VPC en redirigeant toutes les requêtes DNS vers un serveur de noms alternatif. Pour cela, suivez les instructions ci-dessous : Avant de commencer, assurez-vous de bien comprendre les différences entre le routage standard et privé et la configuration réseau requise pour les serveurs de noms alternatifs.

gcloud

Pour créer une règle de serveur 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 l'élément suivant :

  • 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 secondaires, séparés par des virgules
  • ALTERNATIVE_NAMESERVER_LIST : liste d'adresses IP que vous pouvez utiliser comme serveurs de noms secondaires, séparées par des virgules. Le routage privé n'est utilisé que pour les serveurs de noms secondaires qui utilisent des adresses RFC 1918.
  • 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é.

Créer une règle des serveurs entrant et sortant

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 l'élément suivant :

  • 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 secondaires. Le routage privé n'est utilisé que pour les serveurs de noms alternatifs qui possèdent des adresses RFC 1918.
  • 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é.

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

Lorsqu'une règle de serveur entrant s'applique à un réseau VPC, Cloud DNS crée un ensemble d'adresses IP internes régionales qui servent de destination 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-feu Google 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.

gcloud

Pour répertorier l'ensemble des adresses IP internes régionales servant de points d'entrée pour le 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 diriger toutes les requêtes vers un serveur de noms alternatif.

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 l'élément suivant :

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

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, exécutez la commande dns policies update :

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

Remplacez NAME par le nom de la règle.

Répertorier les règles DNS

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

gcloud

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

gcloud dns policies delete NAME

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

Configuration réseau requise pour le serveur de noms alternatif

Lorsque Cloud DNS envoie des requêtes à des serveurs de noms alternatifs, il envoie des paquets avec les plages sources répertoriées dans le tableau suivant. Pour en savoir plus sur les différents types de serveurs de noms, consultez la section Autres serveurs de noms et méthodes de routage.

Autre type de serveur de noms Plages sources

Serveur de noms de type 1

Adresse IP interne d'une VM Google Cloud sur le même réseau VPC avec la règle sortante.

Serveur de noms de type 2

Adresse IP d'un système sur site, connecté au réseau VPC avec la règle sortante, à l'aide de Cloud VPN ou de Cloud Interconnect.

35.199.192.0/19

Cloud DNS utilise la plage source 35.199.192.0/19 pour tous les clients. Cette plage est seulement accessible à partir d'un réseau VPC Google Cloud ou d'un réseau sur site connecté à un réseau VPC.

Serveur de noms de type 3

Une adresse IP externe d'un serveur de noms DNS accessible à Internet ou l'adresse IP externe d'une ressource Google Cloud par exemple, l'adresse IP externe d'une VM d'un autre réseau VPC.

Plages sources du DNS public de Google

Serveurs de noms alternatifs de types 1 et 2

Cloud DNS requiert les éléments suivants pour accéder à un serveur de noms secondaire de type 1 ou 2. Ces exigences sont identiques, que le serveur de noms soit une adresse IP RFC 1918 et que vous utilisiez le routage standard ou un routage privé :

  • Configuration du pare-feu pour 35.199.192.0/19

    Pour les serveurs de noms de type 1, créez une règle de pare-feu autorisant les entrées pour le port TCP et UDP 53, applicables à vos serveurs de noms secondaires dans chaque réseau VPC configuré pour utiliser une règle sortante spécifiant le serveur de noms. Pour les serveurs de noms de type 2, configurez un pare-feu réseau sur site et un équipement similaire afin d'autoriser le port TCP et UDP 53.

  • Router vers le serveur de noms secondaire

    Pour les serveurs de noms de type 1, Cloud DNS utilise une route de sous-réseau pour accéder au serveur de noms du réseau VPC configuré pour utiliser une règle sortante qui spécifie le serveur de noms. Pour les serveurs de noms de type 2, Cloud DNS utilise des routes dynamiques ou statiques personnalisées, à l'exception des routes statiques taguées, pour accéder au serveur de noms.

  • Renvoi de la route à 35.199.192.0/19 via le même réseau VPC

    Pour les serveurs de noms de type 1, Google Cloud ajoute automatiquement une route de retour spéciale pour la destination 35.199.192.0/19. Pour les serveurs de noms de type 2, votre réseau sur site doit disposer d'une route pour la destination 35.199.192.0/19, dont le saut suivant se trouve dans le réseau VPC et la région d'où provient la requête, via un tunnel Cloud VPN ou un rattachement Cloud Interconnect (VLAN). Pour savoir comment respecter cette exigence, consultez la section Stratégies de routage des retours pour les serveurs de noms de type 2.

  • Réponse directe d'un serveur de noms alternatif

    Cloud DNS exige que le serveur de noms secondaire qui reçoit les paquets soit celui qui envoie les réponses à 35.199.192.0/19. Si votre serveur de noms envoie la requête à un serveur de noms différent et que cet autre serveur répond à 35.199.192.0/19, Cloud DNS ignore la réponse. Pour des raisons de sécurité, Google Cloud s'attend à ce que l'adresse source de la réponse DNS de chaque serveur de noms secondaire corresponde à l'adresse IP du serveur de noms secondaire.

Afficher les stratégies de routage des retours pour les serveurs de noms de type 2

Les réponses des serveurs de noms de type 2 ne peuvent pas être envoyées via Internet, via un autre réseau VPC ou à une autre région (même sur le même réseau VPC). Les réponses doivent renvoyer à la même région et au même réseau VPC, bien qu'elles puissent utiliser n'importe quel tunnel Cloud VPN ou rattachement Cloud Interconnect (VLAN) dans la même région et le même réseau.

  • Pour les tunnels Cloud VPN qui utilisent le routage statique, créez manuellement sur votre réseau sur site une route dont la destination est 35.199.192.0/19 et dont le saut suivant est le tunnel Cloud VPN. Pour les tunnels Cloud VPN utilisant le routage basé sur des règles, configurez le sélecteur de trafic local de Cloud VPN et le sélecteur de trafic distant de la passerelle VPN sur site de façon à inclure la plage d'adresses 35.199.192.0/19.
  • Pour les tunnels Cloud VPN utilisant le routage dynamique ou pour Cloud Interconnect, configurez une annonce de routage personnalisée pour 35.199.192.0/19 sur la session BGP du routeur cloud qui gère le tunnel ou le rattachement d'interconnexion (VLAN).

Serveurs de noms alternatifs de type 3

Lorsque Cloud DNS utilise le routage standard pour accéder à une adresse IP externe, il s'attend à ce que le serveur de noms secondaire soit un système sur Internet, accessible publiquement, ou une adresse IP externe d'une ressource Google Cloud.

Par exemple, un serveur de noms secondaire de type 3 inclut l'adresse IP externe d'une VM dans un réseau VPC différent.

Le routage privé vers les serveurs de noms secondaires de type 3 n'est pas accepté.

Étape suivante

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