Comment démarrer et connecter automatiquement OpenVPN dans Windows 10?

15

Le démarrage de Windows 10 semble étrange, ou du moins nouveau. De nombreux programmes ne démarrent pas automatiquement comme ils le faisaient dans les versions précédentes, et beaucoup de gens se demandent comment faire démarrer les choses automatiquement. Je sais, parce que je cherche constamment à démarrer automatiquement mes programmes auxquels je suis habitué.

Comment puis-je obtenir OpenVPN pour démarrer au démarrage, empêcher l'accès à Internet jusqu'à ce qu'il soit connecté et se connecter automatiquement à un profil OVPN?

J'ai déjà les informations d'identification enregistrées dans un fichier texte, donc OpenVPN a juste besoin de charger le fichier, de le traiter et de se connecter.

J'avais l'habitude de faire fonctionner cela sur Windows 7, mais il semble que j'ai oublié comment le faire,

YetAnotherRandomUser
la source
La façon dont vous configurez une application pour démarrer, lorsqu'un utilisateur se connecte à son profil, est restée inchangée depuis la sortie de Windows XP. Qu'avez-vous spécifiquement essayé? Mettez à jour votre question.
Ramhound

Réponses:

28

La meilleure façon est d'utiliser les services:

  1. Installez le service OpenVPN lorsque vous installez le client;
  2. Placez probablement vos profils OpenVPN (avec l'extension .ovpn, pas .conf comme cela est courant sous Linux) dans le sous-répertoire config du répertoire d'installation d'OpenVPN C:\Program Files\OpenVPN\config.
  3. Ouvrez la console Services ( services.msc);
  4. Trouvez OpenVPNService, faites un clic droit dessus, Propriétés, et changez le type de démarrage de "Manuel" en "Automatique".
  5. Démarrez le service et OpenVPN trouvera et se connectera aux profils dans tous les fichiers .ovpn. Gardez à l'esprit que dans la plupart des situations, vous avez besoin d'une interface TUN / TAP par fichier de connexion. Sous Windows, je conseille fortement d'associer en permanence une interface à leur connexion à l'aide des fichiers de configuration: dev-node TAP_Servforce OpenVPN à lier la connexion à l'interface réseau nommée "Tap_Serv".

Vous voudrez peut-être vérifier s'il existe un moyen d'élaborer une liste blanche pour forcer le service à se connecter uniquement à des fichiers spécifiques, et pas à tous. J'ai eu des problèmes dans le passé avec des personnes qui avaient besoin d'un serveur VPN en tant que service et de plusieurs fichiers client VPN sur la même machine qui ne se connectent que de temps en temps. Dans ces situations, si je voulais qu'OpenVPN GUI leur montre une belle liste de connexions disponibles, cela signifiait que le service a vu ces fichiers et essayait de s'y connecter automatiquement. Dans ces cas, j'ai décidé de ne pas utiliser du tout les services:

Si l'utilisation d'un service n'est pas une option, vous pouvez passer des arguments de ligne de commande supplémentaires à l'invocation de l'interface graphique OpenVPN pour le faire se connecter automatiquement au démarrage (ainsi qu'en affichant l'icône de la barre d'état comme d'habitude):

openvpn-gui.exe --connect myprofile.ovpn

Pour que cela s'exécute lorsque vous vous connectez, placez un tel raccourci dans le dossier de démarrage habituel. (Pour tous les utilisateurs %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup,; ou pour l'utilisateur actuel uniquement,. %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup)


Je ne sais pas comment éviter que l'utilisateur se connecte à Internet avant la configuration du VPN. La seule façon dont je peux savoir si à travers le pare-feu Windows, et je ne suis pas un expert sur ce sujet. Si vous voulez éviter qu'un utilisateur puissant puisse accéder à Internet, vous avez besoin d'un pare-feu dans votre passerelle pour éviter cela, ou de stratégies de groupe solides pour éviter la mise à l'échelle des privilèges.

Pour un utilisateur normal, vous pouvez configurer la machine cliente Windows sans passerelle par défaut. Définissez un itinéraire statique persistant vers le serveur VPN sur les clients Windows à l'aide de la commande suivante (-P le rend persistant):

route -P add <target> mask <netmask> <gateway IP> metric <metric cost> if <interface>

Roues dans Windows sont stockés sous la clé de registre suivante:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\PersistentRoutes

À ce stade, un client déconnecté n'a accès qu'au serveur VPN. Ensuite, vous pouvez ajouter les lignes suivantes dans le fichier de configuration du serveur VPN pour ajouter des itinéraires sur les clients lorsqu'ils se connectent:

Pour configurer le serveur VPN comme passerelle par défaut:

push "redirect-gateway def1 bypass-dhcp"

Pour ajouter un itinéraire spécifique via le serveur VPN:

push "route 192.168.1.0 255.255.255.0"

Parfois, le routage ne fonctionne pas sous Windows. Lorsque cela m'arrive, je désinstalle complètement OpenVPN et ses interfaces à partir de Windows, redémarre le système et installe la dernière version du logiciel. Ensuite, avant d'établir la première connexion, je redémarre Windows. Cela a toujours résolu les problèmes, cependant, la mise à jour anniversaire de Windows 10 (1607) est boguée avec OpenVPN. Il existe un lien vers une discussion plus approfondie dans les forums OpenVPN:

Problèmes de connexion avec la mise à jour anniversaire de Windows 10

Gardez cela à l'esprit lorsque vous configurez vos clients Windows 10 OpenVPN.

DGoiko
la source
Vous pouvez utiliser la commande route pour forcer tout le trafic via le VPN. Voir comentum.com/route.html
Jeff F.
Je me considère comme un utilisateur expérimenté, mais j'aimerais pouvoir configurer cela pour les utilisateurs non avertis et le faire fonctionner également de manière transparente. Je n'ai pas besoin d'empêcher d'autres utilisateurs expérimentés de bricoler.
YetAnotherRandomUser
"Le service OpenVPN examinera le répertoire de configuration et se connectera à chaque profil VPN stocké ici." Cela ne semble pas être le cas. Il semble qu'il se connecte au premier, lorsqu'ils sont triés par ordre alphabétique. Pouvez-vous créer un lien vers la documentation? Je ne trouve pas de section qui couvre cela.
YetAnotherRandomUser
Bonjour Dan. La plupart de mon expérience provient des serveurs OpenVPN dans CentOS, et chaque fois que je stocke plusieurs fichiers serveur, il les exécute tous. Je vais effectuer un test pour déterminer si le comportement avec les fichiers clients est le même, mais je n'ai aucune raison de penser que ce sera différent. Désolé si je vous ai induit en erreur, fera rapport dès que possible (je suis au travail en ce moment, soit quand j'ai du temps libre ou après le travail, je vais le vérifier sur une machine Windows).
DGoiko
1
Le Planificateur de tâches (<kbd> touche Windows </kbd> + <kbd> R </kbd>, tapez Taskschd.mscet appuyez sur <kbd> Entrée </kbd>) peut également être utilisé.
user598527