Présentation des adresses et des ports Cloud NAT

Cette page décrit comment les passerelles Cloud NAT utilisent des adresses IP externes et comment elles allouent des ports sources aux instances de machines virtuelles (VM) Compute Engine et aux nœuds Google Kubernetes Engine (GKE) qui les utilisent.

Avant d'examiner ces informations, consultez la page Présentation de Cloud NAT.

Adresses IP NAT

Une adresse IP NAT est une adresse IP externe régionale, pouvant être routée sur Internet. Une VM sans adresse IP externe, dans un sous-réseau desservi par une passerelle Cloud NAT, utilise une adresse IP NAT lorsqu'elle envoie des paquets à une destination sur Internet.

Pour attribuer des adresses IP NAT à une passerelle Cloud NAT, utilisez l'une des méthodes suivantes :

  • Allocation automatique d'adresses IP NAT Lorsque vous sélectionnez cette option ou sélectionnez les valeurs par défaut de Google Cloud, Cloud NAT ajoute automatiquement à votre passerelle des adresses IP externes régionales en fonction du nombre de VM utilisant la passerelle et du nombre de ports réservés pour chaque VM. Une adresse IP NAT est également automatiquement supprimée lorsqu'elle n'a plus besoin de ports sources.

    • Lorsqu'une passerelle Cloud NAT ajoute une adresse IP NAT, elle crée une adresse IP externe régionale statique (réservée). Les adresses IP NAT ajoutées automatiquement sont visibles dans la liste des adresses IP externes statiques. Ces adresses sont prises en compte dans les quotas par projet.
    • Avec l'allocation automatique, vous ne pouvez pas prédire l'adresse IP suivante qui sera allouée. Si vous avez besoin de connaître l'ensemble des adresses IP NAT possibles à l'avance (par exemple, pour créer une liste d'autorisation), vous devez utiliser l'attribution manuelle d'adresses IP NAT.
    • Lorsque les adresses IP NAT ajoutées automatiquement ne sont plus utilisées, elles sont supprimées. Cependant, Cloud NAT ne désaffecte une adresse que lorsque la dernière VM qui lui est attribuée n'utilise plus aucun port. Par conséquent, lorsque le nombre de VM utilisant Cloud NAT diminue, vous n'observerez pas forcément de diminution du nombre d'adresses IP : en effet, Cloud NAT ne réaffecte pas dynamiquement les VM d'une adresse IP à l'autre, car la réaffectation conduirait à perturber les connexions établies. Tant qu'il y a au moins une VM utilisant une adresse IP, cette adresse IP reste active et de nouvelles VM peuvent lui être attribuées.

      Si vous souhaitez pouvoir réaffecter manuellement des VM d'une adresse IP à une autre afin de réduire l'utilisation des adresses IP, utilisez les attributions d'adresses IP NAT manuelles. Cela permet le drainage manuel des adresses IP NAT.

    • Si vous passez ultérieurement à l'attribution manuelle d'adresses IP NAT, les adresses IP externes régionales automatiquement réservées sont supprimées. Pour en savoir plus, consultez la section Changer de méthode d'attribution.

  • Attribution manuelle des adresses IP NAT Lorsque vous sélectionnez cette option, vous créez et attribuez manuellement des adresses IP externes régionales statiques (réservées) à votre passerelle Cloud NAT. Vous pouvez augmenter ou diminuer le nombre d'adresses IP NAT attribuées manuellement en modifiant la passerelle Cloud NAT.

    • Lorsque vous utilisez l'attribution manuelle d'adresses IP NAT, vous devez calculer le nombre d'adresses IP externes régionales dont vous avez besoin pour la passerelle Cloud NAT. Si votre passerelle ne dispose plus d'adresses IP NAT, Cloud NAT supprime les paquets. Les paquets supprimés sont consignés lorsque vous utilisez la journalisation Cloud NAT pour activer la journalisation des erreurs.
    • Pour obtenir des exemples de calculs, consultez l'exemple de réservation de port.

Pour connaître le nombre maximal d'adresses IP NAT allouées automatiquement ou attribuées manuellement, consultez la section Limites de Cloud NAT.

Changer de méthode d'attribution

Vous pouvez passer de l'allocation automatique d'adresses IP NAT à l'attribution manuelle d'adresse IP NAT pour votre passerelle Cloud NAT. Toutefois, les adresses IP NAT ne peuvent pas être conservées. Même si les adresses IP NAT allouées automatiquement sont statiques, elles ne peuvent pas être déplacées vers une attribution manuelle d'adresses IP NAT. Par exemple, vous ne pouvez pas commencer à utiliser une passerelle Cloud NAT avec des adresses IP NAT allouées automatiquement, puis utiliser ensuite ces mêmes adresses si vous passez à l'attribution manuelle d'adresses IP NAT pour votre passerelle Cloud NAT.

L'ensemble d'adresses IP externes régionales utilisées par Cloud NAT pour l'allocation automatique d'adresses IP NAT est différent de l'ensemble d'adresses IP externes régionales que vous pouvez sélectionner manuellement.

Drainer les adresses IP NAT

Lorsque vous configurez une passerelle Cloud NAT avec l'attribution manuelle d'adresses IP NAT, vous pouvez choisir ce qui se passe lorsque vous devez réduire le nombre d'adresses IP NAT utilisées par la passerelle :

  • Si vous supprimez une adresse IP NAT attribuée manuellement, les connexions NAT établies sont immédiatement interrompues.

  • Vous pouvez choisir de drainer une adresse IP NAT attribuée manuellement. Le drainage indique à la passerelle Cloud NAT de cesser d'utiliser l'adresse IP NAT pour les nouvelles connexions, mais de continuer à l'utiliser pour les connexions établies. Les connexions établies sont autorisées à se fermer normalement au lieu d'être immédiatement supprimées. Pour drainer une adresse IP associée à une passerelle NAT qui n'utilise pas de règles NAT, consultez la section Drainer les adresses IP externes associées à la NAT. Pour drainer une adresse IP associé à une passerelle NAT qui utilise les règles NAT, consultez la section Mettre à jour les règles NAT.

Ports

Chaque adresse IP NAT sur une passerelle Cloud NAT dispose de 64 512 ports sources TCP et de 64 512 ports sources UDP. TCP et UDP acceptent chacun 65 536 ports par adresse IP, mais Cloud NAT n'utilise pas les 1 024 premiers ports connus (privilégiés).

Lorsqu'une passerelle Cloud NAT effectue une traduction d'adresse réseau source (SNAT) sur un paquet envoyé par une VM, elle modifie l'adresse IP NAT et le port source du paquet.

Lorsque vous créez une passerelle Cloud NAT, vous choisissez d'utiliser l'allocation de ports statique ou l'attribution de ports dynamique.

Allocation de ports statique

Lorsque vous configurez l'allocation de ports statique, vous spécifiez un nombre minimal de ports par instance de VM.

Étant donné que toutes les VM se voient attribuer le même nombre de ports, l'allocation de ports statique fonctionne mieux si toutes les VM ont une utilisation Internet similaire. Si certaines VM utilisent plus de ports que d'autres, il est possible que les ports de la passerelle Cloud NAT soient sous-utilisés. Si l'utilisation d'Internet varie, envisagez d'utiliser l'allocation de ports dynamique.

Si vous souhaitez configurer le mappage indépendant des points de terminaison sur votre passerelle, vous devez utiliser l'allocation de ports statique.

Allocation de ports dynamique

Lorsque vous configurez l'allocation de ports dynamique, vous spécifiez un nombre minimal de ports par instance de VM et un nombre maximal de ports par instance de VM.

La configuration de l'allocation de ports dynamique permet à la même passerelle Cloud NAT d'allouer un nombre différent de ports par VM, en fonction de l'utilisation de la VM. Initialement, une VM se voit attribuer le nombre minimal de ports par instance de VM. Si une VM est sur le point d'épuiser tous les ports qui lui sont alloués, elle peut demander des ports NAT supplémentaires, dans la limite du nombre maximal de ports par instance de VM. Lorsque l'utilisation des ports diminue considérablement, les ports sont libérés et peuvent être alloués à d'autres VM utilisant la même passerelle NAT.

L'allocation de ports dynamique présente les avantages suivants :

  • Le nombre de ports alloués, mais non utilisés, est réduit.

  • La passerelle NAT surveille l'utilisation de chaque VM et modifie le nombre de ports alloués à chaque VM en fonction des besoins. Vous n'avez pas besoin de surveiller l'utilisation du port ni d'ajuster la configuration de la passerelle NAT.

Vous ne pouvez pas configurer l'allocation de ports dynamique si le mappage indépendant des points de terminaison est activé sur la passerelle Cloud NAT. Si vous avez besoin d'un mappage indépendant des points de terminaison, utilisez l'allocation de ports statique.

Procédure de réservation de port

Cloud NAT utilise cette procédure pour provisionner les tuples d'adresses IP NAT sources et de ports sources pour chaque VM desservie par la passerelle Cloud NAT.

  1. Cloud NAT détermine les adresses IP internes de VM pour lesquelles le NAT doit être effectué. Les adresses IP internes de VM sont déterminées par les plages d'adresses IP de sous-réseau que la passerelle a été configurée pour utiliser.

    • Si la passerelle Cloud NAT est configurée pour effectuer le NAT pour la plage d'adresses IP principale du sous-réseau utilisé par l'interface réseau de la VM, elle effectue le NAT pour l'adresse IP interne principale de la VM et n'importe quelle plage d'adresses IP d'alias de la VM appartenant à la plage d'adresses IP principale du sous-réseau.

    • Si la passerelle Cloud NAT est configurée pour exécuter le NAT pour une plage d'adresses IP secondaire du sous-réseau utilisé par l'interface réseau de la VM, elle effectue le NAT pour n'importe quelle plage d'adresses IP d'alias appartenant à la plage d'adresses IP secondaire du sous-réseau.

  2. Cloud NAT ajuste le nombre minimal de ports par instance de VM si nécessaire. Si l'allocation de ports statique est configurée et que la passerelle exécute le NAT pour les plages d'adresses IP d'alias comportant plus d'une adresse (masque de réseau plus petit que /32), Cloud NAT ajuste le nombre minimal de ports par VM afin qu'il corresponde au maximum de ces deux valeurs :

    • Nombre minimal de ports par instance de VM que vous spécifiez

    • Le nombre 1 024

    Dans toutes les autres situations, y compris lorsque l'allocation de ports dynamique est configurée, la passerelle Cloud NAT passe à l'étape suivante en utilisant le nombre minimal de ports spécifié par instance de VM comme entrée. Si le nombre minimal de ports par instance de VM n'est pas spécifié, la valeur par défaut est utilisée : 64 pour l'allocation de ports statique et 32 pour l'allocation de ports dynamique.

  3. Cloud NAT réserve les tuples d'adresses IP NAT sources et de ports sources pour chaque VM. La passerelle Cloud NAT utilise le nombre minimal de ports attribué ou ajusté à l'étape précédente par instance de VM pour calculer le nombre de tuples d'adresses IP NAT sources et de ports sources à attribuer à la VM.

    Cloud NAT alloue les tuples d'adresses IP NAT sources et de ports sources à l'aide de multiples de puissances de deux, de sorte que leur nombre soit supérieur ou égal au nombre minimal de ports spécifié par instance de VM.

    • Il est possible que les tuples d'adresses IP NAT sources et de ports sources couvrent plusieurs adresses IP NAT si la passerelle Cloud NAT utilise deux adresses IP NAT ou plus. Une adresse IP NAT unique peut ne pas avoir suffisamment de ports sources disponibles pour prendre en charge le nombre de tuples d'adresses IP NAT sources et de ports sources nécessaire à une VM.

    • La passerelle Cloud NAT alloue les tuples d'adresses IP sources et de ports sources à chaque VM.

      • Si vous avez configuré l'allocation de ports statique, le nombre de tuples d'adresses IP sources et de ports sources est fixe. Celles-ci ne peuvent pas utiliser plus de tuples que ceux qui leur ont été alloués, même pendant les pics de trafic.

      • Si vous avez configuré l'allocation de ports dynamique, le nombre de tuples d'adresses IP sources et de ports sources peut changer en fonction de la demande. Si une VM est sur le point d'épuiser son allocation de ports actuelle, Cloud NAT alloue des ports supplémentaires, dans la limite du nombre maximal de ports par instance de VM spécifié. Une fois que l'utilisation des ports de la VM passe sous un certain seuil, les ports sont libérés et peuvent être alloués à d'autres VM.

Augmenter le nombre de ports par VM

Si vous avez configuré une passerelle Cloud NAT avec allocation de ports statique, lorsque vous augmentez le nombre minimal de ports par VM sur la passerelle, le trafic ne subit aucune interruption.

Si vous avez configuré une passerelle Cloud NAT avec allocation de ports dynamique, des modifications de configuration supplémentaires peuvent interrompre le trafic. Lorsque la configuration change, le nombre de ports actuellement alloués à chaque VM peut être réinitialisé temporairement sur le nombre minimal configuré.

Avec l'allocation de ports statique et dynamique, vous devez vous assurer que la passerelle dispose d'un nombre suffisant d'adresses IP NAT si vous les attribuez manuellement :

  • Lorsque vous utilisez l'allocation manuelle d'adresses IP NAT, vous devez calculer le nombre d'adresses IP NAT sources dont vous avez besoin. Avant d'augmenter le nombre minimal de ports par VM, attribuez au moins autant d'adresses IP NAT à la passerelle Cloud NAT.

  • Lorsque vous augmentez le nombre minimal de ports par VM à l'aide de l'allocation automatique d'adresses IP NAT, la passerelle Cloud NAT acquiert et attribue automatiquement de nouvelles adresses IP externes régionales.

Réduire le nombre de ports par VM

Si vous avez configuré une passerelle Cloud NAT avec allocation de ports statique et que vous réduisez le nombre minimal de ports par VM sur la passerelle, aucun drainage de connexion ne se produit. Les connexions NAT établies sont immédiatement interrompues, et les clients doivent établir de nouvelles connexions TCP.

Si vous avez configuré une passerelle Cloud NAT avec allocation de ports dynamique, des modifications de configuration supplémentaires peuvent interrompre le trafic. Lorsque la configuration change, le nombre de ports actuellement alloués à chaque VM peut être réinitialisé temporairement sur le nombre minimal configuré.

Ports et connexions

Le nombre de tuples d'adresses IP NAT sources et de ports sources qu'une passerelle Cloud NAT réserve à une VM limite le nombre de connexions que la VM peut établir vers une destination unique :

  • Une destination unique correspond à un 3-tuple unique composé d'une adresse IP de destination, d'un port de destination et d'un protocole IP (tel que TCP ou UDP).

  • Une connexion correspond à un 5-tuple unique composé du tuple d'adresse IP source et de port source, associé à un 3-tuple de destination unique. Le protocole UDP étant sans connexion, le concept de connexion est réduit à un 5-tuple associé à un datagramme UDP unique.

Supposons qu'une passerelle Cloud NAT évalue à 1 024 le nombre fixe de ports pour une VM en suivant la procédure de réservation de port. La passerelle Cloud NAT réserve 1 024 combinaisons uniques de tuples d'adresse IP source et de port source pour la VM. La passerelle Cloud NAT peut traiter 1 024 connexions simultanées vers chaque 3-tuple de destination unique. Cependant, Cloud NAT considère que les connexions fermées sont inutilisables pendant 120 secondes après la fermeture de la connexion, ce qui peut affecter le nombre de connexions utilisées à la fois.

Par exemple :

  • La passerelle accepte 1 024 connexions simultanées vers l'adresse IP de destination 203.0.113.99 sur le port 80, en utilisant le protocole TCP.

  • La passerelle accepte 1 024 connexions simultanées supplémentaires vers cette même adresse IP de destination sur le port 443, en utilisant également le protocole TCP.

  • La passerelle accepte 1 024 connexions simultanées supplémentaires vers une adresse IP de destination différente sur le port 80, en utilisant également le protocole TCP.

Réutilisation simultanée de ports et mappage indépendant des points de terminaison

Tant qu'au moins une information sur le 3-tuple de destination change (l'adresse IP de destination, le port de destination, le protocole), le même tuple d'adresse IP source et de port source NAT peut être utilisé simultanément pour de nombreuses connexions différentes.

