72 votes

Quelle est la différence entre un sous-réseau public et un sous-réseau privé dans un VPC Amazon?

Lorsque je lance un serveur avec un groupe de sécurité qui autorise tout le trafic vers mon sous-réseau privé, il affiche un avertissement selon lequel il peut être ouvert au monde entier.

Si c'est un sous-réseau privé, comment est-ce possible ?

68voto

Jason Floyd Points 1612

La principale différence est la route pour 0.0.0.0/0 dans la table de routage associée.

Un sous-réseau privé définit cette route vers une instance NAT. Les instances du sous-réseau privé ont uniquement besoin d'une adresse IP privée et le trafic internet est routé à travers le NAT dans le sous-réseau public. Vous pouvez également ne pas avoir de route vers 0.0.0.0/0 pour en faire un sous-réseau vraiment privé sans accès internet entrant ou sortant.

Un sous-réseau public route 0.0.0.0/0 à travers une passerelle Internet (igw). Les instances dans un sous-réseau public nécessitent des adresses IP publiques pour communiquer avec internet.

L'avertissement apparaît même pour les sous-réseaux privés, mais l'instance n'est accessible qu'à l'intérieur de votre vpc.

27voto

Hassan Sohail Points 146

Le sujet de cette question est différent du problème réel décrit ci-dessus. Ce sujet est également important et très recherché sur Internet, et c'est justement pour cela que d'autres sites Web ont beaucoup plus de vues sur le même sujet, car il n'est pas bien défini ici. Si à la fois les sous-réseaux publics et privés peuvent accéder à Internet pour télécharger des mises à jour et des packages, quelle est la différence entre eux? Les deux devraient être publics alors, mais laissez-moi clarifier cela et ajouter ma réponse du point de vue d'AWS, ainsi que d'un point de vue conceptuel et pratique.

Réponse à propos du sujet :

Les sous-réseaux publics et privés sont le nom du concept, pas vraiment une entité séparée.

Réponse au problème réel qui est posé

Le avertissement est Correct techniquement, je suppose que vous parlez du trafic entrant, pas sortant, car si vous voulez télécharger des logiciels, packages, mises à jour, alors vous devez ajouter chaque IP en sortant ce qui est pratiquement pas bon et prend du temps. Donc, le avertissement concerne les autres réseaux et classes privées

Par exemple : si vous ajoutez une règle dans le groupe de sécurité du sous-réseau privé comme Entrant 0.0.0.0/0 cela ne signifie pas que c'est disponible pour le public et que quelqu'un peut envoyer une demande à cette instance/service/machine, ce que cela signifie effectivement, c'est que d'autres sous-réseaux privés ou réseaux privés peuvent communiquer avec votre instance ou services, comme les classes privées 192.168.x.x, 172.16.x.x, 10.0.0.0, ce qui est seulement possible si vos routes sont autorisées à le faire. Sinon, vous pouvez ignorer cet avertissement et ne pas vous en inquiéter. Ici, vous devez comprendre la différence entre De l'Internet et Vers l'Internet, donc selon les règles du groupe de sécurité et les informations d'aide, il vous montrera cet avertissement qui peut être mal interprété par n'importe qui.

La Confusion

