Récemment, j'ai trouvé des sites Web qui génèrent une URL publique pour un hôte local donné. Je suis extrêmement intéressé à comprendre comment un hôte local peut être partagé sur Internet.
Après avoir beaucoup cherché, je me suis rendu compte qu'il s'agissait de "SSH Tunneling" et "Port Forwarding". Je ne connais pas grand-chose en réseau, mais souhaiterais en savoir plus sur la manière de générer une URL publique d'un hôte local.
Quelqu'un peut-il m'expliquer comment se passe ce processus? Ou peut m'indiquer les liens qui peuvent m'aider à comprendre l'ensemble du processus.
networking
port-forwarding
localhost
tunnel
ssh-tunnel
Wasim Thabraze
la source
la source
Réponses:
Tout d’abord, si votre ordinateur est connecté à Internet, il possède une sorte d’adresse IP publique (ou du moins votre routeur et pas votre ordinateur).
Cette adresse est par exemple 123.123.123.123. Selon votre FAI, cette adresse peut changer chaque fois que vous vous déconnectez et vous reconnectez à Internet. D'autres ordinateurs sur Internet peuvent atteindre votre réseau ou votre ordinateur à l'aide de cette adresse IP 123.123.123.123.
Désormais, si vous souhaitez configurer un serveur Web local sur Internet, vous devez configurer votre routeur (ou votre ordinateur) afin de permettre aux utilisateurs externes d’accéder à votre ordinateur via le port 80 (protocole HTTP) ou le port 443 (protocole https).
Dès que vous aurez défini ces règles, d’autres pourront accéder au site Web en utilisant votre adresse IP publique 123.123.123.123.
Maintenant, personne n'aime se souvenir des adresses IP comme 123.123.123.123 et c'est pourquoi il existe un système appelé DNS (Domain Name Service). Ce service vous permet de connecter des adresses telles que 123.123.123.123 à un nom tel que mywebsite.de. Donc, si quelqu'un tape www.mywebsite.de, le système DNS le résoudra en 123.123.123.123, qui pointe vers votre ordinateur.
J'espère que c'est en quelque sorte un début.
la source
Si vous créez un tunnel SSH, vous créez un tunnel sécurisé vers l'ordinateur distant de votre réseau local (comme un VPN mais uniquement vers un seul ordinateur / périphérique). Ainsi, si vous accédez à votre serveur IP (réseau local IP), cela fonctionnera. comme si vous étiez dans votre réseau local (à la maison ou dans votre entreprise).
La redirection de port est différente car elle indique à votre modem / routeur d'ouvrir (et de diriger ("transférer")) les requêtes externes vers votre IP publique vers le périphérique serveur que vous avez choisi dans votre réseau local.
Je pense que vous faites principalement référence à la redirection de port car vous pouvez, en théorie, ouvrir votre "hôte local" à Internet. Techniquement, ce n'est pas "localhost" mais votre serveur Web qui écoute sur plus d'IP (votre IP LAN) que simplement "localhost" ...
Vous aurez toujours besoin de transférer le port pour permettre à SSH de fonctionner.
la source
80.100.120.1
, mais n'accepte que les connexions delocalhost
Port3306
. Ensuite, vous créez d’abord un tunnel SSH de votre ordinateur au serveur.80.100.120.1
. Disons que vous voulez que lorsque vous vous connectez àlocahost:3306
il va se connecter à80.100.120.1:3306
, alors vous créez un tunnel avec la commande suivante:ssh -L 3306:localhost:3306 80.100.120.1 -N
Après cela, vous pouvez vous connecter au serveur MySQL via votre ordinateur.Pour répondre correctement, nous aurions besoin des adresses des sites Web dont vous parlez pour vérifier leur fonctionnement.
Un moyen possible pourrait être que:
C'est la façon dont Teamviewer fonctionne (bien qu'avec un enregistrement DNS mais avec un identifiant interne)
la source