Je vais vous expliquer dans ce topic comment faire pour utiliser votre serveur vpn distant comme route par défaut (donc tout le traffic internet sera vu comme venant du serveur vpn)
On peut même utiliser ça derrière un wifi d'université s'il permet l'accès à ssh (ce qui est le cas de l'université de bourgogne ^^)
Tout d'abord, mettez en place un serveur vpn avec openvpn (ça doit pouvoir marcher avec d'autres serveurs vpn, mais faudra adapter).
Activez l'ip_forwarding sur le serveur VPN, sous linux il faut faire en root "echo 1 > /proc/sys/net/ipv4/ip_forward".
Il faut apporter une petite modification au fichier de configuration de votre vpn en ajoutant ces deux lignes permettant d'utiliser le vpn comme connexion distante:
(voir en-dessous pour savoir ce qu'est IP_VPN)
push "route IP_VPN 255.255.255.0" push "redirect-gateway def1 bypass-dhcp"Voila, votre openvpn est bien configuré.
Données
On va dire que l'adresse ip distante du serveur vpn est IP_VPN.
Que l'adresse ip du routeur pour sortir vers internet depuis notre réseau local est IP_ROUTEUR
Que l'adresse ip du routeur dans le réseau vpn est ROUTEUR_VPN.
Dans tout le tuto il faudra remplacer les occurences du mot clé par l'ip qui y correspond.
Le principe consiste à retirer la route par défaut attribuée par le dhcp, mettre une route pour atteindre le serveur vpn, se connecter au serveur vpn et ajouter la route par défaut sur l'interface vpn.
Sous windows, je ne connais pas la syntaxe de la commande route, mais cela devrait toujours être plus ou moins pareil selon le système.
Sous FreeBSD cela donne les commandes suivantes, pour Linux il me semble que l'on doit ajouter le mot "gw" entre les deux adresses ip (par exemple route add -net default gw ROUTEUR_VPN).
route del default route add -host IP_VPN IP_ROUTEUR Lancer openvpn, normalement vous devriez être connecté au vpn route add -net default ROUTEUR_VPN
Maintenant, tout ce que vous faites passe par votre vpn, sauf si c'est en réseau local

Si vous êtes derrière un réseau vous laissant utiliser le port 22 mais bloquant le reste, vous pouvez faire un tunnel local vers l'ip du vpn, et ensuite modifier la configuration du client vpn pour qu'il se connecte en local. Ce qui donnerait à peu près ceci (après la modification de la ligne remote dans la config du vpn pour que cela pointe sur localhost). Attention, il faut que votre serveur utilise le protocole TCP car ssh ne peut faire que des tunnels TCP
route del default route add -host IP_VPN IP_ROUTEUR ssh -L 1194:IP_VPN:1194 login@IP_VPN Lancer openvpn, normalement vous devriez être connecté au vpn route add -net default ROUTEUR_VPN