Comment accéder à un serveur fonctionnant sur un réseau domestique, derrière un routeur?

22

D'accord, j'ai donc un PC dans mon réseau domestique, exécutant Ubuntu sur une machine virtuelle avec un serveur openssh installé.

  1. Comment puis-je y accéder à distance depuis un autre ordinateur en dehors du réseau domestique, en utilisant Internet?
  2. Quelle adresse IP dois-je utiliser pour me connecter?
  3. Quel type de redirection de port dois-je faire?
Hugo Lobo
la source
Quel type de réseau la VM utilise-t-elle? Pour un usage domestique typique, un pont est recommandé, puis à des fins de réseau, la machine virtuelle sera équivalente à une machine physique, donc vous faites simplement la redirection de port sur votre routeur comme d'habitude.
fkraiem
Sous Paramètres réseau sur ma machine virtuelle, il indique que la carte réseau est connectée au NAT. Voici une capture d'écran: lien Dois-je changer cela?
Hugo Lobo
Le mettre en pont rendra les choses plus simples, oui. (Fondamentalement, avec NAT, vous devez faire la redirection de port deux fois, sur votre routeur et dans VBox.)
fkraiem
en fait, vous n'avez besoin d'aucune redirection de port lorsque la machine à partir de laquelle vous souhaitez vous connecter est visible sur votre serveur local -L- utilisez simplement la commande flag at ssh - mais assurez-vous que la connexion est maintenue - exécutez htop ou quelque chose de similaire à conserver le transfert de données.
Roomy

Réponses:

22

Il y a plusieurs choses que vous devez faire:

1) Comme fkraiem mentionné dans son commentaire, assurez-vous que votre VM est accessible sur le réseau local. L'utilisation d'une connexion réseau «pont» dans les paramètres de la machine virtuelle devrait accomplir cela. Ensuite, en utilisant l'un de vos autres ordinateurs (même votre hôte), vérifiez si vous pouvez vous connecter au serveur SSH. Si vous le pouvez, félicitations, passons à l'étape suivante.

2) Ensuite, vous devez savoir comment rediriger le port sur votre routeur. Puisque vous n'avez pas mentionné le routeur dont vous disposez, vous devrez le découvrir vous-même. Le port 22 est celui utilisé par SSH. Bien sûr, vous pouvez écouter sur un port supérieur du routeur pour éviter que vos journaux ne soient remplis par un groupe de script kiddies essayant de pirater votre serveur, puis de transférer le port à 22 sur votre serveur. Par exemple, imaginons que votre IP locale pour votre serveur est 192.168.0.10. Votre IP WAN (Internet) est 99.99.99.99.

99.99.99.99:60022 -> Routeur -> 192.168.0.10:22

Ce que vous voulez faire est de dire à votre routeur d'écouter sur le port 60022 et de le transmettre à IP 192.168.0.10 et au port 22.

Pour savoir quelle est votre adresse IP WAN, il suffit de google «quelle est mon adresse IP». Il existe d'autres moyens, mais c'est le plus simple.

Maintenant, après avoir configuré le routeur, essayez de vous connecter avec un ordinateur extérieur à votre IP WAN avec le port supérieur. Vous pouvez attacher votre téléphone portable à un ordinateur portable pour y parvenir.

Si vous pouviez vous connecter avec cela, félicitations encore.

3) Maintenant, vous devez vous assurer que vos adresses IP restent statiques sur votre réseau local et vous devez obtenir une entrée DNS dynamique pour votre adresse IP WAN. De cette façon, vous utiliseriez un nom de domaine au lieu de votre IP WAN. Google «DNS dynamique» pour trouver un service gratuit.

J'espère que cela a aidé.

G Trawo
la source
Est-ce "99.99.99.99:60022 -> Routeur -> 192.168.0.10:22" la commande réelle? que signifie "routeur"? Je veux dire, qu'est-ce qui se passe ici?
m4l490n
@ m4l490n Non, ce n'est pas une commande. C'est simplement un moyen de montrer le "flux" de la connexion. 99.99.99.99 n'est qu'une adresse IP que j'ai choisie. J'aurais également pu afficher XXX.XXX.XXX.XXX, mais je trouve les chiffres plus faciles à comprendre. 60022 est le port "extérieur" sur lequel le routeur écoute. Il effectue ensuite la redirection de port vers l'adresse interne de 192.168.0.10 et le déplace vers le port 22. La raison pour laquelle je ne suis pas entré dans les détails est que OP n'a pas indiqué quel routeur (et firmware) il utilisait.
G Trawo
4

Ma configuration personnelle est la suivante:

  1. Sur le port de retransmission 22 du routeur de la machine distante au 2222 de la machine locale, disons 192.168.0.33 par exemple. De cette façon, vous pouvez toujours avoir un accès ssh au système d'exploitation principal sur la machine, tandis que 2222 est pour le système d'exploitation virtuel.

    entrez la description de l'image ici

    1. Sur la boîte virtuelle, transférez le port 2222 de l'OS hôte 192.168.0.33 vers le port 22. de l'OS invité. L'adresse IP de l'invité peut être trouvée avec la ifconfigcommande sur l'invité lui-même.

    entrez la description de l'image ici

Maintenant, si vous connaissez l'IP de votre routeur, vous pouvez ssh vers l'IP de votre routeur, et il sera automatiquement transféré vers le port 2222 de votre machine physique. La machine physique donnera cette connexion au port 22 de la machine virtuelle (à condition que la VM soit en cours d'exécution).

Si vous souhaitez ssh à partir du réseau local, utilisez ssh -p 222 192.168.0.33

Sergiy Kolodyazhnyy
la source