Adresses IP externes, masques de sous-réseau et SSH - Comment cela fonctionne-t-il?


2

Je ne comprends vraiment pas comment je peux me connecter à un ordinateur spécifique de mon réseau sur un ordinateur d'un autre réseau via Internet. Par exemple, un groupe de Beowulf est constamment en cours d'exécution chez moi. Je l'utilise pour des calculs difficiles, tels que renforcer les mots de passe à partir d'une liste de mots. Maintenant, disons que je suis sur mon ordinateur portable mais ailleurs sur le réseau local de quelqu'un d'autre. Je connais l'adresse IP externe du nœud maître du cluster beowulf, et c'est la seule connectée à Internet sur tous les nœuds. Cependant, lorsque je reçois l'adresse IP externe sur mon bureau sur le même réseau local que le cluster, j'obtiens la même adresse IP externe. D'après ce que j'ai compris, l'adresse IP externe sera la même pour tous les périphériques de ce réseau local. L'adresse IP externe du nœud principal du cluster beowulf, mon bureau, et mon téléviseur intelligent (par exemple) devrait tous être identiques car ils passent tous par le même modem, non? Et le masque de sous-réseau détermine le nœud du réseau local (IP externe partagée entre tous les périphériques) d'où proviennent les données, n'est-ce pas? Si tel est le cas, comment puis-je me connecter spécifiquement au nœud maître du cluster via SSH pour lui envoyer des informations sur lesquelles travailler si le bureau SSH 22 est également ouvert? Si deux machines ou plus sont sur un réseau local et que toutes les machines exécutent SSH et que ce réseau local ne peut être référencé que par l'adresse IP externe partagée par les deux machines, comment puis-je spécifier la machine de ce réseau local à laquelle je souhaite me connecter? Comment puis-je me connecter spécifiquement au nœud maître du cluster via SSH pour lui envoyer des informations sur lesquelles travailler si le bureau SSH 22 est également ouvert? Si deux machines ou plus sont sur un réseau local et que toutes les machines exécutent SSH et que ce réseau local ne peut être référencé que par l'adresse IP externe partagée par les deux machines, comment puis-je spécifier la machine de ce réseau local à laquelle je souhaite me connecter? Comment puis-je me connecter spécifiquement au nœud maître du cluster via SSH pour lui envoyer des informations sur lesquelles travailler si le bureau SSH 22 est également ouvert? Si deux machines ou plus sont sur un réseau local et que toutes les machines exécutent SSH et que ce réseau local ne peut être référencé que par l'adresse IP externe partagée par les deux machines, comment puis-je spécifier la machine de ce réseau local à laquelle je souhaite me connecter?


"Et le masque de sous-réseau détermine le nœud du réseau local (IP externe partagée entre tous les périphériques) d'où proviennent les données, n'est-ce pas?" Non, c'est faux. Vous avez affaire à la traduction d'adresses réseau (NAT), allez à la recherche de son fonctionnement et de ce qu'est le transfert de port.
cʜιᴇ007

Réponses:


3

Masques de sous-réseau

Le masque de sous-réseau n’est utilisé que pour regrouper les ordinateurs d’un réseau en sous-réseaux.

L'adresse IPv4 contient quatre octets, soit 32 bits au total. Supposons que vous avez quelques ordinateurs sur votre réseau local et que ces adresses IP et masques de sous-réseau sont attribués:

  1. IP 192.168.0.1, masque255.255.255.0
  2. IP 192.168.0.6, masque255.255.255.0
  3. IP 192.168.1.1, masque255.255.255.248
  4. IP 192.168.1.6, masque255.255.255.248
  5. IP 192.168.1.12, masque255.255.255.248

