Skip to main content
BlogMise en réseauComment construire une passerelle NAT dans un VPC avec Linode

Comment construire une passerelle NAT dans un VPC avec Linode

Texte : Comment construire une passerelle NAT dans un VPC avec Linode

L'un de nos clients qui traite des données sensibles avait besoin d'une infrastructure cloud sécurisée pour ses applications web et ses bases de données. Nous avons implémenté une passerelle NAT dans un VPC pour permettre aux instances des sous-réseaux privés d'accéder à l'internet pour les mises à jour et les appels API tout en bloquant le trafic entrant. Cette solution permet aux instances privées d'accéder à Internet sans les exposer directement à l'Internet public, ce qui renforce la sécurité. Voici ce que nous avons fait :

Ce diagramme illustre une configuration VPC typique divisée en trois sections principales : VPC, sous-réseau public et sous-réseau privé. Tout d'abord, nous avons la boîte verte extérieure, le VPC, qui isole les ressources qu'il contient des autres réseaux. Les utilisateurs accèdent au serveur web via l'internet public à l'aide d'une adresse IP statique attribuée par NAT 1:1. Le serveur web traite les demandes et, si nécessaire, communique avec le serveur de base de données. Le serveur web communique avec le serveur de base de données par l'intermédiaire du serveur routeur. Le serveur routeur utilise la NAT personnalisée pour acheminer de manière sécurisée le trafic entre les sous-réseaux public et privé. Le serveur de base de données, situé dans le sous-réseau privé, reçoit les requêtes du serveur web via le site VLAN. L'isolement du sous-réseau privé garantit que le serveur de base de données n'est pas directement exposé à l'Internet, ce qui renforce la sécurité. Dans ce tutoriel, nous allons suivre les étapes de la mise en place de cette architecture, en garantissant une communication sécurisée et efficace entre les sous-réseaux privé et public. Nous créerons un VPC avec un sous-réseau public et un sous-réseau privé, nous configurerons la passerelle NAT et nous mettrons en place le site VLAN. 

Tutoriel

Dans ce tutoriel, nous allons créer une passerelle NAT dans un VPC, comme dans le diagramme que nous venons de parcourir. Si vous avez déjà un compte Linode, vous pouvez passer à l'étape 1. Si vous n'avez pas de compte Linode, utilisez ce lien pour vous inscrire et obtenir 100 $ de crédits gratuits pour suivre les étapes suivantes. Depuis le tableau de bord Linode, nous allons créer un VPC avec deux sous-réseaux : un sous-réseau public et un sous-réseau privé. Dans le sous-réseau privé, nous ajouterons une base de données, et dans le sous-réseau privé, nous ajouterons 2 instances : une qui agira en tant que serveur web, et une qui agira en tant que serveur de routeur (NAT personnalisé). 

Étape 1 : Créer un VPC

La première étape de la construction d'une passerelle NAT dans un VPC consiste à créer le VPC pour isoler logiquement nos ressources. Rappelez-vous qu'il s'agit de la boîte verte du diagramme que nous avons parcouru. Les sous-réseaux privés et publics se trouveront à l'intérieur de ce VPC.

Pour ce faire, à partir du Linode Cloud Manager, cliquez sur VPC dans le panneau de gauche, puis sur Create VPC.

Étape 2 : Configurer le sous-réseau public

Ensuite, nous devons ajouter un sous-réseau public dans le VPC qui contiendra le serveur routeur (NAT personnalisé) et le serveur web. Rappelons qu'il s'agit du carré bleu du diagramme que nous avons parcouru.

En bas de l'écran, à la rubrique Sous-réseaux, ajoutez une étiquette pour le sous-réseau public. Ce sous-réseau hébergera le serveur routeur (NAT personnalisé) et le serveur Web.

Cliquez ensuite sur Create VPC pour provisionner le VPC.

Vous verrez le sous-réseau public créé avec l'ID de sous-réseau et la plage IP correspondants.

Étape 3 : Déployer le serveur routeur et le serveur web

