Que se passe-t-il sur les connexions à l'intérieur et à l'extérieur du tunnel VPN

De vrais articles naissent de lettres adressées au support technique de Tucha. Par exemple, un client nous a récemment contacté pour nous demander de clarifier ce qui se passe lors des connexions à l'intérieur du tunnel VPN entre le bureau de l'utilisateur et l'environnement cloud, ainsi que lors des connexions en dehors du tunnel VPN. L’intégralité du texte ci-dessous est donc une véritable lettre que nous avons envoyée à l’un de nos clients en réponse à sa question. Bien entendu, les adresses IP ont été modifiées afin de ne pas désanonymiser le client. Mais oui, le support technique de Tucha est vraiment célèbre pour ses réponses détaillées et ses e-mails informatifs. 🙂

Bien entendu, nous comprenons que pour beaucoup cet article ne sera pas une révélation. Mais, puisque des articles destinés aux administrateurs novices apparaissent de temps en temps sur Habr, et aussi puisque cet article est issu d'une vraie lettre à un vrai client, nous partagerons toujours ces informations ici. Il y a de fortes chances que cela soit utile à quelqu'un.
Par conséquent, nous expliquons en détail ce qui se passe entre le serveur dans le cloud et le bureau s'ils sont connectés par un réseau de site à site. Notez que certains services sont accessibles uniquement depuis le bureau, et d'autres sont accessibles depuis n'importe où sur Internet.

Expliquons immédiatement ce que notre client voulait sur le serveur 192.168.A.1 vous pouvez venir de n'importe où via RDP, en vous connectant à AAA2:13389, et accès aux autres services uniquement depuis le bureau (192.168.B.0/24)connecté via VPN. De plus, le client avait initialement configuré que la voiture 192.168.B.2 au bureau, il était également possible d'utiliser RDP de n'importe où, en se connectant à BBB1:11111. Nous avons aidé à organiser les connexions IPSec entre le cloud et le bureau, et le spécialiste informatique du client a commencé à se poser des questions sur ce qui se passerait dans tel ou tel cas. Pour répondre à toutes ces questions, nous lui avons en effet écrit tout ce que vous pouvez lire ci-dessous.

Que se passe-t-il sur les connexions à l'intérieur et à l'extérieur du tunnel VPN

Examinons maintenant ces processus plus en détail.

Positionner un

Quand quelque chose est envoyé depuis 192.168.B.0/24 в 192.168.A.0/24 ou de 192.168.A.0/24 в 192.168.B.0/24, il entre dans le VPN. Autrement dit, ce paquet est en outre crypté et transmis entre BBB1 и AAA1mais 192.168.A.1 voit le colis exactement à partir de 192.168.B.1. Ils peuvent communiquer entre eux en utilisant n’importe quel protocole. Les réponses en retour sont transmises de la même manière via le VPN, ce qui signifie que le paquet provenant de 192.168.A.1 pour 192.168.B.1 sera envoyé sous forme de datagramme ESP de AAA1 sur BBB1, que le routeur dépliera de ce côté, retirez-en ce paquet et envoyez-le à 192.168.B.1 sous forme de colis de 192.168.A.1.

Exemple spécifique:

1) 192.168.B.1 fait appel à 192.168.A.1, souhaite établir une connexion TCP avec 192.168.A.1:3389;

2) 192.168.B.1 envoie une demande de connexion depuis 192.168.B.1:55555 (il choisit lui-même le numéro de port pour le feedback ; ci-après, nous utiliserons le numéro 55555 comme exemple du numéro de port que le système sélectionne lors de l'établissement d'une connexion TCP) sur 192.168.A.1:3389;

3) un système d'exploitation qui s'exécute sur un ordinateur avec l'adresse 192.168.B.1, décide de transmettre ce paquet à l'adresse de passerelle du routeur (192.168.B.254 dans notre cas), car d'autres itinéraires plus spécifiques pour 192.168.A.1, il n'en a pas, il transmet donc le paquet via la route par défaut (0.0.0.0/0) ;

