Hybrid NAT

Hybrid NAT, un type de Private NAT, vous permet d'effectuer la traduction d'adresse réseau (NAT) entre un réseau cloud privé virtuel (VPC) et un réseau sur site ou un autre réseau de fournisseur cloud. Le réseau autre que Google Cloud doit être connecté à votre réseau VPC à l'aide des produits de connectivité réseau de Google Cloud, tels que Cloud Interconnect ou Cloud VPN.

Spécifications

En plus des spécifications générales du NAT privé, le NAT hybride présente les spécifications suivantes:

  • Hybrid NAT permet à un réseau VPC de communiquer avec un réseau sur site ou un autre réseau de fournisseur cloud, même si les plages d'adresses IP de sous-réseau des réseaux se chevauchent. En utilisant une configuration NAT de type=PRIVATE, les ressources des sous-réseaux chevauchants et non chevauchants du réseau VPC peuvent se connecter aux ressources des sous-réseaux non chevauchants du réseau autre que Google Cloud.
  • Pour activer le NAT hybride, le réseau autre que Google Cloud doit annoncer ses routes dynamiques afin que votre réseau VPC puisse les apprendre et les utiliser. Votre Cloud Router apprend ces routes dynamiques à partir des produits de connectivité réseau de Google Cloud, tels que Cloud Interconnect, VPN haute disponibilité ou VPN classique avec routage dynamique configuré. Les destinations de ces routes dynamiques sont des plages d'adresses IP externes à votre réseau VPC.

    De même, pour le trafic de retour, votre réseau VPC doit annoncer la route de sous-réseau NAT privé à l'aide d'Cloud Router. Cette route de sous-réseau ne doit pas chevaucher un sous-réseau existant dans les réseaux connectés.

  • Hybrid NAT effectue la traduction d'adresse réseau (NAT) sur le trafic provenant d'un réseau VPC vers un réseau sur site ou un autre réseau de fournisseur cloud. Les réseaux doivent être connectés par Cloud Interconnect ou Cloud VPN.

  • Le NAT hybride n'est compatible avec les tunnels VPN classiques existants que si le routage dynamique est activé.

  • Vous devez créer une règle NAT personnalisée avec une expression de correspondance nexthop.is_hybrid. La règle NAT spécifie une plage d'adresses IP NAT à partir d'un sous-réseau à usage PRIVATE_NAT que les ressources de votre réseau VPC peuvent utiliser pour communiquer avec d'autres réseaux.

  • Le routeur cloud sur lequel vous configurez le NAT hybride doit se trouver dans la même région que le réseau VPC.

  • Le routeur cloud sur lequel vous configurez le NAT hybride ne peut contenir aucune autre configuration NAT.

Configuration et workflow de base du NAT hybride

Le schéma suivant illustre une configuration NAT hybride de base:

Exemple de traduction Hybrid NAT.
Exemple de traduction NAT hybride (cliquez pour agrandir).

Dans cet exemple, le NAT hybride est configuré comme suit:

  • La passerelle pvt-nat-gw est configurée dans vpc-a pour s'appliquer à toutes les plages d'adresses IP de subnet-a dans la région us-east1.
  • Cloud Router et le routeur sur site ou d'un autre fournisseur cloud échangent les routes de sous-réseau suivantes :
    • Cloud Router annonce 10.1.2.0/29 au routeur externe.
    • Le routeur externe annonce 192.168.2.0/24 à Cloud Router.
  • En utilisant la plage d'adresses IP NAT de pvt-nat-gw, une instance de machine virtuelle (VM) dans subnet-a de vpc-a peut envoyer du trafic vers une VM dans subnet-b du réseau sur site ou d'un autre réseau de fournisseur de cloud, même si subnet-a de vpc-a chevauche un autre sous-réseau du réseau autre que Google Cloud.

Exemple de workflow Hybrid NAT

