# OpenVPN ## Client ### Le fichier de conf OpenVPN Le fichier de conf et les clefs de connexion sont présents * sur router1, dans VPN > OpenVPN > Client Export > admin > Bundled Configuration > Archive. * dans le drive "Technique" Demandez à un admin de vous le donner. ### Windows Virez Windows et installez Linux (Ubuntu par exemple) puis suivez les étapes ci-dessous. On déconne. 1. Installez OpenVPN (:!: la version Community et PAS Connect) 2. Clic droit sur l'icone dans la barre des tâches puis importez le fichier de configuration 3. Copiez tous les fichiers du dossier router1-XXX vers C:\Users\%USER%\OpenVPN\config\router-XXX 4. Fermez OpenVPN 5. Clic droit sur l'icone d'OpenVPN dans la barre des tâches et connect. ### Mac ### Linux Des soucis peuvent être rencontré avec Network-Manager, notamment au niveau du DNS transmis par le VPN qui n'est pas pris en compte. Pour être très précis, Network-Manager fait tourner sur votre propre poste un résolveur DNS, l'IP de votre DNS est donc 127.0.0.1:53. L'avantage est de garder en cache les requêtes DNS notamment. Ce DNS (dnsmasq) est mis à jour par network-manager via systemd-resolved. La procédure est la suivante : le DHCP transmet l'IP du DNS à Network-Manager qui la transmet à systemd-resolved qui met à jour l'IP du vrai DNS dans dnsmasq. **Problème** : OpenVPN quand il se connecte à un VPN ne transmet pas l'IP du DNS dans le VPN a systemd-resolved. Votre dnsmasq envoie donc les requêtes sur le mauvais DNS. Il convient de suivre l'un des deux méthodes suivantes pour configurer openvpn : * Ubuntu où on dit à OpenVPN de notifier systemd-resolved * Debian : on utilise certains scripts d'OpenVPN #### Ubuntu Installer openvpn sur votre poste : `sudo apt-get install openvpn`. On utilise ensuite [[https://github.com/jonathanio/update-systemd-resolved | cet outil]] qui programme OpenVPN pour notifier systemd-resolved. Voici les commandes à taper : ``` sudo -i # ensuite, en tant que root git clone https://github.com/jonathanio/update-systemd-resolved.git cd update-systemd-resolved make ``` Une fois installé, il faut éditer votre fichier ovpn et y rajouter tout à la fin ces lignes. ``` script-security 2 setenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin up /etc/openvpn/scripts/update-systemd-resolved up-restart down /etc/openvpn/scripts/update-systemd-resolved down-pre ``` C'est tout bon, vous pouvez passer à la section usage. #### Debian simple Il faut installer les paquets `openvpn` et `resolvconf` (`sudo apt install openvpn resolvconf`), puis modifier son openvpn en y ajoutant les lignes suivantes : ``` script-security 2 up /etc/openvpn/update-resolv-conf down /etc/openvpn/update-resolv-conf ``` ### Usage #### Basique Les superprivilèges sont nécessaires pour créer l'interface réseau. Si vous n'avez pas de droits, root, [[https://community.openvpn.net/openvpn/wiki/UnprivilegedUser | regardez ici]] ``sudo openvpn yourfile.ovpn`` #### Sauvegarder le mot de passe Dans le même dossier que le fichier de conf, créez un fichier auth-ung.txt, puis mettez votre identifiant SIA sur la première ligne et votre mdp sur la deuxième. Dans le fichier de config, à côté de `auth-user-pass`, rajoutez le chemin absolu d'accès au fichier auth-ung.txt. Sauvegardez et relancez le VPN. :!: Attention le mot de passe sera stocké en clair sur votre système ! #### Alias Afin de vous simplifier la vie, mettez votre config openvpn dans un dossier fixe (vous ne changerez pas le chemin d'accès), puis modifiez le fichier ovpn en conséquences afin de faire matcher les certificats avec les chemins absolus. Vous pouvez ensuite définir un alias pour simplifier les commandes : ``` alias siavpn="sudo openvpn /path-to-folder/router1-udp-1194-adminutt.ovpn"```