Qu’est-ce qu’Azure NAT Gateway ?
En tant qu’ingénieur système en chef et administrateur Azure chargé de résoudre les problèmes de connectivité actuels avec les machines virtuelles Azure, votre première étape est de comprendre l’arrière-plan technologique et les fonctionnalités d’Azure NAT Gateway.
Azure NAT Gateway est un service cloud complètement managé qui s’exécute dans Azure. Il est hautement résilient, évolutif et facile à configurer. Quand vous utilisez Azure NAT Gateway avec vos réseaux virtuels existants dans Azure, les machines virtuelles individuelles ou d’autres ressources Azure peuvent rester entièrement privées, sauf si elles hébergent des services qui acceptent les connexions entrantes depuis Internet. Toute la connectivité sortante lancée depuis votre réseau virtuel utilise les adresses IP publiques statiques de la passerelle NAT.
Vue d’ensemble de NAT
NAT n’est pas une technologie nouvelle. On l’utilise depuis des décennies pour mapper des adresses IP locales à des adresses publiques. L’un des principaux objectifs de NAT est d’enregistrer les adresses IPv4 publiques, ce qui est particulièrement utile pour les fournisseurs de services Internet. Ces sociétés peuvent utiliser NAT pour mapper une étendue de nombreuses adresses IPv4 privées à une seule adresse IP publique, ou à quelques adresses IP publiques.
NAT est également utilisé dans les maisons et les réseaux locaux. Si vous disposez d’un routeur domestique qui vous connecte à Internet, il est très probable que le NAT soit implémenté. Cela permet à tous vos appareils d’être acheminés vers Internet en utilisant une seule adresse IP publique. NAT masque également votre espace d’adressage interne, ce qui signifie que tout le trafic sortant semble provenir d’une adresse IP publique unique. L’adresse IP est affectée à un routeur ou à un appareil de passerelle.
Lors de l’utilisation de NAT, il est important de comprendre les ports TCP (Transmission Control Protocol) et leur objectif. La traduction d’adresses de port permet à chaque hôte d’un réseau privé de communiquer sur Internet à l’aide d’une adresse IP publique unique, afin que chaque chemin de communication soit établi sur un port TCP unique. Pour ce faire, procédez comme suit :
Un appareil sur le réseau privé établit une connexion à une ressource sur Internet. Le NAT remplace l’adresse IP de l’appareil interne dans l’en-tête de paquet par l’adresse IP externe de l’appareil NAT.
La traduction d’adresses de port affecte ensuite la connexion à un numéro de port à partir d’un pool de ports disponibles.
Ce numéro de port est inséré dans le champ port source de l’en-tête de paquet et le paquet est ensuite transféré vers Internet.
Le périphérique NAT enregistre ensuite une entrée dans une table de traduction réseau :
- Pour chaque connexion établie, cette entrée contient l’adresse IP interne, le port source d’origine et le port source traduit.
- Les paquets suivants provenant de la même adresse IP source interne et du même numéro de port sont toujours convertis en la même adresse IP externe et le même numéro de port.
L’ordinateur recevant un paquet qui est passé par NAT établit alors une connexion au port et à l’adresse IP spécifiés dans le paquet modifié, ignorant que l’adresse fournie est traduite.
Le diagramme suivant illustre le processus de NAT.
Notes
NAT est principalement utilisé pour établir des connexions sortantes à Internet. Toutefois, il ne peut pas gérer directement les connexions entrantes à partir d’Internet. Vous devez utiliser différentes technologies à cet effet.
Service NAT dans Azure
Lorsque vous créez un réseau virtuel dans Azure, vous lui attribuez un espace d’adressage privé, puis vous créez un ou plusieurs sous-réseaux sur ce réseau. Quand vous créez une machine virtuelle dans Azure, puis que vous la placez dans ce réseau virtuel, elle obtient son adresse IP locale à partir de ce réseau. Si vous souhaitez accepter les connexions Internet sortantes sur cette machine virtuelle, vous pouvez également affecter un objet d’adresse IP publique à cette machine virtuelle.
Notes
Les machines virtuelles Azure auxquelles vous n’affectez pas d’adresse IP publique peuvent toujours accéder à Internet en utilisant la traduction d’adresses réseau Azure ou de la traduction d’adresses de port. Toutefois, dans ce cas, vous ne pouvez pas contrôler l’adresse IP publique qui sera utilisée pour les connexions sortantes. Vous ne pouvez pas non plus activer les connexions entrantes, ni utiliser le protocole RDP (Remote Desktop Protocol) pour vous connecter à ces machines virtuelles à partir de l’extérieur. Vous devez utiliser un hôte Azure Bastion à la place.
Pour garantir une connectivité sortante sécurisée, contrôlable et évolutive pour les machines virtuelles Azure et d’autres ressources, vous pouvez créer une instance du service Azure NAT Gateway. Vous attribuez ensuite l’instance à un ou plusieurs sous-réseaux au sein du même réseau virtuel dans Azure.
Le service Azure NAT Gateway permet de traduire de façon sécurisée vos adresses IP privées en une adresse IP publique, comme le montre le diagramme suivant :