Étant donné que Cloud NAT utilise le mappage indépendant des points de terminaison, comme défini dans la section 2.3 du document RFC 5128, le nombre de connexions simultanées qu'une VM cliente peut établir vers un 3-tuple de destination unique peut être réduit si Cloud NAT attribue le même tuple d'adresse IP source et de port source NAT à plusieurs adresses IP internes et ports sources éphémères d'une VM cliente. Les risques augmentent si la VM cliente possède un grand nombre d'adresses IP sources internes et établit un grand nombre de connexions au même 3-tuple de destination. La première fois qu'une VM cliente envoie un paquet à partir d'une adresse IP interne et d'un port source éphémère, Cloud NAT crée un mappage de type plusieurs à un, indépendant des points de terminaison, entre les éléments suivants :

  • Le tuple d'adresse IP interne et de port source éphémère
  • Un tuple d'adresse IP source unique et de port source

Par exemple, lorsqu'une VM cliente envoie un paquet à partir de son adresse IP interne 10.0.0.2 via le port source éphémère 10001, Cloud NAT attribue à 10.0.0.2:10001 un tuple d'adresse IP source et de port source NAT à utiliser pour toutes les connexions suivantes de 10.0.0.2:10001 à n'importe quel 3-tuple de destination.

Si la même VM utilise un port source éphémère différent pour envoyer un paquet, par exemple 10.0.0.2:20002, Cloud NAT attribue également une adresse IP source NAT et un tuple de port source pour toutes les connexions suivantes de 10.0.0.2:20002 à n'importe quel 3-tuple de destination. Il est possible que Cloud NAT attribue le même tuple d'adresse IP NAT source et de port source à la fois pour ces tuples d'adresses IP internes et de port source éphémère. Dans certaines situations, cela provoque un conflit indépendant de points de terminaison.

