Bonjour, tout le monde, et bienvenue à nouveau.
Dans la vidéo d'aujourd'hui, nous allons parler de la capture de l'IP du client derrière LP.
Lorsque vous travaillez dans une organisation, c'est l'un des sujets très importants que vous allez mettre
en œuvre dans la plupart des cas d'utilisation.
Alors, allons-y et comprenons cela en détail.
Maintenant, dans une configuration typique où vous avez l'équilibreur de charge élastique en place, l'application
dorsale ne reçoit pas l'adresse IP du client.
Par exemple, disons que vous avez l'instance EC two qui se trouve derrière l'équilibreur de charge.
Maintenant vous avez un client avec l'adresse IP de 192 168 0. 10.
Ainsi, lorsqu'un client envoie une requête à l'équilibreur de charge élastique,
ce dernier la transmet à l'instance EC2 dorsale.
Dans ce cas, l'instance EC two saura que la requête gate login dot PHP provient d'une ressource dont
l'adresse IP est un 7231 10. 5 d'accord.
Donc vous voyez que vous avez reçu une demande d'un 7231 10. 5 Maintenant, bien que cela semble bon, mais dans de nombreux
cas d'utilisation, il est très important que l'instance EC2 de back-end connaisse l'adresse IP du client qui a fait la
demande.
Ainsi, par exemple, au lieu d'un 7231 10. 5 cette instance facile a besoin de l'IP du client
original, qui est 192 168 0. 10 Et c'est ce dont nous allons parler dans la vidéo d'aujourd'hui.
Maintenant, en fonction du type d'équilibreur de charge et de l'écouteur, la manière dont l'IP du client
est transmise au serveur dorsal change également.
Par exemple, dans un équilibreur de charge classique pour les auditeurs basés sur le protocole HTTP, l'adresse IP du client est transmise par défaut
aux serveurs.
Cependant, pour les auditeurs basés sur TCP IP, le protocole proxy doit être activé pour l'équilibreur de charge des applications.
L'adresse IP du client est transmise avec la demande, vous devez donc utiliser l'en-tête x forwarded for dans l'application pour
capturer l'adresse du client.
Nous allons maintenant discuter de cette question d'un point de vue tactique également, car elle est un peu confuse.
Alors attendons rapidement une minute et complétons la partie théorique.
Maintenant, lorsque nous parlons de l'équilibreur de charge réseau, la préservation de l'adresse IP du
client est activée, par exemple, et les groupes cibles de type IP avec le protocole UDP et TCP UDP.
C'est donc la valeur par défaut et vous ne pouvez pas la désactiver.
Cependant, vous pouvez activer ou désactiver la préservation de l'IP du client pour les groupes cibles basés sur TCP et TLS.
Alors faisons une chose.
Allons-y et comprenons rapidement cela d'un point de vue pratique.
Pour la vidéo d'aujourd'hui, j'ai un équilibreur de charge de réseau et un équilibreur de charge d'application, tous
les deux.
Nous enverrons la requête à la même instance EC2 que celle que vous voyez ici.
Maintenant, ouvrons rapidement et voyons ce que l'instance héberge exactement.
Donc, à partir du navigateur, si j'ajoute l'URL, tout ce qu'il fait, c'est dire.
Bienvenue à Engine X.
Maintenant, à partir de l'instance EC two où le moteur X est en marche, allons-y et faisons rapidement
un tale sur var log engine x access dot log.
Très bien.
Nous allons examiner ce que la demande capture exactement.
Donc, tout d'abord, allons-y et copions le DNS de l'équilibreur de charge d'application.
Et à partir d'un nouvel onglet, je vais rapidement faire un curl sur le DNS ALB.
Donc à ce stade, attendons rapidement.
Très bien.
Nous avons reçu une réponse maintenant.
Vous voyez, nous avons eu une demande de porte qui a été faite et l'adresse IP est l'IP de l'équilibreur de charge de l'application.
En fait, si vous voulez rendre les choses plus simples, vous pouvez faire le test dot.
Et maintenant vous voyez ici pour la requête de test, l'adresse IP est celle de l'équilibreur de charge.
Un autre point important est mentionné ici avec les États qui utilisent l'en-tête x forwarded for dans l'application
pour capturer l'IP du client.
L'équilibreur de charge envoie donc également l'IP du client à l'instance EC2.
Cependant, l'application ou le serveur web qui fonctionne dans l'AC deux doit également utiliser l'en-tête x
forwarded for.
Maintenant, laissez-moi vous montrer rapidement, donc ici vous avez l'IP du LP, mais dans le dernier vous avez l'IP du client réel.
Donc cette adresse IP que vous voyez est l'adresse IP actuelle de mon ISP qui m'est attribuée.
Maintenant, comment cette adresse IP spécifique est-elle capturée ?
Faisons un contrôle C.
Maintenant, si vous regardez rapidement la configuration associée au moteur X, là encore, d'un point de vue
pratique dans les examens, vous n'avez pas besoin de connaître le moteur X en détail, mais je vous le montre simplement parce que cela
pourrait vous aider dans des scénarios du monde réel.
Maintenant, dans le format du journal du moteur x, le premier est l'adresse distante.
C'est donc l'adresse qui est remplacée par l'adresse IP de l'équilibreur de charge élastique.
En plus de cela, vous capturez également le x http transféré pour.
Donc, ici, l'adresse IP du client réel sera remplacée car, de toute façon, l'équilibreur de charge envoie l'adresse
IP du client avec l'en-tête x forwarded for.
Donc au niveau du moteur x, vous le capturez.
Et c'est la raison pour laquelle, à la fin de la ligne, vous voyez l'adresse IP du client.
Très bien, c'est pour l'équilibreur de charge d'application.
Maintenant, au cas où vous ne l'auriez pas configuré dans le moteur X, vous ne le verrez pas.
Ainsi, dans le format du journal, vous devrez l'éditer explicitement.
Maintenant, en retournant encore une fois au journal des accès.
Cette fois, nous allons envoyer la demande à l'instance EC two par l'intermédiaire de l'équilibreur de charge du réseau.
Donc, revenons à l'équilibreur de charge du réseau.
Je vais copier le nom du DNS.
Nous allons faire un curl sur nlrp3.
Alors attendons rapidement un moment.
Je vais rapidement faire un appel.
Encore une fois, nous avons obtenu une réponse ici.
Maintenant, si vous regardez dans le journal, nous avons le journal NLB txt.
Maintenant ici, vous voyez que l'adresse IP est 1010.
Donc directement, vous voyez l'adresse IP du client.
Il n'est pas vraiment nécessaire de capturer l'en-tête x forwarded for pour trouver l'adresse IP du client si nous utilisons
l'équilibreur de charge du réseau.
Très bien.
J'espère donc qu'avec ces quelques mots, vous avez compris comment l'IP du client peut être capturé.
Là encore, tout dépend de l'écouteur et de l'équilibreur de charge élastique que vous utilisez.
Maintenant, avant de conclure, une dernière chose que je voulais vous montrer.
En fait, regardons quel groupe cible cet équilibreur de charge réseau utilise.
Elle utilise un groupe cible appelé échantillon Groupe cible.
Alors, allons-y.
Aux groupes cibles, le groupe cible de l'échantillon.
Maintenant, si vous regardez dans les attributs, il y a un attribut spécifique lié à la préservation de l'adresse
IP du client.
C'est donc l'attribut important ici.
Maintenant, au cas où vous désactiveriez cet attribut spécifique, revenons à l'équilibreur de charge.
Copions à nouveau le Dennis.
Ainsi, à partir du CL, je vais exécuter le même ensemble de commandes sur le NLB de démonstration.
Saisissons également les journaux à nouveau afin que lorsque nous appelons cette fois.
Vous voyez, au lieu de l'IP du client.
Cette fois, nous voyons l'IP de l'équilibreur de charge pour la requête get sur NLP.
Très bien.
En fonction des besoins, vous disposez donc d'une certaine flexibilité.
Cependant, la plupart du temps, dans de nombreux cas d'utilisation, vous aurez besoin de la préservation de l'adresse IP du client
activée.
C'est ainsi que se termine la vidéo d'aujourd'hui.