4) pour cela, il essaie de trouver l'adresse MAC de l'adresse IP 192.168.B.254 dans la table de cache du protocole ARP. S'il n'est pas détecté, envoie depuis l'adresse 192.168.B.1 diffuser qui a la demande au réseau 192.168.B.0/24. Quand 192.168.B.254 en réponse, il lui envoie son adresse MAC, le système lui transmet un paquet Ethernet et inscrit cette information dans sa table de cache ;

5) le routeur reçoit ce paquet et décide où le transmettre : il a une politique écrite selon laquelle il doit envoyer tous les paquets entre 192.168.B.0/24 и 192.168.A.0/24 transfert via une connexion VPN entre BBB1 и AAA1;

6) le routeur génère un datagramme ESP à partir de BBB1 sur AAA1;

7) le routeur décide à qui envoyer ce paquet, il l'envoie, disons, BBB254 (passerelle FAI) car il existe des itinéraires plus spécifiques vers AAA1, que 0.0.0.0/0, il n'en a pas ;

8) exactement comme déjà dit, il trouve l'adresse MAC pour BBB254 et transmet le paquet à la passerelle du FAI ;

9) Les fournisseurs Internet transmettent un datagramme ESP depuis BBB1 sur AAA1;

10) routeur virtuel activé AAA1 reçoit ce datagramme, le déchiffre et reçoit un paquet de 192.168.B.1:55555 pour 192.168.A.1:3389;

11) le routeur virtuel vérifie à qui le transmettre, trouve le réseau dans la table de routage 192.168.A.0/24 et l'envoie directement à 192.168.A.1, car il a une interface 192.168.A.254/24;

12) pour cela, le routeur virtuel trouve l'adresse MAC de 192.168.A.1 et lui transmet ce paquet via un réseau Ethernet virtuel ;

13) 192.168.A.1 reçoit ce paquet sur le port 3389, accepte d'établir une connexion et génère un paquet en réponse de 192.168.A.1:3389 sur 192.168.B.1:55555;

14) son système transmet ce paquet à l'adresse passerelle du routeur virtuel (192.168.A.254 dans notre cas), car d'autres itinéraires plus spécifiques pour 192.168.B.1, il n'en a pas, il doit donc transmettre le paquet via la route par défaut (0.0.0.0/0) ;

15) comme dans les cas précédents, un système qui s'exécute sur un serveur avec l'adresse 192.168.A.1, trouve l'adresse MAC 192.168.A.254, puisqu'il est sur le même réseau que son interface 192.168.A.1/24;

16) le routeur virtuel reçoit ce paquet et décide où le transmettre : il a une politique écrite selon laquelle il doit envoyer tous les paquets entre 192.168.A.0/24 и 192.168.B.0/24 transfert via une connexion VPN entre AAA1 и BBB1;

17) le routeur virtuel génère un datagramme ESP à partir de AAA1 pour BBB1;

18) le routeur virtuel décide à qui envoyer ce paquet, l'envoie à AAA254 (passerelle FAI, dans ce cas, c'est nous aussi), car il existe des routes plus spécifiques vers BBB1, que 0.0.0.0/0, il n'en a pas ;

19) Les fournisseurs Internet transmettent un datagramme ESP sur leurs réseaux avec AAA1 sur BBB1;

20) routeur allumé BBB1 reçoit ce datagramme, le déchiffre et reçoit un paquet de 192.168.A.1:3389 pour 192.168.B.1:55555;

21) il comprend qu'il devrait être transféré spécifiquement à 192.168.B.1, puisqu'il est sur le même réseau que lui, il a donc une entrée correspondante dans la table de routage, ce qui l'oblige à envoyer des paquets pour l'ensemble 192.168.B.0/24 directement;

22) le routeur trouve l'adresse MAC pour 192.168.B.1 et lui remet ce paquet ;