Ensuite, nous devons déployer 2 instances Linode dans le sous-réseau public. L'une des instances Linode servira de serveur routeur (NAT personnalisé), qui gérera les opérations de NAT pour gérer le trafic entre les sous-réseaux public et privé. L'autre serveur servira de serveur web pour gérer le trafic entrant depuis l'Internet et transmettre les requêtes nécessaires au sous-réseau privé. Tout d'abord, nous allons créer le serveur routeur. Dans le Gestionnaire de clouds, cliquez sur Linodes dans le panneau de gauche, puis sur Create Linode. Choisissez la même région que lorsque vous avez créé le VPC, puis sélectionnez l'option Dedicated 8 GB CPU.

Ensuite, faites défiler vers le bas et attribuez le VPC que vous avez créé à l'étape 1, puis choisissez le sous-réseau public dans le menu déroulant.

Cliquez sur Create Linode pour terminer le provisionnement de cette instance.

Maintenant, créons le serveur web, en utilisant le même processus que ci-dessus. Cliquez sur Create Linode, sélectionnez la région que vous avez choisie pour votre VPC, puis assignez le VPC à cette instance. Vous verrez maintenant le serveur web et le serveur routeur listés dans le VPC sous le sous-réseau public. 

Étape 4 : Créer un sous-réseau privé

Ensuite, nous devons créer le sous-réseau privé au sein du VPC pour héberger le serveur de base de données, qui n'aura pas d'accès direct à l'internet public. Nous construisons maintenant la boîte violette.

Depuis votre VPC, cliquez sur Create Subnet, puis saisissez une étiquette et attribuez la plage d'IP privée. Ce sous-réseau permet de conserver votre base de données en toute sécurité, à l'abri des menaces extérieures.

Étape 5 : Déployer le serveur de base de données 

Maintenant, déployons une instance Linode dans le sous-réseau privé pour servir de serveur de base de données. Cette instance ne sera accessible que depuis le sous-réseau public via le site sécurisé VLAN. Dans le panneau de gauche du Linode Cloud Manager, cliquez sur Linodes, puis sur Create Linode. Entrez database-server comme étiquette, choisissez vpc-nat-gateway-demo comme VPC, et choisissez private-subnet comme sous-réseau. 

Une fois le serveur déployé, vous devriez voir ce qui suit :

Ensuite, nous devons modifier la configuration et cocher la case Attribuer une adresse IP publique à ce Linode. La raison pour laquelle nous faisons cela est que nous devons télécharger des outils réseau à partir de ce serveur. 

Étape 6 : Configuration VLAN

Ensuite, nous devons établir un VLAN pour permettre une communication sécurisée entre les sous-réseaux public et privé. Le serveur de base de données et le serveur routeur peuvent communiquer entre eux grâce à l'adresse VLAN.

Cela garantit que le trafic entre le serveur web et le serveur de base de données reste privé et sécurisé. À partir du serveur routeur, cliquez sur l'onglet Configurations, puis sur Modifier. Ajoutez une adresse VLAN, et entrez une adresse (utilisez le texte de remplacement comme guide).

Maintenant, allons sur le serveur du routeur et ajoutons cette adresse VLAN à la configuration.

Étape 7 : Transférer le trafic du serveur de base de données vers le serveur routeur

Rappelez-vous que nous avons attribué une adresse IP publique afin de pouvoir accéder à l'internet pour télécharger des outils de réseau.

Maintenant, téléchargeons ipconfig à l'aide des commandes suivantes :

$ modprobe iptable_nat

$ echo 1 > /proc/sys/net/ipv4/ip_forward

$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

$ iptables -A FORWARD -i eth1 -j ACCEPT  

Ensuite, nous devons retourner sur le serveur de base de données et décocher la case de l'IP publique pour qu'il n'ait pas d'accès à l'internet.

Le serveur de base de données est maintenant isolé en toute sécurité dans le sous-réseau privé. Il va maintenant pouvoir communiquer avec le serveur routeur. Envoyons un ping au VPC du serveur routeur.

Ensuite, nous devons demander au serveur de base de données d'acheminer le trafic sur VLAN. Pour ce faire, exécutez la commande suivante à partir du serveur de base de données :