Pour obtenir un exemple plus détaillé, consultez l'exemple de conflit de mappage indépendant du point de terminaison.

Réduire les conflits indépendants des points de terminaison

Pour réduire le nombre de conflits indépendants de points de terminaison, vous pouvez modifier la configuration. Pour plus d'informations, consultez la section Paquets supprimés avec un motif de conflit indépendant du point de terminaison.

Délai avant réutilisation des ports sources TCP

Lorsqu'une passerelle Cloud NAT ferme une connexion TCP, Google Cloud laisse s'écouler un délai de deux minutes avant que la passerelle ne puisse réutiliser le même tuple d'adresse IP source et de port source NAT vers la même destination (adresse IP de destination, port de destination et protocole).

Vous ne pouvez pas réduire ce délai. Toutefois, vous pouvez effectuer l'une des actions suivantes :

  • Augmentez le nombre minimal de ports par instance de VM afin que la procédure de réservation de port attribue à la VM davantage de tuples d'adresses IP NAT sources et de ports sources.

  • Si une VM doit rapidement ouvrir et fermer des connexions TCP vers la même adresse IP de destination et le même port de destination à l'aide du même protocole, vous devez attribuer une adresse IP externe à la VM et utiliser des règles de pare-feu pour limiter les connexions d'entrée non sollicitées, au lieu d'utiliser Cloud NAT.