23) système d'exploitation sur un ordinateur avec l'adresse 192.168.B.1 reçoit un colis de 192.168.A.1:3389 pour 192.168.B.1:55555 et lance les étapes suivantes pour établir une connexion TCP.

Cet exemple décrit de manière assez concise et simplifiée (et ici vous pouvez vous rappeler de nombreux autres détails) ce qui se passe aux niveaux 2 à 4. Les niveaux 1, 5 à 7 ne sont pas pris en compte.

Deuxième position

Si avec 192.168.B.0/24 quelque chose est envoyé spécifiquement à AAA2, cela ne va pas vers le VPN, mais directement. Autrement dit, si l'utilisateur de l'adresse 192.168.B.1 fait appel à AAA2:13389, ce paquet provient de l'adresse BBB1, transmet AAA2, puis le routeur le reçoit et le transmet à 192.168.A.1. 192.168.A.1 ne sait rien de 192.168.B.1, il voit un colis de BBB1, parce qu'il l'a eu. La réponse à cette requête suit donc le chemin général, elle provient de l'adresse de la même manière AAA2 et va à BBB1, et ce routeur envoie cette réponse à 192.168.B.1, il voit la réponse de AAA2, à qui il s'adressait.

Exemple spécifique:

1) 192.168.B.1 fait appel à AAA2, souhaite établir une connexion TCP avec AAA2:13389;

2) 192.168.B.1 envoie une demande de connexion depuis 192.168.B.1:55555 (ce numéro, comme dans l'exemple précédent, peut être différent) sur AAA2:13389;

3) un système d'exploitation qui s'exécute sur un ordinateur avec l'adresse 192.168.B.1, décide de transmettre ce paquet à l'adresse de passerelle du routeur (192.168.B.254 dans notre cas), car d'autres itinéraires plus spécifiques pour AAA2, il n'en a pas, ce qui signifie qu'il transmet le paquet via la route par défaut (0.0.0.0/0) ;

4) pour cela, comme nous l'avons mentionné dans l'exemple précédent, il essaie de trouver l'adresse MAC de l'adresse IP 192.168.B.254 dans la table de cache du protocole ARP. S'il n'est pas détecté, envoie depuis l'adresse 192.168.B.1 diffuser qui a la demande au réseau 192.168.B.0/24. Quand 192.168.B.254 en réponse, il lui envoie son adresse MAC, le système lui transmet un paquet Ethernet et inscrit cette information dans sa table de cache ;

5) le routeur reçoit ce paquet et décide où le transmettre : il a une politique écrite selon laquelle il doit transmettre (en remplacement de l'adresse de retour) tous les paquets provenant de 192.168.B.0/24 vers d'autres nœuds Internet ;

6) puisque cette politique implique que l'adresse de retour doit correspondre à l'adresse basse de l'interface à travers laquelle ce paquet sera transmis, le routeur décide d'abord à qui exactement envoyer ce paquet, et lui, comme dans l'exemple précédent, doit l'envoyer à BBB254 (passerelle FAI) car il existe des itinéraires plus spécifiques vers AAA2, que 0.0.0.0/0, il n'en a pas ;

7) donc le routeur remplace l'adresse de retour du paquet, désormais le paquet vient de BBB1:44444 (le numéro de port, bien sûr, peut être différent) à AAA2:13389;

8) le routeur se souvient de ce qu'il a fait, c'est-à-dire quand AAA2:13389 к BBB1:44444 La réponse arrive, il saura qu'il doit changer l'adresse et le port de destination en 192.168.B.1:55555.

9) maintenant le routeur doit le transmettre au réseau du FAI via BBB254par conséquent, comme nous l'avons déjà mentionné, il trouve l'adresse MAC de BBB254 et transmet le paquet à la passerelle du FAI ;

10) Les fournisseurs Internet transmettent des paquets depuis BBB1 sur AAA2;

11) routeur virtuel activé AAA2 reçoit ce paquet sur le port 13389 ;

12) il existe une règle sur le routeur virtuel qui stipule que les paquets reçus de n'importe quel expéditeur sur ce port doivent être transmis à 192.168.A.1:3389;