Pour déterminer quels ordinateurs appartiennent à quel sous-réseau, nous devons appliquer le masque aux adresses IP:

  • Convertir les IPs et les masques en binaires

    1. IP 11000000 10101000 00000000 00000001, masque11111111 11111111 11111111 00000000
    2. IP 11000000 10101000 00000000 00000110, masque11111111 11111111 11111111 00000000
    3. IP 11000000 10101000 00000001 00000001, masque11111111 11111111 11111111 11111000
    4. IP 11000000 10101000 00000001 00000110, masque11111111 11111111 11111111 11111000
    5. IP 11000000 10101000 00000001 00001100, masque11111111 11111111 11111111 11111000
  • Effectuer des opérations "et" logiques, c'est-à-dire. copier des 1bits où IP et masque ont tous deux 1et remplir les trous avec 0s

    1.    11000000 10101000 00000000 00000001
        & 11111111 11111111 11111111 00000000
        -------------------------------------
        = 11000000 10101000 00000000 00000000
    
    2.    11000000 10101000 00000000 00000110
        & 11111111 11111111 11111111 00000000
        -------------------------------------
        = 11000000 10101000 00000000 00000000
    
    3.    11000000 10101000 00000001 00000001
        & 11111111 11111111 11111111 11111000
        -------------------------------------
        = 11000000 10101000 00000001 00000000
    
    4.    11000000 10101000 00000001 00000110
        & 11111111 11111111 11111111 11111000
        -------------------------------------
        = 11000000 10101000 00000001 00000000
    
    5.    11000000 10101000 00000001 00001100
        & 11111111 11111111 11111111 11111000
        -------------------------------------
        = 11000000 10101000 00000001 00001000
    
  • Convertir les résultats en décimal

    1. 192.168.0.0
    2. 192.168.0.0
    3. 192.168.1.0
    4. 192.168.1.0
    5. 192.168.1.8
  • Ce sont des adresses de sous-réseau de nos ordinateurs. Si les ordinateurs ont des adresses de sous-réseau identiques, ils appartiennent au même sous-réseau.

    • Les ordinateurs 1 et 2 appartiennent à un sous-réseau
    • Les ordinateurs 3 et 4 appartiennent à un autre sous-réseau
    • L'ordinateur 5 appartient à un troisième sous-réseau

Les sous-réseaux importent uniquement dans votre réseau local, c.-à-d. ordinateurs connectés à un commutateur . Le commutateur est ensuite connecté à un routeur qui achemine les paquets réseau entre le commutateur et un modem. Vous avez probablement tous les trois dans un seul appareil.

Commutateur, routeur et modem

  • Commutateur - vous permet de connecter plus de deux ordinateurs ensemble. Vous ne pouvez pas simplement souder plusieurs câbles réseau ensemble et les connecter à de nombreux ordinateurs, vous devez utiliser un commutateur.

  • Modem - fournit une conversion bidirectionnelle entre différentes normes de réseau. Votre fournisseur de services Internet utilise des normes de réseau différentes de celles des réseaux locaux. Vous avez donc besoin d'un modem qui traduira leurs paquets réseau dans votre format et ceux de votre paquet dans leur format.

  • Routeur - Les routeurs routent les paquets entre deux réseaux. Vous ne pouvez pas simplement connecter deux commutateurs de réseaux différents, vous avez besoin d'un routeur entre eux. Le routeur a une adresse IP sur chaque réseau auquel il est connecté.

Votre réseau ressemble un peu à ceci:

            +-----------------------------------------+        
            |                                         |        
    PC1 +---------+                                   |        
            |     |                                   |        
            |   +--------+   +--------+   +-------+   |        
    PC2 +-------+ Switch +---+ Router +---+ Modem +-------+ ISP
            |   +--------+   +--------+   +-------+   |        
            |     |                                   |        
    PC3 +---------+                                   |        
            |                                         |        
            +-----------------------------------------+        

Comment fonctionne le routage?

Les ordinateurs de gauche ont trois adresses IP, par exemple:

  • 192.168.0.1
  • 192.168.0.2
  • 192.168.0.3

Il y a aussi l'adresse côté réseau de votre routeur.

Mais sur le côté droit, vous avez une seule adresse IP, dite "IP publique". C'est l'adresse Internet du routeur. Quand quelqu'un de l'extérieur veut parler à un ordinateur de votre réseau, comment précise-t-il à quel ordinateur il veut parler?

La réponse est: il ne peut pas. Vous ne pouvez pas simplement commencer à parler à un ordinateur à l'intérieur de votre réseau depuis l'extérieur. Les personnes sur Internet peuvent uniquement communiquer avec votre routeur.

Ce type de mise en réseau serait tout à fait inutile, cependant, et apparemment, vous pouvez télécharger des données depuis Internet. Alors, comment ça marche? Cela fonctionne parce que vous avez initié la connexion. Lorsqu'un ordinateur du réseau tente de communiquer avec le monde extérieur, le routeur attribue l'un de ses ports côté Internet à un port de cet ordinateur. Si quelqu'un répond à ce port, le routeur sait où il doit transférer ces paquets. Cette technique s'appelle la traduction d'adresse réseau (NAT en abrégé).