Ports source et sécurité

Si vous dépendez de la randomisation du port source comme mesure de sécurité, vous devez prendre en compte ce qui suit :

  • Augmentez le nombre minimal de ports par instance de VM afin que la procédure de réservation de port attribue à la VM davantage de tuples d'adresses IP NAT sources et de ports sources. Une plage de ports est attribuée de manière aléatoire à chaque VM. Cependant, le port source choisi dans cette plage est séquentiel.

  • Attribuez une adresse IP externe à la VM au lieu d'utiliser Cloud NAT.

Exemples

Les exemples suivants montrent comment Cloud NAT réserve les adresses IP sources et les ports sources d'une VM, et la façon dont la NAT s'applique aux paquets envoyés à Internet.

Réservation de port

Les exemples suivants illustrent les applications de la procédure de réservation de port :

Supposons que vous configurez une passerelle Cloud NAT pour fournir une NAT à la plage d'adresses IP principale d'un sous-réseau, et que les VM utilisant ce sous-réseau ne disposent d'aucune plage d'adresses IP d'alias appartenant à la plage d'adresses IP principale du sous-réseau. Arrondissez le résultat de n'importe quelle opération de division à l'entier inférieur le plus proche. ⌊⌋ est la fonction floor (plus grand entier), ce qui signifie que tout résultat fractionnaire de division est ignoré.

  • Si vous configurez la passerelle Cloud NAT avec une adresse IP NAT unique à l'aide de l'attribution manuelle, et que vous définissez le nombre minimal de ports par instance de VM sur 64, la passerelle peut fournir des services NAT pour 1 008 VM maximum :

    ⌊(1 adresse IP NAT) × (64 512 ports par adresse) / (64 ports par VM)⌋ = 1 008 VM

  • Si vous devez prendre en charge plus de 1 008 VM, vous pouvez attribuer une deuxième adresse IP NAT à la passerelle Cloud NAT. Avec deux adresses IP NAT, en conservant le nombre minimal de ports par VM de 64, vous pouvez prendre en charge 2 016 VM :

    ⌊(2 adresses IP NAT) × (64 512 ports par adresse) / (64 ports par VM)⌋ = 2 016 VM

  • Si vous définissez le nombre minimal de ports par VM sur 4 096, chaque adresse IP NAT peut prendre en charge 15 VM. Ce calcul est arrondi à l'entier inférieur le plus proche :

    ⌊(1 adresse IP NAT) × (64 512 ports par adresse) / (4 096 ports par VM)⌋ = 15 VM

