Comment configurer un proxy SOCKS local qui achemine le trafic via SSH?

26

Supposons que je dispose d’un serveur SSH prenant en charge le tunneling et que je suis sur un PC exécutant * ubuntu, comment configurer un proxy SOCKS local qui achemine le trafic via ce serveur SSH avant d’atteindre Internet?

    
posée pzkpfw 20.05.2014 - 14:34
la source

1 réponse

37

Le binaire ssh 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'indicateur -D . Exemple:

ssh -D 1337 -f -C -q -N [email protected] -p 22
  • -D 1337 dit à ssh de lancer localement un serveur SOCKS sur le port 1337.
  • -f forge le processus en arrière-plan.
  • -C Active la compression.
  • -q active le "mode silencieux", étant donné que le but ici est uniquement de créer un tunnel, nous ne nous soucions pas vraiment de la sortie d'erreur.
  • -N indique à ssh qu'aucune commande ne sera envoyée ( -f se plaint si nous ne le spécifions pas).
  • -p spécifie quel port utiliser; de toute évidence, cela est par défaut à 22, donc la déclaration ci-dessus est inutile, mais inclus 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) tente de se connecter au proxy SOCKS local, et non à l’Internet standard.

Dans Firefox 29 (expliqué ici à titre d’exemple), ceci est réalisé en allant dans le menu (les trois saucisses en haut à droite), suivi de Preferences & gt; Avancé & gt; Réseau & gt; (Connexion) & gt; Paramètres ... - assurez-vous de ne remplir que le champ SOCKS! Comme 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 l'avez défini sur le même système.

Si vous souhaitez que vos requêtes DNS soient également tunnelisées (si ce n’est pas le cas, vos recherches DNS indiqueront les sites Web que vous essayez de visiter), vous pouvez simplement vérifier "DNS distant" ou bien effectuer toute cette configuration. dans du code%. 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 par tunnel via la Suède:)

    
réponse donnée pzkpfw 20.05.2014 - 14:34
la source

Lire d'autres questions sur les étiquettes