Créer une zone de transfert

Cette page fournit des instructions pour créer une zone de transfert. Pour en savoir plus, consultez la section Zones de transfert.

Avant de commencer, assurez-vous de bien comprendre les points suivants :

Pour créer une zone de transfert privée gérée, procédez comme suit :

Console

  1. Dans Google Cloud Console, accédez à la page Créer une zone DNS.

    Accéder à la page "Créer une zone DNS"

  2. Dans le champ Type de zone, sélectionnez Privé.

  3. Saisissez un Nom de zone, tel que my-new-zone.

  4. Saisissez un suffixe de Nom DNS pour la zone privée. Tous les enregistrements de la zone partagent ce suffixe. Exemple :example.private

  5. Facultatif : ajoutez une description.

  6. Sous Options, sélectionnez Transférer les requêtes vers un autre serveur.

  7. Sélectionnez les réseaux pour lesquels la zone privée doit être visible.

  8. Pour ajouter les adresses IPv4 d'une cible de transfert, cliquez sur Ajouter un élément. Vous pouvez ajouter plusieurs adresses IP.

  9. Pour forcer le routage privé vers la cible de transfert, sous Transfert privé, cochez la case Activer.

  10. Cliquez sur Créer.

gcloud

Exécutez la commande dns managed-zones create :

gcloud dns managed-zones create NAME \
    --description=DESCRIPTION \
    --dns-name=DNS_SUFFIX \
    --networks=VPC_NETWORK_LIST \
    --forwarding-targets=FORWARDING_TARGETS_LIST \
    --private-forwarding-targets=PRIVATE_FORWARDING_TARGETS_LIST \
    --visibility=private

Remplacez les éléments suivants :

  • NAME : nom de votre zone
  • DESCRIPTION : description de votre zone
  • DNS_SUFFIX : suffixe DNS de votre zone, tel que example.private
  • VPC_NETWORK_LIST : liste de réseaux VPC autorisés à interroger la zone, séparés par une virgule.
  • FORWARDING_TARGETS_LIST : liste d'adresses IP auxquelles les requêtes sont envoyées, séparées par une virgule. Les adresses IP RFC 1918 spécifiées avec cette option doivent être situées sur votre réseau VPC ou sur un réseau sur site connecté à Google Cloud via Cloud VPN ou Cloud Interconnect. Les adresses IP non-RFC 1918 spécifiées avec cette option doivent être accessibles via Internet.
  • PRIVATE_FORWARDING_TARGETS_LIST : liste d'adresses IP auxquelles les requêtes sont envoyées, séparées par une virgule. Toute adresse IP spécifiée avec cette option doit être située dans votre réseau VPC ou dans un réseau sur site connecté à Google Cloud à l'aide de Cloud VPN ou Cloud Interconnect.

Terraform

resource "google_dns_managed_zone" "private_zone" {
  name        = "private-zone"
  dns_name    = "private.example.com."
  description = "Example private DNS zone"
  labels = {
    foo = "bar"
  }

  visibility = "private"

  private_visibility_config {
    networks {
      network_url = google_compute_network.network_1.id
    }
    networks {
      network_url = google_compute_network.network_2.id
    }
  }

  forwarding_config {
    target_name_servers {
      ipv4_address = "172.16.1.10"
    }
    target_name_servers {
      ipv4_address = "172.16.1.20"
    }
  }
}

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
}

API

Envoyez une requête POST à l'aide de la méthode managedZones.create :

POST https://dns.googleapis.com/dns/v1/projects/PROJECT_ID/managedZones
{

    "name": "NAME",
    "description": "DESCRIPTION",
    "dnsName": "DNS_NAME",
    "visibility": "private"
    "privateVisibilityConfig": {
        "kind": "dns#managedZonePrivateVisibilityConfig",
        "networks": [{
                "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
                "networkUrl": VPC_NETWORK_1
            },
            {
                "kind": "dns#managedZonePrivateVisibilityConfigNetwork",
                "networkUrl": VPC_NETWORK_2
            },
            ....
        ]
    },
    "forwardingConfig": {
        "kind": "dns#managedZoneForwardingConfig",
        "targetNameServers": [{
                "kind": "dns#managedZoneForwardingConfigNameServerTarget",
                "ipv4Address": FORWARDING_TARGET_1
            },
            {
                "kind": "dns#managedZoneForwardingConfigNameServerTarget",
                "ipv4Address": FORWARDING_TARGET_2
            },
            ....
        ]
    },
}