Conflit de mappage indépendant du point de terminaison

L'exemple suivant montre comment le mappage indépendant des points de terminaison peut réduire le nombre de connexions simultanées d'une VM cliente au même 3-tuple de destination, même s'il y a suffisamment de tuples d'adresses IP NAT sources et de ports sources gratuits pour la VM cliente.

Supposons que vous ayez configuré une passerelle Cloud NAT pour fournir la NAT à la plage d'adresses IP principale d'un sous-réseau. Vous avez créé une VM cliente avec une interface réseau dont l'adresse IP interne principale est 10.0.0.2 dans ce sous-réseau. Aucune adresse IP externe n'est attribuée à l'interface de l'exemple de VM.

  1. La VM ouvre une connexion avec les caractéristiques suivantes :

    • Adresse IP interne et port sources : 10.0.0.2:10001
    • 3-tuple de destination : 203.0.113.1:80 via TCP
    • Cloud NAT utilise le tuple d'adresse IP source et de port source NAT suivant : 192.0.2.10:30009
  2. La VM ouvre une deuxième connexion avec les caractéristiques suivantes :

    • Adresse IP interne et port sources : 10.0.0.2:10002
    • 3-tuple de destination : 203.0.113.2:80 via TCP
    • Cloud NAT peut également utiliser le même tuple d'adresse IP source et de port source, 192.0.2.10:30009, pour cette connexion. Il est possible d'utiliser le même tuple d'adresse IP source et de port source pour une adresse IP cliente différente et un port source éphémère.
  3. Tant que les première et deuxième connexions sont actives, Cloud NAT ne peut pas ouvrir une troisième connexion TCP avec les caractéristiques suivantes :

    • Adresse IP interne et port sources identiques à ceux de la première connexion : 10.0.0.2:10001
    • 3-tuple de destination identique à celui de la deuxième connexion : 203.0.113.2:80 via TCP

    Cette troisième tentative de connexion est abandonnée pour cause d'erreur de conflit indépendante du point de terminaison, car le mappage indépendant du point de terminaison établi par la première connexion exige que toutes les connexions provenant de 10.0.0.2:10001 utilisent le même tuple d'adresse IP source et de port source NAT, 192.0.2.10:30009, mais 192.0.2.10:30009 est déjà utilisé par la deuxième connexion TCP à 203.0.113.2:80.

  4. Pour clarifier l'ambiguïté, une tentative de connexion ultérieure dans cet exemple aboutit tant que l'une des conditions suivantes est remplie :

    • La première connexion TCP a été fermée. Le mappage indépendant du point de terminaison entre 10.0.0.2:10001 et 192.0.2.10:30009 est alors supprimé, de sorte que la troisième connexion peut être mappée avec une adresse IP NAT différente et un tuple de port source pour communiquer avec 203.0.113.2:80 via TCP.
    • La deuxième connexion TCP a été fermée. Cela libère 10.0.0.2:10001 pour utiliser l'adresse IP source et le port source 192.0.2.10:30009 NAT pour communiquer avec 203.0.113.2:80 via TCP.
    • La troisième tentative de connexion sélectionne un autre port source éphémère (interne). Dans cet exemple, un mappage indépendant du point de terminaison a établi un mappage de type "plusieurs à un" pour les adresses IP NAT sources et les ports sources internes 10.0.0.2:10001 et 10.0.0.2:10002, afin d'utiliser 192.0.2.10:30009 en communication avec 203.0.113.2:80 via TCP. Si la troisième tentative de connexion utilise un port source éphémère différent de 10001 et 10002, il est possible d'utiliser une adresse IP source et un port source différents pour communiquer avec 203.0.113.2:80 via TCP.
    • Désactiver le mappage indépendant du point de terminaison. Ainsi, la nouvelle connexion depuis 10.0.0.2:10001 n'a pas besoin d'utiliser 192.0.2.10:30009, ce qui lui permet d'utiliser une adresse IP NAT et un port sources différents.