Comment vous connectez-vous aux ordinateurs de votre réseau depuis l'extérieur?

Vous ne pouvez pas configurer votre routeur correctement, car c'est l'ordinateur à l'intérieur de votre réseau qui doit établir la connexion. Cela ne fonctionnerait que si l'ordinateur à l'autre extrémité a une adresse IP publique, ce qui est peu probable. Le réseau ressemble probablement à ceci:

    +----------------+                            +-----------------------+
    |                |                            |                       |
    |  Your cluster  |                            |     Other network     |
    |                |                            |                       |
    |    PC1 +---+   |                            |   +---+ Other PC      |
    |            |   |     +----------------+     |   |                   |
    |            |   |     |                |     |   |     The computer  |
    |    PC2 +-------------+  THE INTERNET  +-------------+ you're using  |
    |            |   |     |                |     |   |     to connect    |
    |            |   |     +----------------+     |   |                   |
    |    PC3 +---+   |                            |   +---+ Other PC      |
    |                |                            |                       |
    +----------------+                            +-----------------------+

Ces deux réseaux ont des routeurs sur leur frontière et utilisent le NAT. Par conséquent, la configuration d'une connexion en amont ne fonctionnera pas.

Comment se connecter à votre cluster?

Vous devez configurer la redirection de port dans votre routeur.

La redirection de port lie de manière permanente l'un des ports Internet du routeur à un port de l'un de vos ordinateurs.

Par exemple, vous pouvez transférer le port 5432 de votre routeur sur le port 22 (port SSH par défaut) de PC1 dans votre cluster. Ensuite, vous pouvez SSH sur votre IP publique sur le port 5432 et vous allez vous connecter à PC1 sur le port 22.

Si vous souhaitez vous connecter à un autre PC de votre cluster, vous avez deux moyens de le faire:

  • Transférer un autre port sur une autre machine

  • Utilisez PC1. Le PC1 est connecté à votre réseau local et peut communiquer avec d’autres ordinateurs du réseau local sans routage ni NAT. Vous pouvez SSH dans PC1 via le port transféré, puis SSH de PC1 à PC2. Ceci est moins efficace qu'une connexion directe, mais ne nécessite aucune configuration supplémentaire.


C'est une sacrée réponse. Merci beaucoup!
Zulfe

0

Je pense que vous devriez regarder comment fonctionne le sous-réseau IPv4 lorsque vous avez le mauvais bout du bâton, puis lisez à propos de NAT-PMP. Cependant, en un mot:

Vous avez deux réseaux, Internet et votre réseau. Ceux-ci sont complètement séparés, sauf pour le routeur NAT au milieu. Lorsque vous souhaitez vous connecter au monde extérieur (c.-à-d. Un sous-réseau extérieur au vôtre), votre ordinateur contacte la "passerelle" ou la "route par défaut". Ce sera votre routeur NAT. Le routeur fait ensuite passer le trafic entre votre ordinateur et Internet à l'aide d'un ensemble de règles internes et temporaires décrivant la connexion.

Pour vous connecter à votre réseau depuis le monde extérieur, vous devez configurer des règles de mappage de ports NAT. Votre adresse IP externe est juste cela; une adresse IP identifiant le port WAN de votre routeur, sa connexion à Internet, que tous vos ordinateurs partagent via NAT. À l'aide de l'interface de votre routeur, vous devez définir des règles permettant de rediriger le trafic vers certains ports de l'interface WAN de votre routeur vers des services de votre réseau interne.

Par exemple, vous avez trois ordinateurs: 192.168.0.100, 192.168.0.101, 192.168.0.102, sous-réseau masqué 255.255.255.0. Ces trois ordinateurs exécutent tous SSH sur le port 22. Votre adresse IP externe est 123.4.5.6.

Pour accéder aux trois serveurs SSH distincts, vous devez mapper trois ports externes sur les trois combinaisons adresse IP / port internes. par exemple

123.4.5.6:22222 -> 192.168.0.100:22
123.4.5.6:22223 -> 192.168.0.101:22
123.4.5.6:22224 -> 192.168.0.102:22

Cette fonctionnalité est intégrée à votre routeur NAT - vous devriez pouvoir trouver des instructions spécifiques pour la configurer pour votre modèle de routeur. Je vous recommande toutefois de commencer par lire un peu!

HTH!

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.