route add default gw {VLAN-IP-FOR-ROUTER} 

Ensuite, il faut suivre l'itinéraire.

Vous y trouverez la liste des sites VLAN .

Nous devons maintenant configurer le serveur routeur pour qu'il transfère le trafic de eth1 (VLAN) vers l'internet. Dans cette étape, nous activons la NAT sur le serveur et la redirection IP.

Depuis le serveur du routeur, exécutez les commandes suivantes :

$ modprobe iptable_nat

$ echo 1 > /proc/sys/net/ipv4/ip_forward

$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

$ iptables -A FORWARD -i eth1 -j ACCEPT 

Nous avons configuré avec succès une passerelle NAT dans un VPC.

Avantages de cette architecture

L'utilisation de cette architecture présente plusieurs avantages majeurs. Tout d'abord, vous bénéficiez d'une sécurité accrue. Un VPC permet d'isoler les ressources au sein de sous-réseaux distincts (publics et privés). Une passerelle NAT garantit que les instances des sous-réseaux privés peuvent accéder à l'internet sans les exposer directement aux menaces de l'internet public. En utilisant une passerelle NAT dans un VPC, seul le trafic sortant est autorisé à partir des instances privées vers l'internet, ce qui empêche les connexions entrantes non sollicitées qui pourraient présenter des risques pour la sécurité. Nous plaçons la base de données dans le sous-réseau privé, et les éléments sensibles qui s'y trouvent sont protégés de l'exposition directe à l'internet, ce qui réduit le risque de violation des données.

Cette architecture améliore aussi considérablement l'évolutivité. Les passerelles NAT sont conçues pour gérer d'importants volumes de trafic et peuvent s'adapter automatiquement aux demandes croissantes, ce qui élimine le besoin d'intervention manuelle. Au fur et à mesure que la charge de trafic augmente, la passerelle NAT adapte ses ressources afin de maintenir des performances optimales et d'assurer une disponibilité continue. Cette évolutivité automatisée est particulièrement bénéfique pour les plateformes de commerce électronique, qui connaissent souvent des fluctuations de trafic dues aux ventes saisonnières, aux promotions et aux comportements variables des clients. En exploitant les passerelles NAT, les développeurs peuvent s'assurer que leurs applications restent réactives et fiables, même en cas de forte demande, ce qui améliore l'expérience de l'utilisateur et favorise la croissance de l'entreprise.

La construction d'une passerelle NAT dans un VPC à l'aide de Linode offre un moyen sûr et efficace de gérer le trafic réseau entre les ressources publiques et privées. Elle garantit que vos instances privées peuvent accéder aux ressources externes nécessaires tout en les protégeant d'une exposition directe à Internet, ce qui améliore en fin de compte la sécurité, l'évolutivité et l'efficacité de votre infrastructure en nuage. 

En suivant les étapes décrites ci-dessus et en utilisant le diagramme fourni comme référence, vous pouvez non seulement protéger les données sensibles de vos clients, mais aussi optimiser les performances de votre réseau. Si vous êtes un développeur cherchant à optimiser la sécurité de votre cloud et que vous voulez construire plus de ressources dans le cloud, utilisez ce lien pour demander jusqu'à 5 000 $ de crédits Linode.

Commentaires (4)

  1. Author Photo

    how can i create a linode account
    i tried to register and got rejected

  2. Author Photo

    Hi, thank you for the write up, but I think there is an issue with this article. In step 6 when you are configuring the VLAN you label both the configuration of the Database and Router Server as the Router Sever. “From the router server, click on the Configurations tab…” and then later on in the same step you say, “Now, let’s go to the router server and add that VLAN to the configuration.” I assume first is the VLAN configuration for the database (192.0.2.2/24) and the second is for the router (192.0.2.1/24).

    • Hong Diep

      Hi Dane – We appreciate you pointing out that redundant statement! In case they were not aware, I have forwarded this feedback to the team responsible for our documentation so they may make the necessary changes.

Laissez un commentaire

Votre adresse électronique ne sera pas publiée. Les champs obligatoires sont marqués d'un *.