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.


Vous avez aimé ? N'hésitez pas à partager :
Facebook Twitter Google+ Mail

23 réflexions sur « OpenVPN et Windows »

      1. bonjour mickael
        je suis époustouflé de tous ce que tu fais
        j’ai créé un nas, grâce a tes explications
        je voudrais mettre en streaming sécuriser mes données
        mais j’ai encore beaucoup de problème
        si tu pouvais m’aider personnellement j’en serais très heureux
        cordialement

  1. 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

  2. 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

  3. 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

  4. Interessant le truc sur le métrique mais je trouve que c est une mauvaise solution!

    Je prefere utilise un pare-feux et interdire toute connexion hors VPN
    efficace a 100%

  5. Merci pour ces précieuses informations, vous venez de me sauver après des heures de manip en tout genre, tout fonctionne impec !

  6. Une petite question : sous Windows 7, je lance Openvpn en administrateur, l’icône dans la barre des tâches s’affiche avec un cadenas, et quand je veux faire Connecter, mon client .ovpn ne s’affiche pas => connexion impossible … Auriez vous une solution ?
    Pffff, beaucoup moins de problème sous Linux …

  7. Ton site est super félicitation. Il est devenu une référence dans l’installation et la configuration de freenas.

    Pourrais tu faire un tuto expliquant l’installation et la configuration du plugin « openvpn-2.3.2-amd64.pbi » sur freenas v9 ?

    Merci !

  8. Bonjour,
    je galère depuis deux jours sur le net à essayer de trouver une solution car le service client de OPENVPN est inexistant.
    Je suis pourtant client depuis 18 mois et je paie un abonnement, pourtant tout a bien marché jusqu’ici, aprés avoir renouvellé mon abonnement pour trois mois j ai le message suivant : process started and then immediately exited. cela marchait très bien avant.,j’avoue ne rien comprendre, mon pare feu macafee a l’air bien, j’ai une livebox fibre, bref pourquoi d’un seul coup impossibe de se connecter ( j’ai même essayer de restaurer le systeme à une date anterieur., rien n’y fait..
    Pouvez vous m’aider, please sachant que je suis sur W7

    Par avance merci

    Guy

  9. Lorsque l’on navigue sur internet, on se comporte comme le petit pouce qui laisse plein de petits cailloux blancs sur son chemin. La seule différence, et de taille, est que sur internet, les traces sont laissées contre notre propre gré.

  10. Bonjour et merci pour toutes ces infos.

    j’ai un pb de durabilité de la connexion avec NordVPN, mais pas avec Avast Secureline.

    J’ai appliqué les valeurs indiquées ci-dessus (DNS et métrique) avec un léger mieux, mais pas toujours Idem quand je reporte les valeurs du TAP Secureline au TAP NordVPN.

    La question que je me pose est la suivante : est ce que les valeurs DNS et métrique doivent être les mêmes sur la carte réseau et sur les TAP ?

    Merci !

    Hervé

  11. Bonjour, merci pour cette excellent tuto. Peut-être pourrais-tu m’aider avec un problème que je rencontre. J’ai un serveur Open VPN hébergé chez mon fournisseur d’accès qui est bien paramétrer dans le réseau 10.73.0.0 avec passerelle 10.73.0.1
    Depuis cette plateforme, je génère mes profils utilisateurs. Ce qui m’intéresse ici et de faire communiquer mes clients avec deux serveurs 2012r2 STD (un fichier et un applicatif). J’ai donc d’abord généré deux profils pour ces serveurs en 0.200 et 0.201
    Puis mes clients seront 0.100, 0.101 etc…
    Tous mes open vpn sont bien paramétré et les icônes sont verts. J’ai accès depuis l’ip 0.200 à mes lecteurs réseaux… mais ce que je souhaite c’est accéder à mes IP LAN côté serveur soit 172.17.2.231 et 2.232. En faisant des routes depuis mes clients, je ne ping pas les IP local de mon serveur (par exemple « route add 172.17.2.231 mask 255.255.255.255 10.73.0.200 » (ou 10.73.0.1) et je ne peux accéder à mes partages.
    Résultat route print :
    172.17.2.231 255.255.255.255 10.73.0.1 10.73.0.100 30
    172.17.2.232 255.255.255.255 10.73.0.1 10.73.0.100 30
    J’ai également essayer côté serveur mais ça ne donne rien. Avez-vous une idée de ce qui pourrait bloquer ?
    Merci.

Répondre à greg Annuler la réponse

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *