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 des réseaux VPC dans lesquels les adresses de transfert entrantes doivent être créées, séparés par des virgules.

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 des réseaux VPC qui interrogent les serveurs de noms alternatifs, séparés par des virgules.
  • alternative-nameserver-list : liste des adresses IP à utiliser comme serveurs de noms alternatifs, séparées par des virgules. 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 des adresses IP à utiliser comme serveurs de noms alternatifs et accessibles via le routage privé, séparées par des virgules. 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 des adresses IP à utiliser comme serveurs de noms alternatifs, séparées par des virgules. 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 des adresses IP à utiliser comme serveurs de noms alternatifs et accessibles via le routage privé, séparées par des virgules. 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 des 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 :

Cible de transfert Plages sources
Serveurs de noms RFC 1918 alternatifs accessibles via le routage standard
Tout serveur de noms alternatif accessible via le routage privé
35.199.192.0/19
Serveurs de noms non RFC 1918 alternatif accessibles via le routage standard Plages sources du DNS public de Google

Serveurs de noms alternatifs privés

Lorsque Cloud DNS accède à des serveurs de noms RFC 1918 alternatifs via le routage standard ou accède à tout serveur de noms alternatif en utilisant le routage privé, votre réseau sur site doit répondre aux exigences suivantes :

  • Autoriser le trafic provenant de 35.199.192.0/19 : le pare-feu de votre réseau sur site et les équipements similaires doivent autoriser les paquets provenant de sources dans la plage 35.199.192.0/19. Cloud DNS utilise la plage source 35.199.192.0/19 pour tous les clients. La plage d'adresses 35.199.192.0/19 est uniquement accessible à partir d'un réseau VPC Google Cloud ou d'un réseau sur site connecté à un réseau VPC.
  • Répondre à 35.199.192.0/19 via un réseau VPC : votre réseau sur site doit comporter une route qui dirige le trafic de réponse destiné à la plage d'adresses 35.199.192.0/19 vers votre réseau VPC, via un tunnel Cloud VPN ou un rattachement Cloud Interconnect (VLAN). Les réponses aux requêtes DNS provenant de serveurs de noms alternatifs ne peuvent pas être transmises via Internet. Si votre réseau sur site répond à une plage d'adresses 35.199.192.0/19 via Internet, Google Cloud ignore la réponse. Vous pouvez répondre à cette exigence de routage de deux manières :
    • 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 sur le routeur cloud qui gère le tunnel ou le rattachement d'interconnexion (VLAN).
  • 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 à la plage d'adresses 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 alternatif corresponde à l'adresse IP du serveur de noms alternatif.

Serveurs de noms alternatifs publics

Lorsque Cloud DNS accède à un serveur de noms alternatif non RFC 1918 via le routage standard, il s'attend à ce que le serveur de noms soit accessible au public.

Étapes suivantes