web-dev-qa-db-fra.com

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

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 indiquant qu'il peut être ouvert au monde.

S'il s'agit d'un sous-réseau privé, comment est-ce possible?

34
Developr

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

Un sous-réseau privé définit cet itinéraire vers une instance NAT. Les instances de sous-réseau privé n'ont besoin que d'une adresse IP privée et le trafic Internet est acheminé via 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.

Un sous-réseau public achemine 0.0.0.0/0 via une passerelle Internet (igw). Les instances d'un sous-réseau public nécessitent des adresses IP publiques pour parler à 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.

31
Jason Floyd

Tel que documenté ici

SOUS-RÉSEAU PUBLIC Si le trafic d'un sous-réseau est acheminé vers une passerelle Internet, le sous-réseau est appelé sous-réseau public. SOUS-RÉSEAU PRIVÉ Si un sous-réseau n'a pas de route vers la passerelle Internet, le sous-réseau est appelé sous-réseau privé.

4
Miguel Carvajal

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 pour cette raison, d'autres sites Web ont des vues beaucoup plus élevées du même sujet car ce n'est pas le cas bien défini ici, si les sous-réseaux publics et privés peuvent aller sur Internet pour télécharger des mises à jour et des packages, quelle est la différence entre eux? Les deux devraient alors être publics, mais permettez-moi de clarifier cela et d'ajouter ma réponse du point de vue AWS, ainsi que d'un point de vue conceptuel et pratique.

Réponse au sujet:

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

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

L'avertissement est correct techniquement, je suppose que vous parlez de trafic entrant, pas de trafic sortant, car si vous vouliez télécharger des logiciels, des packages, des mises à jour pour que vous devez ajouter chaque IP unique dans le trafic sortant, ce qui n'est pratiquement pas bon et prend du temps., donc, l'avertissement concerne d'autres réseaux et classes privées.

Par exemple: si vous ajoutez une règle dans un groupe de sécurité de sous-réseau privé comme Inbound 0.0.0.0/0, cela ne signifie donc pas qu'elle est disponible pour Public et quelqu'un peuvent envoyer une demande à cette instance/service/machine, ce que cela signifie en fait que d'autres sous-réseaux privés ou réseaux privés peuvent communiquer avec votre instance ou vos services, comme 192.168.xx, 172.16.xx, 10.0.0.0 Classes privées, qui n'est possible que si vos itinéraires sont autorisés à le faire. En dehors de cela, vous pouvez ignorer cet avertissement et ne pas vous en soucier. Ici, vous devez comprendre la différence entre depuis Internet et vers 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 compris par n'importe qui.

La confusion

Lorsque vous créez un sous-réseau dans AWS VPC, il existe une option Auto-assign Public IPv4 C'est le principal problème qui fait de la confusion chez les gens s'il est défini sur Oui, votre sous-réseau est public, quel que soit le nom ou la valeur-clé que vous avez tagué sur le sous-réseau, ce qui signifie qu'au moment de la création du sous-réseau, si vous utilisez un nom comme Private Subnet-A, cela ne signifie pas son sous-réseau privé, cela dépend de votre cas d'utilisation et de vos configurations (option Auto-assign Public IP).

Différence entre le sous-réseau public et privé:

Les instances du sous-réseau public peuvent être accessibles depuis Internet, ce qui signifie que le trafic provenant d'Internet peut frapper une machine/instance/service dans le sous-réseau public. Vous conservez normalement des éléments tels que les équilibreurs de charge, les serveurs Web dans le sous-réseau public. Ainsi, lorsque vous les créez, vous ajoutez le nom Public devant eux pour les séparer des autres et, peu importe que vous activiez Auto-assign Public IPv4 , mais chaque fois que vous choisissez le sous-réseau public que vous avez marqué public, vous devez cocher ou activer l'option Auto-assign Public IPv4 lorsque vous lancez un instance de EC2 ou RDS/Service. Mais il vaut mieux si vous activez Auto-assign Public IPv4 au niveau du sous-réseau pour le rendre correctement public car c'est la raison pour laquelle vous faites la différence et utilisez Public- Concept privé, donc chaque fois que vous lancez un service/une instance/une machine dans un sous-réseau public, il pourra accéder à partir d'Internet et vers Internet, ce qui signifie que vous pouvez accéder au service/à l'instance sur Internet et télécharger des mises à jour et des packages dans le service/l'instance également. Vous pouvez vérifier qui va sur Internet en tapant simplement la commande curl wgetIP.com, vous verrez votre IP publique d'instance/machine dans les résultats.

"Parce que, lorsque vous lancez une instance dans un sous-réseau sur lequel cet attribut est activé, une adresse IP publique est affectée à l'interface réseau principale (eth0) créée pour l'instance. Une adresse IP publique est mappé à l'adresse IP privée principale via la traduction d'adresses réseau (NAT). " ..... dit, [~ # ~] aws [~ # ~] .

Les instances du sous-réseau privé ne sont pas accessibles depuis Internet. Par exemple. vous pouvez placer Database Server, Redis Server ou ces types d'autres services dans un sous-réseau privé et personne ne peut y accéder à partir d'Internet. Il serait accessible uniquement via des instances/machines/services dans un sous-réseau public (serveur Web, ELB, etc.). Parce qu'il n'a pas d'option IP publique activée et nous l'avons également marqué comme privé pour l'utilisation spécifique comme expliqué, pour la sécurité et l'accès indésirable sur Internet. C'est bon pour la sécurité au niveau de l'architecture pour éviter les failles. Pour accéder à ces services/instances de sous-réseau privé, vous devez ajouter une règle d'autorisation dans le groupe de sécurité et ajouter des itinéraires appropriés dans la table de routage.

Maintenant, la question est,

Le sous-réseau privé peut-il accéder à Internet?

Donc, la réponse est par par défaut non ,
Si vous souhaitez accéder à Internet via un sous-réseau privé ou un sous-réseau sans IP publique ou un sous-réseau désactivé Attribuer automatiquement IPv4 public , vous devez créer une instance NAT ou une passerelle NAT, et cette passerelle NAT doit avoir une adresse IP publique. Par conséquent, votre service/instance avec une adresse IP privée ira sur Internet et pourra télécharger mises à jour, logiciels et packages. L'IP privé acheminera le trafic vers la passerelle NAT et la passerelle NAT 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, il vous donnera une IP publique de passerelle NAT, car la passerelle NAT ira à Internet pour vous et Internet la passerelle est un chemin de communication extérieure vers le monde et c'est un terme dans le réseautage ainsi que pour faire passer le trafic entrant et sortant. Vous pouvez simplement comprendre sa porte principale du bâtiment pour la sortie.

Conclusion Les instances du sous-réseau public peuvent envoyer du trafic sortant directement vers Internet, contrairement aux instances du sous-réseau privé. Au lieu de cela, les instances du sous-réseau privé peuvent accéder à Internet à l'aide d'une passerelle de traduction d'adresses réseau (NAT) 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 à l'aide de la passerelle NAT, mais Internet ne peut pas établir de connexion aux serveurs de base de données. " .... .said, AWS

Liens:

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

Bases du VPC et des 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

1
Hassan Sohail