Supposons que j'ai accès à un serveur SSH qui prend en charge la tunnellisation et que je suis sur un PC qui exécute * ubuntu, comment configurer un proxy SOCKS local qui tunnelise le trafic via ce serveur SSH avant d'accéder à Internet?
Le ssh
binaire que vous utilisez lorsque vous vous connectez à un serveur exécutant ssh prend en charge l'exécution d'un proxy SOCKS prêt à l'emploi, avec l' -D
indicateur. Exemple:
ssh -D 1337 -f -C -q -N user@remote -p 22
-D 1337
indique ssh
de lancer un serveur SOCKS sur le port 1337 localement.-f
fait passer le processus en arrière-plan.-C
Active la compression.-q
active le "mode silencieux", car le but ici est uniquement de tunneler, nous ne nous soucions pas vraiment de la sortie d'erreur et autres-N
indique ssh
qu'aucune commande ne sera envoyée (se -f
plaint si nous ne le spécifions pas).-p
spécifie le port à utiliser; de toute évidence, cette valeur est par défaut de 22, donc la déclaration ci-dessus est inutile, mais incluse pour plus de clarté.Lorsque votre serveur SOCKS est opérationnel, vous devez simplement vous assurer que votre application (généralement un navigateur Web) essaie de se connecter au proxy SOCKS local, et non à Internet normal.
Dans Firefox 29 (expliqué ici à titre d'exemple), cela est possible en allant dans le menu (les trois saucisses en haut à droite), puis Préférences> Avancé> Réseau> (Connexion)> Paramètres ... - assurez-vous que vous remplissez le champ SOCKS! Étant donné que votre proxy est sur le même système, vous pouvez utiliser localhost
ou 127.0.0.1
pour pointer vers le port sur lequel vous le définissez sur le même système.
Si vous avez besoin que vos requêtes DNS soient également tunnelisées (si ce n'est pas le cas, vos recherches DNS révéleront les sites Web que vous essayez de visiter), vous pouvez simplement vérifier sur "DNS distant" ou bien effectuer cette configuration complète dans about:config
. Dans le dernier cas, ouvrez-le et définissez ces valeurs:
network.proxy.socks : 127.0.0.1
network.proxy.socks_port : 1337
network.proxy.socks.remote_dns : true
network.proxy.socks_version : 5
network.proxy.type : 1
Vous pouvez également avoir besoin de ce paramètre pour exclure certains domaines ou sites du tunneling:
network.proxy.no_proxies_on : localhost, 127.0.0.1, 192.168.0.0/24, .yourcompany.com
Cette réponse a été écrite depuis la France, mais tunnelée via la Suède :)
-D
et se-p
séparer.ssh -D 1337 user@host