OpenVPN et Windows

Se connecter à Internet via un point d’accès non sécurisé : un hotspot wifi public, un Free ou autre Neuf/SFR Wifi, etc… est bien pratique… sauf qu’il y a quand même quelques points négatifs et pas des moindres : sans savoir qui se cache derrière il impossible de surfer en toute sécurité, de très nombreux ports sont fermés, en fait il y en a plutôt que quelques rares d’ouvert et donc tout est bridé dans tous les sens.

Bref, un peu délicat à utiliser au quotidien. Pour contourner le problème je me connecte donc à un VPN via le point d’accès et plus de limitations, ni de risques pour la sécurité. Pour la mise en place ça a été très simple grâce au DevCloud OpenVPN d’OVH, pour ceux qui ne connaissent pas : en gros c’est un serveur virtuel, installé et configuré en 1 minute,  qui est facturé à l’heure d’utilisation (1,2 centime/h), et qui peut être mis en marche et stoppé à la demande à tout moment. Concrètement, y’a pas plus simple.

Je ne vais pas détailler tout le processus d’installation étape par étape : la création du serveur est pas mal expliqué dans la vidéo sur leur site, puis dans la page de configuration on choisi le port : j’ai mis 80 en tcp, ce qui permet de passer sur n’importe quel point d’accès, et on télécharge les fichiers de clé et de configuration pour le client. Sur la machine locale il suffit d’installer OpenVPN, et d’y ajouter les fichiers de configuration dans le dossier config. Un double clic sur l’icône d’OpenVPN et c’est parti …

 

Les problèmes commencent : Windows 7 / Vista et le routage

Et là, normalement, ça ne marche pas ! Forcément, si vous êtes là c’est qu’il y a un problème. Le premier souci que j’ai eu a été avec le routage : tout était bien connecté (icône verte) mais avec les messages suivants dans le panneau d’OpenVPN :

ROUTE: route addition failed using CreateIpForwardEntry: One or more arguments are not correct. [if_index=18]
Route addition via IPAPI failed

Et ping vers le serveur impossible, pas de connexion au travers du tunnel, bref, rien ne va.

Par défaut Windows 7 et Vista n’ajoutent pas les routes à la table de routage, on va ajouter 2 lignes dans le fichier de configuration .ovpn de notre client pour demander à OpenVPN de le faire. Ouvrir client.ovpn avec n’importe quel éditeur de texte (en bon geek, je vous conseille bien sûr Notepad++) et ajouter ces 2 lignes à la fin :

route-method exe
route-delay 2

On enregistre et on referme le tout.

Attention : pour que Windows soit d’accord d’ajouter des routes il faut impérativement qu’OpenVPN soit lancé en mode administrateur… donc soit vous êtes loggué en administrateur par défaut (pas bien…), soit vous donnez des droits d’administrateur à l’application avant de la démarrer.

Quittez et relancer l’application et la connexion, cette fois ça devrait rouler.

 

Connexion au VPN OK, mais j’ai plus d’internet… configuration des DNS.

C’est le second problème que j’ai eu : parfaitement connecté au serveur VPN, ping serveur OK, routes OK, mais impossible de charger la moindre page. Ben oui, jusque là j’utilisais les serveurs DNS par défaut, et donc ceux du point d’accès, mais maintenant via le VPN, il n’y a plus rien de défini. Ma solution est d’utiliser ceux de Google qui sont maintenant célèbre. Ce n’est sûrement pas le meilleur choix au niveau confidentialité pour le paranoïaque mais compte tenu qu’ils ont mes mails et mes recherches web, je suis plus à ça prêt.

Boite de dialogue connexions reseau

 

 

Donc dans le panneau de configuration -> connexions réseau ou centre réseau et partage -> modifier les paramètres de la carte on fait un clic droit sur la « carte » OpenVPN (TAP-Win32 Adapter).

Puis on sélectionne « Protocole internet version 4 (TCP/IPv4) » et on clic sur propriétés.

 

 

propriétés ip v4 de la carte

 

Dans la fenêtre des propriétés qui s’ouvre on choisit d’utiliser les serveurs DNS suivants : 8.8.8.8 pour le préféré et 8.8.4.4 pour l’auxiliaire, tel qu’indiqué ci-contre.

On valide le tout et une petite reconnexion : cette fois l’accès à Internet via le VPN devrait parfaitement fonctionner…

 

 

 

Oui, mais….

 

 

OpenVPN est bien lancé (en vert) mais la connexion tombe régulièrement

C’est après quelques temps d’utilisation que j’ai remarqué le problème : tout est bien connecté, n’importe quel site donnant l’ip publique (comme mon-ip.com) donne bien l’ip du serveur, mais après un temps plus ou moins variable allant de 3-4 heures à toutes les minutes (vécu sur une connexion wifi dans un hôtel), le réseau tombe. Sauf que cela ne se voit pas : l’icône reste verte, le routage semble perdu et la connexion passe par le réseau classique (mon-ip.com donne l’ip de votre point d’accès).