13) le routeur virtuel trouve le réseau dans la table de routage 192.168.A.0/24 et l'envoie directement 192.168.A.1 car il a une interface 192.168.A.254/24;

14) pour cela, le routeur virtuel trouve l'adresse MAC de 192.168.A.1 et lui transmet ce paquet via un réseau Ethernet virtuel ;

15) 192.168.A.1 reçoit ce paquet sur le port 3389, accepte d'établir une connexion et génère un paquet en réponse de 192.168.A.1:3389 sur BBB1:44444;

16) son système transmet ce paquet à l'adresse passerelle du routeur virtuel (192.168.A.254 dans notre cas), car d'autres itinéraires plus spécifiques pour BBB1, il n'en a pas, il doit donc transmettre le paquet via la route par défaut (0.0.0.0/0) ;

17) exactement comme dans les cas précédents, un système qui fonctionne sur un serveur avec l'adresse 192.168.A.1, trouve l'adresse MAC 192.168.A.254, puisqu'il est sur le même réseau que son interface 192.168.A.1/24;

18) le routeur virtuel reçoit ce paquet. Il convient de noter qu'il se souvient de ce qu'il a reçu le AAA2:13389 colis de BBB1:44444 et a changé l'adresse et le port de son destinataire en 192.168.A.1:3389, donc le colis de 192.168.A.1:3389 pour BBB1:44444 il change l'adresse de l'expéditeur en AAA2:13389;

19) le routeur virtuel décide à qui envoyer ce paquet, il l'envoie à AAA254 (passerelle FAI, dans ce cas, c'est nous aussi), car il existe des routes plus spécifiques vers BBB1, que 0.0.0.0/0, il n'en a pas ;

20) Les fournisseurs Internet transmettent un paquet avec AAA2 sur BBB1;

21) routeur allumé BBB1 reçoit ce paquet et se souvient que lorsqu'il a envoyé le paquet depuis 192.168.B.1:55555 pour AAA2:13389, il a changé son adresse et son port d'envoi en BBB1:44444, alors c'est la réponse qui doit être envoyée à 192.168.B.1:55555 (en fait, il y a plusieurs autres contrôles là-bas, mais nous n'entrerons pas dans les détails) ;

22) il comprend qu'il doit être transmis directement à 192.168.B.1, puisqu'il est sur le même réseau que lui, il a donc une entrée correspondante dans la table de routage, ce qui l'oblige à envoyer des paquets pour l'ensemble 192.168.B.0/24 directement;

23) le routeur trouve l'adresse MAC pour 192.168.B.1 et lui remet ce paquet ;

24) système d'exploitation sur un ordinateur avec l'adresse 192.168.B.1 reçoit un colis de AAA2:13389 pour 192.168.B.1:55555 et lance les étapes suivantes pour établir une connexion TCP.

Il convient de noter que dans ce cas, l'ordinateur portant l'adresse 192.168.B.1 ne sait rien du serveur avec l'adresse 192.168.A.1, il ne communique qu'avec AAA2. De même, le serveur avec l'adresse 192.168.A.1 ne sait rien de l'ordinateur avec l'adresse 192.168.B.1. Il pense qu'il était connecté à partir de l'adresse BBB1, et il ne sait rien d’autre, pour ainsi dire.

Il convient également de noter que si cet ordinateur accède AAA2:1540, la connexion ne sera pas établie car le transfert de connexion vers le port 1540 n'est pas configuré sur le routeur virtuel, même si sur des serveurs du réseau virtuel 192.168.A.0/24 (par exemple, sur un serveur avec l'adresse 192.168.A.1) et certains services attendent des connexions sur ce port. Si un utilisateur d'ordinateur avec une adresse 192.168.B.1 Il est impératif d'établir une connexion à ce service, celui-ci doit utiliser un VPN, c'est à dire. contacter directement 192.168.A.1:1540.