Remplacez l'élément suivant :

  • PROJECT_ID : ID du projet dans lequel la zone gérée est créée
  • NAME : nom de votre zone
  • DESCRIPTION : description de votre zone
  • DNS_NAME : suffixe DNS de votre zone, tel que example.private
  • VPC_NETWORK_1 et VPC_NETWORK_2 : URL des réseaux VPC du même projet, pouvant interroger les enregistrements dans cette zone. Vous pouvez ajouter plusieurs réseaux VPC, comme indiqué. Pour déterminer l'URL d'un réseau VPC, décrivez le réseau avec la commande gcloud suivante, en remplaçant VPC_NETWORK_NAME par le nom du réseau :
    gcloud compute networks describe VPC_NETWORK_NAME 
    --format="get(selfLink)"
  • FORWARDING_TARGET_1 et FORWARDING_TARGET_2 : adresses IP des serveurs de noms des cibles de transfert Vous pouvez ajouter plusieurs cibles de transfert, comme indiqué. Les adresses IP RFC 1918 spécifiées ici doivent être situées dans votre réseau VPC ou dans un réseau sur site connecté à Google Cloud via Cloud VPN ou Cloud Interconnect. Les adresses IP non-RFC 1918 spécifiées avec cette option doivent être accessibles via Internet.

Configuration requise pour le réseau cible de transfert

Lorsque Cloud DNS envoie des requêtes à des cibles de transfert, il envoie des paquets avec les plages sources répertoriées dans le tableau suivant.

Type de cible de transfert Plages sources

Cible de type 1

Une adresse IP interne d'une VM Google Cloud ou d'un équilibreur de charge réseau passthrough interne dans le même réseau VPC qui est autorisé à utiliser la zone de transfert.

Cible de type 2

Une adresse IP d'un système sur site, connecté au réseau VPC autorisé à interroger la zone de transfert, à l'aide de Cloud VPN ou Cloud Interconnect.

Pour en savoir plus sur les adresses IP acceptées, consultez la section Cibles de transfert et méthodes de routage.

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.

Cible 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

Cibles de types 1 et 2

Cloud DNS requiert les éléments suivants pour accéder à une cible de type 1 ou de type 2. Ces exigences sont identiques, que la cible 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 cibles de type 1, créez une règle de pare-feu autorisant le trafic entrant pour le port TCP et UDP 53, applicable à vos cibles de transfert dans chaque réseau VPC autorisé. Pour les cibles de type 2, configurez un pare-feu réseau sur site et un équipement similaire afin d'autoriser le port TCP et UDP 53.

  • Routage vers la cible de transfert

    Pour les cibles de type 1, Cloud DNS utilise une route de sous-réseau pour accéder à la cible du réseau VPC autorisé à utiliser la zone de transfert. Pour les cibles de nom de type 2, Cloud DNS utilise des routes statiques ou dynamiques personnalisées, à l'exception des routes statiques avec tag, pour accéder à la cible de transfert.

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

    Pour les cibles de type 1, Google Cloud utilise un chemin de routage spécial pour la destination 35.199.192.0/19. Pour les cibles 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 sur le même réseau VPC d'où provient la requête, via un tunnel Cloud VPN ou un rattachement de VLAN pour Cloud Interconnect. Pour savoir comment respecter cette exigence, consultez la section Stratégies de routage pour les cibles de type 2.

  • Réponse directe de la cible

    Cloud DNS exige que la cible de transfert qui reçoit des paquets soit celle qui envoie des réponses à 35.199.192.0/19. Si votre cible de transfert envoie la requête à un autre serveur de noms et si cet autre serveur de noms 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 cible corresponde à l'adresse IP de la cible de transfert.

Stratégies de routage des retours pour les cibles de type 2

Cloud DNS ne peut pas envoyer de réponses à partir de cibles de transfert de type 2 sur Internet ou via un autre réseau VPC. Les réponses doivent renvoyer au même réseau VPC, bien qu'elles puissent utiliser n'importe quel tunnel Cloud VPN ou rattachement de VLAN dans 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 de VLAN.

Cibles de type 3

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

Par exemple, une cible de type 3 inclut l'adresse IP externe d'une VM dans un autre réseau VPC.

Le routage privé vers les cibles de type 3 n'est pas disponible.

Étapes suivantes