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, familiarisez-vous avec les concepts de Cloud 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. Notez les informations suivantes relatives au projet, car vous en aurez besoin lors des 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 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.

Pour en savoir plus sur les règles de serveur DNS, consultez la section Règles du serveur DNS.

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 la 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, utilisez la commande dns policies create :

gcloud dns policies create name \
    --description=description \
    --networks=vpc-network-list \
    --enable-inbound-forwarding

Remplacez les options de commande suivantes :

  • 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 du serveur sortant, utilisez 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 options de commande suivantes :

  • 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 à utiliser comme serveurs de noms secondaires, séparées par une virgule. 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 à utiliser comme serveurs de noms secondaires, accessibles à l'aide du routage privé. Pour en savoir plus, consultez la page Serveurs de noms alternatifs et méthodes de routage.

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, utilisez 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 options de commande suivantes :

  • 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 à utiliser comme serveurs de noms secondaires, séparées par une virgule. 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 à utiliser comme serveurs de noms secondaires, accessibles à l'aide du routage privé. Pour en savoir plus, consultez la page Serveurs de noms alternatifs et méthodes de routage.

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 utilisées comme points d'entrée pour le transfert entrant, utilisez la commande compute adresses list :

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

Mettre à jour les règles DNS

Modifier les réseaux VPC

Lorsque vous modifiez la liste des réseaux VPC auxquels une règle DNS s'applique, tenez compte des points suivants :

  • 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 une règle de serveur DNS s'applique, utilisez la commande dns policies update :

gcloud dns policies update name \
    --networks=vpc-network-list

Remplacez les options de commande suivantes :

  • name : nom de la règle
  • vpc-network-list : liste de réseaux VPC auxquels la règle s'applique, séparés par des virgules. La liste des réseaux VPC spécifiée remplace la liste 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, utilisez 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, utilisez la commande dns policies update :

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

Remplacez les options de commande suivantes :

  • name : nom de la règle

Répertorier les règles DNS

gcloud

Pour répertorier les règles du serveur DNS de votre projet, utilisez la commande dns policies list :

gcloud dns policies list

Supprimer une règle DNS

gcloud

Pour créer une règle de serveur, utilisez la commande dns policies delete :

gcloud dns policies delete name

Remplacez les options de commande suivantes :

  • name : 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
  • Serveurs de noms de type 1
    (VM dans un réseau VPC avec la règle sortante)
  • Serveurs de noms de type 2
    (Sur site, connecté à un réseau VPC avec la règle sortante)
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.
  • Serveurs de noms de type 3
    (accessibles via Internet)
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 autre serveur de noms de type 1 ou de type 2. Ces exigences sont les mêmes, que le serveur de noms soit une adresse IP RFC 1918 et que vous utilisiez le routage standard ou que vous ayez explicitement choisi le routage privé :

  • Configuration de 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 des équipements similaires pour 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.
  • Routage des retours à 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 satisfaire cette exigence, consultez la section Stratégies de routage des retours pour les serveurs de noms de type 2.

  • Réponse directe du serveur de noms alternatif : Cloud DNS requiert que le serveur de noms alternatif qui reçoit les paquets soit celui qui envoie la réponse à 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 à la plage d'adresses 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 de 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 accède à une adresse IP non-RFC 1918 à l'aide du routage standard, il attend que le serveur de noms secondaire soit accessible au public.

Étapes suivantes