Proxy SOCKS avec SSH

Le problème est le suivant : à l'ESIEE, dans la plupart des sous-réseaux on ne peut pas dialoguer avec l'extérieur de l'école, le seul moyen étant de passer par le proxy HTTP avec lequel on ne peut bien sûr faire que du HTTP.
Heureusement, le Club*Nix est là !

Proxy SOCKS

Le proxy SOCKS, au contraire du proxy HTTP permet de faire passer n'importe quel protocole. Il est très facile d'en créer avec OpenSSH, avec la commande ci-dessous.

ssh -D 10000 user@clubnix101.esiee.fr

OpenSSH va écouter sur le port 10000 et transférer tout ce qui arrive dessus via un tunnel SSH vers clubnix101.

Utilisation du proxy

Il s'agit maintenant de configurer nos applis pour qu'elles utilisent le proxy. Les environnements de bureau Gnome et KDE peuvent être configurés pour utiliser un proxy SOCKS, mais je vais ici présenter une technique plus globale.

Tsocks

Tsocks est une librairie permettant d'utiliser de manière transparente un proxy SOCKS. Après l'avoir installée de la manière appropriée à votre distribution, il faut éditer le fichier de configuration /etc/tsocks.conf afin d'indiquer l'emplacement de notre proxy.

server = 127.0.0.1
server_port = 10000

Le fonctionnement ensuite est simple, tsocks <commande> permet de lancer un programme qui verra ses connexions réseaux redirigées de manière transparente.
Afin que tous les programmes l'utilisent, on peut rajouter la librairie à la variable d'environnement LD_PRELOAD, la commande tsocks on remplit cet office. Si celle-ci ne donne rien comme chez moi, on pourra utiliser :

export LD_PRELOAD=$LD_PRELOAD:/usr/lib/libtsocks.so

(à adapter selon l'emplacement de la librairie) .