Pour connaître les techniques que vous pouvez utiliser pour éviter les conflits, consultez la section Réduire les conflits indépendants des points de terminaison.

Flux NAT

Dans cet exemple, une VM avec une adresse IP interne principale 10.240.0.4, sans adresse IP externe, doit télécharger une mise à jour à partir de l'adresse IP externe 203.0.113.1. Vous avez configuré la passerelle nat-gw-us-east comme suit :

  • Nombre minimal de ports par instance : 64
  • Deux adresses IP NAT attribuées manuellement : 192.0.2.50 et 192.0.2.60.
  • NAT fourni pour la plage d'adresses IP principale de subnet-1.
Exemple de traduction Cloud NAT (cliquer pour agrandir).
Exemple de traduction Cloud NAT (cliquer pour agrandir)

Cloud NAT suit la procédure de réservation de port pour réserver les tuples d'adresses IP NAT sources et de ports sources suivants pour chacune des VM du réseau. Par exemple, la passerelle Cloud NAT réserve 64 ports sources pour la VM avec l'adresse IP interne 10.240.0.4. L'adresse IP NAT 192.0.2.50 détient 64 ports non réservés. Par conséquent, la passerelle réserve l'ensemble suivant de 64 tuples d'adresse IP et de port source NAT pour cette VM :

  • 192.0.2.50:34000 jusqu'à 192.0.2.50:34063

