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.
- Si vous n'en possédez pas déjà un, vous devez créer un compte Google.
- 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.
- Si vous devez envoyer des requêtes à l'API REST, vous devez créer un ID OAuth 2.0 : Configurer OAuth 2.0.
- 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 la console Google Cloud. Vous pouvez également demander aux utilisateurs d'indiquer le nom du projet qu'ils souhaitent utiliser dans votre application.
-
L'ID client (
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 :
- une règle de serveur entrant, permettant le transfert entrant ;
- une règle de serveur sortant, spécifiant un ou plusieurs serveurs de noms alternatifs ;
- une règle de serveur à la fois entrant et sortant.
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 de 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 les éléments suivants :
NAME
: nom de la règleDESCRIPTION
: description de la règleVPC_NETWORK_LIST
: liste de réseaux VPC où créer les adresses de transfert entrantes, séparés par une virgule.
Terraform
Créer une règle de 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 les éléments suivants :
NAME
: nom de la règleDESCRIPTION
: description de la règleVPC_NETWORK_LIST
: liste de réseaux VPC interrogeant les serveurs de noms alternatifs, séparés par des virgulesALTERNATIVE_NAMESERVER_LIST
: liste d'adresses IP que vous pouvez 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 utilisent des adresses RFC 1918PRIVATE_ALTERNATIVE_NAMESERVER_LIST
: liste d'adresses IP séparées par des virgules, que vous pouvez utiliser comme serveurs de noms alternatifs, accessibles via un routage privé
Terraform
Créer une règle de 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 les éléments suivants :
NAME
: nom de la règleDESCRIPTION
: description de la règleVPC_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 virgulesALTERNATIVE_NAMESERVER_LIST
: liste d'adresses IP séparées par des virgules que vous pouvez utiliser comme serveurs de noms alternatifs. 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 alternatifs, accessibles via un routage privé.
Terraform
Répertorier les points d'entrée du redirecteur entrant
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 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-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. 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.
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 les éléments suivants :
NAME
: nom de la règleVPC_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 :
Type de serveur de noms alternatif | 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 Une adresse IP d'un système sur site, connecté au réseau VPC avec la règle sortante, à l'aide de Cloud VPN ou Cloud Interconnect Pour en savoir plus sur les adresses IP acceptées, consultez la section Serveurs de noms alternatifs et méthodes de routage. |
Cloud DNS utilise la plage source |
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 d'adresses 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 alternatif 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 alternatifs 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 UDP53
.Router vers le serveur de noms alternatif
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 VPCPour 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 destination35.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 de 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 alternatif 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 à la plage d'adresses35.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.
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'adresses35.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 de 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 alternatif soit un système sur Internet, accessible publiquement, ou une adresse IP externe d'une ressource Google Cloud.
Par exemple, un serveur de noms alternatif 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 alternatifs de type 3 n'est pas accepté.
É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.