Lorsque vous créez un sous-réseau dans le VPC AWS, il y a une option Auto-attribution d'IPv4 Public C'est le principal problème qui crée de la confusion pour les gens, si elle est définie sur Oui, alors votre Sous-réseau est Public, peu importe le nom ou la clé que vous avez associé au Sous-réseau. Cela signifie qu'au moment de la création du Sous-réseau, si vous utilisez un nom comme Sous-réseau Privé-A cela ne signifie pas que ce soit un Sous-réseau Privé, cela dépend de votre cas d'utilisation et de vos configurations (option Auto-attribution d'IP Publique).

Différence entre Sous-réseau Public et Privé :

Les instances dans le Sous-réseau Public sont accessibles De l'Internet, ce qui signifie que le trafic De l'Internet peut atteindre une machine/instance/service dans le Sous-réseau Public. Vous gardez généralement des choses comme des répartiteurs de charge, des serveurs web dans le Sous-réseau Public. Donc, lorsque vous les créez, vous ajoutez le mot Public devant pour les distinguer des autres, et cela n'a pas d'importance si vous avez activé Auto-attribution d'IPv4 Public, mais chaque fois que vous choisissez le Sous-réseau Public que vous avez marqué Public, vous devez vérifier ou activer l'option Auto-attribution d'IPv4 Public lorsque vous lancez une instance EC2 ou un service RDS. Mais il est préférable d'activer Auto-attribution d'IPv4 Public au niveau du Sous-réseau pour le rendre vraiment Public, car c'est la raison pour laquelle vous faites la distinction et utilisez le concept Public-Privé, donc chaque fois que vous lancez un service/instance/machine dans le Sous-réseau Public, il sera accessible De l'Internet et Vers l'Internet, ce qui signifie que vous pouvez accéder au service/instance sur Internet et télécharger des mises à jour et des packages dans le service/instance également. Vous pouvez vérifier qui va Vers l'Internet en tapant simplement la commande curl wgetIP.com, vous verrez votre IP publique de l'instance/machine dans les résultats.

"Parce que, lorsque vous lancez une instance dans un sous-réseau ayant cette option activée, une adresse IP publique est attribuée à l'interface réseau principale (eth0) créée pour l'instance. Une adresse IP publique est associée à l'adresse IP privée principale via la translation d'adresse réseau (NAT).".....dit, AWS.

Les instances du Sous-réseau Privé ne peuvent pas être accessibles De l'Internet. Par exemple, vous pouvez mettre un serveur de base de données, un serveur Redis ou d'autres services de ce genre dans un Sous-réseau Privé et personne ne pourra y accéder De l'Internet. Ils seraient accessibles uniquement via des instances/machines/services dans le Sous-réseau Public (serveur web, ELB, etc). Parce qu'il n'a pas l'option d'IP publique activée et que nous l'avons marqué comme Privé pour l'utilisation spécifique expliquée, pour des raisons de sécurité et pour éviter les accès non autorisés sur l'Internet. C'est bon pour la sécurité au niveau de l'architecture pour éviter les failles. Pour accéder à ces services/instances du Sous-réseau Privé, vous devez ajouter une règle d'autorisation dans le groupe de sécurité et ajouter des routes appropriées dans la table de routage.

Maintenant la question est,

Le Sous-réseau Privé peut-il accéder à l'Internet?

Donc, la réponse est par défaut non,
Si vous voulez accéder à Internet à travers un Sous-réseau Privé ou un Sous-réseau sans IP publique ou un Sous-réseau ayant désactivé Auto-attribution d'IPv4 Public, vous devez créer une instance NAT ou une passerelle NAT, et cette passerelle NAT doit avoir une IP publique afin que votre service/instance avec IP privée accède à l'Internet et puisse télécharger des mises à jour, des logiciels et des packages. L'IP privée routera le trafic vers la passerelle NAT et la passerelle NAT routera vers la passerelle Internet. Ensuite, votre communication des Sous-réseaux Privés vers Internet peut commencer, vous pouvez vérifier votre IP en exécutant simplement la commande curl wgetIP.com, cela vous donnera l'IP publique de la passerelle NAT, car la passerelle NAT ira sur Internet pour vous et la passerelle Internet est un chemin de communication extérieur vers le monde et c'est un terme en réseau également pour faire passer le trafic de l'entrant au sortant. Vous pouvez simplement comprendre que c'est le portail principal du bâtiment pour la sortie.

Conclusion Les instances dans le Sous-réseau public peuvent envoyer du trafic sortant directement vers Internet, tandis que les instances dans le sous-réseau privé ne le peuvent pas. Au lieu de cela, les instances dans le sous-réseau privé peuvent accéder à Internet en utilisant une passerelle NAT (Network Address Translation) qui réside dans le sous-réseau public. Les serveurs de base de données peuvent se connecter à Internet pour les mises à jour logicielles en utilisant la passerelle NAT, mais Internet ne peut pas établir de connexions vers les serveurs de base de données.".....dit, AWS

Liens :

Accès à Internet: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html

Bases de VPC et Sous-réseaux : https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html

VPC avec Sous-réseaux Publics et Privés (NAT) : https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Scenario2.html

14voto

Miguel Carvajal Points 201

Comme documenté ici

SUBNET PUBLIC Si le trafic d'un sous-réseau est dirigé vers une passerelle Internet, le sous-réseau est connu sous le nom de sous-réseau public. SUBNET PRIVÉ Si un sous-réseau n'a pas de route vers la passerelle Internet, le sous-réseau est connu sous le nom de sous-réseau privé.

10voto

archery1234 Points 144

La distinction entre les sous-réseaux "publics" et "privés" dans AWS VPC est déterminée uniquement par le fait que le sous-réseau est ou non associé à une Passerelle Internet (IGW). Selon la documentation AWS:

Si un sous-réseau est associé à une table de routage ayant une route vers une passerelle Internet, il est considéré comme un sous-réseau public. Si un sous-réseau est associé à une table de routage ne possédant pas de route vers une passerelle Internet, il est considéré comme un sous-réseau privé.

L'IGW permet au trafic réseau provenant de l'internet d'atteindre les points d'extrémité à l'intérieur du sous-réseau.

Pour répondre à votre deuxième question:

Lorsque je lance un serveur avec un groupe de sécurité autorisant tout le trafic vers mon sous-réseau privé, un avertissement s'affiche indiquant qu'il pourrait être ouvert au monde entier. Mais s'il s'agit d'un sous-réseau privé, comment est-ce possible?

Il semblerait que AWS ne vérifie pas si le sous-réseau choisi possède ou non une table de routage avec une IGW, lors de l'affichage de cet avertissement. Il s'agit d'un avertissement générique qu'ils affichent toujours lorsque vous configurez une instance avec un groupe de sécurité autorisant tout le trafic entrant. Ils utilisent "pourrait être" (plutôt que "sera") pour se protéger, mais l'avertissement n'est pertinent que si vous êtes sur un sous-réseau public.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X