Je peux utiliser mon ordinateur personnel A pour me connecter par SSH à un serveur B où l'accès au réseau externe est bloqué. En d'autres termes, toutes les requêtes Internet envoyées par B génèrent une erreur: le réseau est inaccessible . Puis-je rediriger toutes ces demandes pour passer par l'ordinateur A qui a un accès illimité à Internet?
Le serveur B est un serveur qui héberge l'un de mes sites Web. Je souhaite télécharger des fichiers afin d'installer des logiciels. Mais la connexion est bloquée. J'ai pu transférer des fichiers , mais il a été compliqué parce que les versions logicielles sont différentes sur A et B , de sorte que les dépendances où il est différent et il a fallu différents fichiers sur A et B .
J'ai cherché sur Internet et il me semble que j'ai besoin d'un tunnel inverse. Mais je n'ai trouvé que des solutions où un port est redirigé . Mais ce n'est pas ce dont j'ai besoin car je ne veux pas que B accède à A mais à Internet.
Réponses:
Vous pouvez exécuter un proxy sur l'ordinateur A auquel l'ordinateur B se connecterait ensuite pour accéder à Internet via l'ordinateur A.
Quelque chose comme ça
Installez un proxy comme squid sur A qui écoute sur le port 3128, puis vous pouvez ssh sur le serveur avec ceci -
ssh -L 3128:127.0.0.1:3128 user@B
Cela permettra à B d'accéder à Internet via A
la source
Il suffit d'ajouter quelques étapes plus claires aux réponses de @Lawrence et @ SpiRail.
Effectuez la configuration comme suit:
Configuration sur l'hôte A:
yum install squid
http_access deny all
puis ajoutezhttp_access allow all
dans /etc/squid/squid.conf/etc/squid/squid.conf
comme suit:Configuration sur l'hôte B:
source /etc/environment
Maintenant, notre configuration est terminée.
Création d'un tunnel SSH avec la redirection de port à distance
Exécutez la commande SSH suivante à partir de l'hôte A
ssh -R 3129:localhost:3128 user@HostB
Si vous souhaitez créer un tunnel SSH persistant, vous pouvez utiliser l'autossh comme suit:
autossh -M 20000 -f -NT -R 3129:localhost:3128 user@HostB
Pour que la commande autossh ci-dessus fonctionne, vous devez configurer les clés SSH de HostA à HostB
Vérification d'Internet:
wget https://google.com
Diagramme de flux de trafic :
la source
La réponse de @Lawrence était assez bonne pour que je puisse tout comprendre. Mais voici les étapes plus détaillées que j'ai utilisées.
J'ai utilisé cela pour utiliser mon dongle 4g d'ordinateurs portables pour acheminer Internet vers un Raspberry Pi avec une connexion fixe à un routeur wifi.
Si votre hôte est un mac: installez squidman http://squidman.net/squidman/
(pas seulement du calmar générique, j'ai eu trop de mal à le construire) Les paramètres par défaut me semblaient assez bons.
connectez-vous à 4g connectez-vous au wifi - configurez une adresse IP statique sur votre wifi et supprimez l'adresse de la passerelle (sauf si vous faites des choses avancées) sinon vous obtenez deux routes par défaut et c'est très ennuyeux. - assurez-vous que votre routeur wifi n'utilise pas la même plage 192.168.xy (configurez un "x" différent dans ce cas)
Sur le PI
avec visudo ajouter le texte:
Maintenant, wget fonctionnera et sudo apt-get vous permettra d'installer des packages.
Si vous voulez aussi git c'est ici: /programming/128035/how-do-i-pull-from-a-git-repository-through-an-http-proxy
la source
visudo
ici? Où ajoutez-vous le texte? (Je ne peux pas l'utilisersudo
sur mon hébergement Web)