Dans le diagramme précédent, vm-a avec l'adresse IP interne 192.168.1.2 dans subnet-a de vpc-a doit télécharger une mise à jour à partir de vm-b avec l'adresse IP interne 192.168.2.2 dans subnet-b d'un réseau sur site ou d'un autre réseau de fournisseur cloud. Cloud Interconnect connecte votre réseau VPC au réseau sur site ou à un autre réseau de fournisseurs de services cloud. Supposons que le réseau non Google Cloud contienne un autre sous-réseau 192.168.1.0/24 qui chevauche le sous-réseau de vpc-a. Pour que subnet-a de vpc-a communique avec subnet-b du réseau autre que Google Cloud, vous devez configurer une passerelle NAT privée, pvt-nat-gw, dans vpc-a comme suit:

  • Spécifiez un sous-réseau Private NAT à l'objet PRIVATE_NAT (par exemple, 10.1.2.0/29). Créez ce sous-réseau avant de configurer la passerelle NAT privée. Assurez-vous que ce sous-réseau ne chevauche pas un sous-réseau existant dans l'un des réseaux connectés.
  • Créez une règle NAT avec match='nexthop.is_hybrid'.
  • Configurez la passerelle NAT privée pour qu'elle s'applique à toutes les plages d'adresses IP de subnet-a.

Le NAT hybride suit la procédure de réservation de port pour réserver les tuples d'adresse IP source NAT et de port source suivants pour chacune des VM du réseau. Par exemple, la passerelle NAT privée réserve 64 ports sources pour vm-a : 10.1.2.2:34000 à 10.1.2.2:34063.

Lorsque la VM utilise le protocole TCP pour envoyer un paquet au serveur de mise à jour 192.168.2.2 sur le port de destination 80, voici ce qui se produit:

  1. La VM envoie un paquet de requête avec les attributs suivants :

    • Adresse IP source: 192.168.1.2, adresse IP interne de la VM
    • Port source: 24000, le port source éphémère choisi par le système d'exploitation de la VM
    • Adresse de destination: 192.168.2.2, adresse IP du serveur de mise à jour
    • Port de destination: 80, le port de destination pour le trafic HTTP vers le serveur de mise à jour
    • Protocol (Protocole) : TCP
  2. La passerelle pvt-nat-gw effectue la traduction d'adresse réseau source (SNAT ou NAT source) en sortie, en réécrivant l'adresse IP source et le port source du paquet de requête:

    • Adresse IP source NAT: 10.1.2.2, provenant de l'un des tuples d'adresse IP source et de port source NAT réservés de la VM
    • Port source : 34022, un port source inutilisé de l'un des tuples de port source réservés de la VM
    • Adresse de destination : 192.168.2.2, inchangée
    • Port de destination : 80, inchangé
    • Protocole: TCP, inchangé
  3. Le serveur de mise à jour envoie un paquet de réponse qui arrive sur la passerelle pvt-nat-gw avec les attributs suivants:

    • Adresse IP source: 192.168.2.2, adresse IP interne du serveur de mise à jour
    • Port source : 80, la réponse HTTP du serveur de mise à jour
    • Adresse de destination: 10.1.2.2, correspondant à l'adresse IP source NAT d'origine du paquet de requête
    • Port de destination: 34022, correspondant au port source du paquet de requête
    • Protocole: TCP, inchangé
  4. La passerelle pvt-nat-gw effectue la traduction d'adresse réseau de destination (DNAT) sur le paquet de réponse, et réécrit l'adresse et le port de destination du paquet de réponse pour que celui-ci soit transmis à la VM qui a demandé la mise à jour avec les attributs suivants:

    • Adresse IP source : 192.168.2.2, inchangée
    • Port source : 80, inchangé
    • Adresse de destination: 192.168.1.2, adresse IP interne de la VM
    • Port de destination: 24000, correspondant au port source éphémère d'origine du paquet de requête
    • Protocole: TCP, inchangé

Étape suivante