Il convient de souligner que toute tentative d'établir un lien avec AAA1 (sauf pour la connexion IPSec depuis le BBB1 ne réussira pas. Toute tentative d'établir des liens avec AAA2, à l'exception des connexions au port 13389, ne réussiront pas non plus.
Nous notons également que si AAA2 Si quelqu'un d'autre postule (par exemple, CCCC), tout ce qui est indiqué aux paragraphes 10 à 20 s'appliquera également à lui. Ce qui se passe avant et après cela dépend de ce qui se cache exactement derrière ce CCCC. Nous ne disposons pas de telles informations, nous vous conseillons donc de consulter les administrateurs du nœud avec l'adresse CCCC.

Troisième position

Et inversement, si avec 192.168.A.1 quelque chose est envoyé à un port configuré pour être transféré vers BBB1 (par exemple, 11111), il n'aboutit pas non plus dans le VPN, mais circule simplement depuis AAA1 et entre dans BBB1, et il le transmet déjà quelque part, disons, 192.168.B.2:3389. Il voit ce paquet pas de 192.168.A.1, mais de AAA1. Et quand 192.168.B.2 répond, le colis vient de BBB1 sur AAA1, et arrive plus tard à l'initiateur de la connexion - 192.168.A.1.

Exemple spécifique:

1) 192.168.A.1 fait appel à BBB1, souhaite établir une connexion TCP avec BBB1:11111;

2) 192.168.A.1 envoie une demande de connexion depuis 192.168.A.1:55555 (ce numéro, comme dans l'exemple précédent, peut être différent) sur BBB1:11111;

3) un système d'exploitation qui s'exécute sur un serveur avec l'adresse 192.168.A.1, décide de transmettre ce paquet à l'adresse de passerelle du routeur (192.168.A.254 dans notre cas), car d'autres itinéraires plus spécifiques pour BBB1, il n'en a pas, il transmet donc le paquet via la route par défaut (0.0.0.0/0) ;

4) pour cela, comme nous l'avons mentionné dans les exemples précédents, il essaie de trouver l'adresse MAC de l'adresse IP 192.168.A.254 dans la table de cache du protocole ARP. S'il n'est pas détecté, envoie depuis l'adresse 192.168.A.1 diffuser qui a la demande au réseau 192.168.A.0/24. Quand 192.168.A.254 en réponse, il lui envoie son adresse MAC, le système lui transmet un paquet Ethernet et entre cette information dans sa table de cache ;

5) le routeur virtuel reçoit ce paquet et décide où le transmettre : il a une politique écrite selon laquelle il doit transmettre (en remplacement de l'adresse de retour) tous les paquets provenant de 192.168.A.0/24 vers d'autres nœuds Internet ;

6) puisque cette politique suppose que l'adresse de retour doit correspondre à l'adresse basse de l'interface à travers laquelle ce paquet sera transmis, le routeur virtuel décide d'abord à qui exactement envoyer ce paquet, et lui, comme dans l'exemple précédent, doit envoyer c'est sur AAA254 (passerelle FAI, dans ce cas, c'est nous aussi), car il existe des routes plus spécifiques vers BBB1, que 0.0.0.0/0, il n'en a pas ;

7) cela signifie que le routeur virtuel remplace l'adresse de retour du paquet, désormais c'est un paquet provenant de AAA1:44444 (le numéro de port, bien sûr, peut être différent) à BBB1:11111;

8) le routeur virtuel se souvient de ce qu'il a fait, donc à partir de BBB1:11111 pour AAA1:44444 La réponse arrive, il saura qu'il doit changer l'adresse et le port de destination en 192.168.A.1:55555.

9) maintenant, le routeur virtuel doit le transmettre au réseau du FAI via AAA254, donc comme nous l'avons déjà mentionné, il trouve l'adresse MAC de AAA254 et transmet le paquet à la passerelle du FAI ;

10) Les fournisseurs Internet transmettent des paquets depuis AAA1 à BBB1;