Lorsque la VM envoie un paquet au serveur de mise à jour 203.0.113.1 sur le port de destination 80 via le protocole TCP, voici ce qui se produit :

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

    • Adresse IP source NAT : 10.240.0.4, l'adresse IP interne principale 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 : 203.0.113.1, l'adresse IP externe du serveur de mise à jour
    • Port de destination : 80, le port de destination pour le trafic HTTP vers le serveur de mise à jour
    • Protocole : TCP
  • La passerelle nat-gw-us-east effectue la SNAT en sortie, en réécrivant l'adresse IP source et le port source du paquet de requête. Le paquet modifié est envoyé à Internet si le réseau VPC a une route pour la destination 203.0.113.1 dont le saut suivant correspond à la passerelle Internet par défaut. Une route par défaut répond généralement à cette exigence.

    • Adresse IP source NAT : 192.0.2.50, provenant de l'un des tuples d'adresse IP source et de port source NAT
    • Port source : 34022, un port source inutilisé de l'un des tuples de port source réservés de la VM
    • Adresse de destination : 203.0.113.1, inchangée
    • Port de destination : 80, inchangé
    • Protocole : TCP, inchangé
  • Lorsque le serveur de mise à jour envoie un paquet de réponse, ce paquet arrive sur la passerelle nat-gw-us-east avec les attributs suivants :

    • Adresse IP source NAT : 203.0.113.1, l'adresse IP externe du serveur de mise à jour
    • Port source : 80, la réponse HTTP du serveur de mise à jour
    • Adresse de destination : 192.0.2.50, 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é
  • La passerelle nat-gw-us-east effectue la traduction d'adresse réseau de destination (DNAT) sur le paquet de réponse, en réécrivant l'adresse et le port de destination du paquet de réponse pour que celui-ci soit transmis à la VM :

    • Adresse IP source NAT : 203.0.113.1, inchangée
    • Port source : 80, inchangé
    • Adresse de destination : 10.240.0.4, l'adresse IP interne principale 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