En gros, le VPN ne sert plus à rien, et vous êtes obligé de le déconnecter et le reconnecter. Pas très pratique.

Après de longues investigations il s’avère qu’en fait Windows perd le routage du VPN à chaque renouvellement du bail DHCP de la connexion support, du coup vous êtes toujours connecté parfaitement mais Windows envoi vos données à côté du tunnel ! Donc dans mon hôtel, sur le réseau wifi le bail DHCP étant renouvellé toutes les 60 secondes c’est complètement inexploitable .

propriétés ip v4 de la carte

 

La solution à ce problème : il ne m’a pas été simple de la trouver, c’est pourquoi je la publie aujourd’hui : on va modifier la métrique des connexions pour dire à Windows que c’est vachement mieux de passer par le VPN. Sur un réseau la métrique représente la distance entre 2 routeurs, ainsi lorsque plusieurs routes vers un même point sont disponibles, le routeur peut choisir la plus courte.

On va configurer cela pour notre connexion VPN et pour notre connexion support (Wifi par exemple) :

On retourne dans les propriétés IPv4 de la connexion OpenVPN (panneau de configuration -> connexions réseau -> clic droit sur la connexion -> IPv4 et propriétés.

Puis on clic sur « Avancé… »

Paramètres avancés IPv4

 

Dans cette boite de dialogue on décoche « métrique automatique » et on entre par exemple 30 dans la métrique de l’interface.

On valide le tout et on va faire une opération similaire pour la carte wifi : sauf que l’on met 100 pour la valeur de la métrique. Ainsi, la route via le VPN est toujours préférentielle.

On valide, on redémarre, et là tout fonctionne parfaitement bien (si, si, je vous assure !)

 

 

 

 

 

Voilà en ce qui concerne les quelques soucis que j’ai expérimentés, j’espère que cet article vous aura évité de trop vous arracher les cheveux à votre tour. La solution au dernier problème semble peu connue, je n’ai trouvé l’astuce que sur un seul forum étranger après 1 mois à essayer tout et n’importe quoi.

11 commentaires

  1. Islandar dit :

    Merci, je me sens enfin moins seul sur ces soucis de openvpn et de seven!
    Encore merci pour le partage

  2. Daniel dit :

    J’expérimente les mêmes soucis dans un hôtel…

    J’ai testé votre solution en mettant 1 et 9999 au niveau des métriques.

    Il y a une amélioration: au lieu de perdre le routage quasi immédiatement, ça tient ….. 10 sec !

    Le pire, c’est qu’en utilisant un VPN professionnel sur le même PC ,je n’ai pas de soucis …. mais j’ai un accès filtré relativement contraigant.

    Donc je continue de m’arracher les cheveux.

    Ceci dit, j’aurai appris quelque chose grâce à vous.

    Merci

  3. The old duke dit :

    Merci pour ton aide précieuse et l’astuce des serveurs DNS a changer ;)

  4. MOFO dit :

    Merci pour les infos, fonctionne nickel depuis ! ! !
    :-)

  5. AlexD dit :

    Super merci.
    Est-il possible de dire au serveur openVPN de placer une route avec un métrique plus petit?

  6. Nathan dit :

    Merci énormément, depuis le temps que je cherchais une solution fiable !

  7. greg dit :

    Bonjour, j’ai une petite question, voila quand je lance open vpn (sans etre en mode administrateur) je voit bien mes compte vpn, et il se met au vert… Mais imposible de se connecter a mon bureau a distance, car j’ai des message d’erreur dans mon terminal, et apres quelque recherche il faut imperativement le lancer en mode administrateur. Chose que je fait, mais la je n’ai plus accée a mes compte (clique droit conection n’est plus affiché )

    Que faire ? merci d’avance

  8. Margouillat dit :

    Hello,

    Voici beaucoup plus simple et sans modification aucune pour la partie « VPN OK mais Pas de connexion Internet »:

    Donc dans le panneau de configuration -> connexions réseau ou centre réseau et partage -> modifier les paramètres de la carte :
    - Sélectionner sa connexion active (pour moi Wifi), appuyer sur control et clic gauche sur « TAP-Win32 Adapter ». Les 2 connexions sont sélectionnées.
    - un clic droit sur la carte TAP-Win32 Adapter, cliquer sur ‘connexion de pont’.
    Et voilà, le tour est joué. Un pont est créé et Internet est de nouveau actif.
    OpenVPN est maintenant opérationnel


Laisser un commentaire

(obligatoire)

Votre adresse e-mail ne sera pas publiée.