11) routeur allumé BBB1 reçoit ce paquet sur le port 11111 ;

12) il existe une règle sur le routeur virtuel qui stipule que les paquets arrivant de n'importe quel expéditeur sur ce port doivent être transmis à 192.168.B.2:3389;

13) le routeur trouve le réseau dans la table de routage 192.168.B.0/24 et l'envoie directement à 192.168.B.2, car il a une interface 192.168.B.254/24;

14) pour cela, le routeur virtuel trouve l'adresse MAC de 192.168.B.2 et lui transmet ce paquet via un réseau Ethernet virtuel ;

15) 192.168.B.2 reçoit ce paquet sur le port 3389, accepte d'établir une connexion et génère un paquet en réponse de 192.168.B.2:3389 sur AAA1:44444;

16) son système transmet ce paquet à l'adresse de passerelle du routeur (192.168.B.254 dans notre cas), car d'autres itinéraires plus spécifiques pour AAA1, il n'en a pas, il doit donc transmettre le paquet via la route par défaut (0.0.0.0/0) ;

17) de la même manière que dans les cas précédents, un système qui fonctionne sur un ordinateur avec l'adresse 192.168.B.2, trouve l'adresse MAC 192.168.B.254, puisqu'il est sur le même réseau que son interface 192.168.B.2/24;

18) le routeur reçoit ce paquet. Il convient de noter qu'il se souvient de ce qu'il a reçu le BBB1:11111 colis de AAA1 et a changé l'adresse et le port de son destinataire en 192.168.B.2:3389, donc le colis de 192.168.B.2:3389 pour AAA1:44444 il change l'adresse de l'expéditeur en BBB1:11111;

19) le routeur décide à qui envoyer ce paquet. Il l'envoie, disons, BBB254 (passerelle FAI dont nous ne connaissons pas l'adresse exacte), car il n'existe plus de routes spécifiques vers AAA1, que 0.0.0.0/0, il n'en a pas ;

20) Les fournisseurs Internet transmettent un paquet avec BBB1 sur AAA1;

21) routeur virtuel activé AAA1 reçoit ce paquet et se souvient que lorsqu'il a envoyé le paquet depuis 192.168.A.1:55555 pour BBB1:11111, il a changé son adresse et son port d'envoi en AAA1:44444. Cela signifie que c'est la réponse qui doit être envoyée à 192.168.A.1:55555 (en fait, comme nous l'avons mentionné dans l'exemple précédent, il y a aussi plusieurs autres contrôles, mais cette fois nous ne les approfondissons pas) ;

22) il comprend qu'il doit être transmis directement à 192.168.A.1, puisqu'il est sur le même réseau que lui, cela signifie qu'il a une entrée correspondante dans la table de routage qui l'oblige à envoyer des paquets à l'ensemble du réseau. 192.168.A.0/24 directement;

23) le routeur trouve l'adresse MAC pour 192.168.A.1 et lui remet ce paquet ;

24) système d'exploitation sur le serveur avec l'adresse 192.168.A.1 reçoit un colis de BBB1:11111 pour 192.168.A.1:55555 et lance les étapes suivantes pour établir une connexion TCP.

Exactement la même chose que dans le cas précédent, dans ce cas le serveur avec l'adresse 192.168.A.1 ne sait rien de l'ordinateur avec l'adresse 192.168.B.1, il ne communique qu'avec BBB1. Ordinateur avec adresse 192.168.B.1 ne sait rien non plus du serveur avec l'adresse 192.168.A.1. Il pense qu'il était connecté à partir de l'adresse AAA1, et le reste lui est caché.

conclusion

C’est ainsi que tout se passe pour les connexions à l’intérieur du tunnel VPN entre le bureau du client et l’environnement cloud, ainsi que pour les connexions en dehors du tunnel VPN. Et si vous avez des questions ou avez besoin de notre aide pour résoudre des problèmes de cloud, contactez-nous 24h/7 et XNUMXj/XNUMX.

Source: habr.com

Ajouter un commentaire