SSH + VPN + Proxy

Dans certains cas (déplacement professionnel, réseau peu sûr/partiellement bloqué, ou tout simplement confidentialité pour la navigation), je désire protéger ma navigation.

Il est possible d’utiliser une connexion SSH pour se connecter une machine distante et de s’en servir comme relais via OpenVPN.

Préparons d’abord notre serveur (testé sur Debian) :

En premier, notre serveur VPN avec le fichier de configuration script d’init ( /etc/openvpn-server.conf par exemple )
remote localhost
dev tun
ping 30
ifconfig 192.168.5.1 192.168.5.2
proto tcp-server
port 6124

On lance le daemon avec sudo openvpn --conf /etc/openvpn-server.conf

Puis le proxy ( squid 3 dans mon cas)

Il faut juste ajouter dans les règles acl l’ip du client (192.168.5.2), rechercher la chaine acl localhost src 127.0.0.1/32 & insérer à la suite :
acl localhost src 192.168.5.2

Un petit /etc/init.d/squid3 restart pour prendre en compte les modifications.

Depuis notre portable / poste de travail, on se connecte à notre serveur  :

ssh -L 6124:localhost:6124 utilisateur@monserveur

(L’option -L 6124:localhost:6124 permet que le port 6124 en écoute qui se trouve sur le serveur sera également en écoute sur l’interface localhost:6124 sur la machine cliente)

Lançons maintenant la connexion VPN qui passera via le tunnel SSH

openvpn --config /etc/openvpn-client.conf

Contenu du fichier openvpn-client.conf
remote localhost
dev tun
ping 30
ifconfig 192.168.5.2 192.168.5.1
proto tcp-client
port 6124

Si tout va bien, on devrait voir pousser une nouvelle interface réseau (tun0 dans la plupart des cas).

Ensuite, dans notre navigateur, on paramètre le proxy sur HTTP / IP: 192.168.5.1 / port: 3128.

Dans la plupart des cas, je paramètre une nouvelle session de navigateur utilisant le proxy, me permettant de ‘choisir’ où va sortir le traffic.

Tags: , , , ,

Leave a Reply