Table des matières
Configuration VPN ARN Wireguard
Sur Yunohost
- Installer wireguard_client_ynh https://apps.yunohost.org/app/wireguard_client
- Aller dans le config panel et charger le fichier vpnXXX.conf
- Et tada !!!
Sur Linux (NetworkManager)
- Télécharger le fichier sur le bureau
- Lancer “nmcli connection import type wireguard file Bureau/vpnXXX.conf”
Sur Linux (systemd-networkd version > 250)
La configuration suivante résultera en la redirection de tout le flux internet via le VPN ARN
- Créer deux fichiers accessibles au groupe systemd-network en lecture et contenant la PrivateKey et la PresharedKey. Ce sont des fichiers sensibles le mieux est de leur donner un chmod 640.
- Créer les fichiers de configuration suivants en reportant :
- les deux adresses depuis la configuration fournie par ARN
- corriger les chemins PrivateKeyFile et PresharedKeyFile pour correspondre aux fichiers de la première étape
- Recharger systemd-networkd pour prendre en compte la nouvelle configuration
- systemctl restart systemd-networkd
###################################### # /etc/systemd/network/10-wg0.netdev # ###################################### [NetDev] Kind=wireguard MTUBytes=1450 Name=wg0 [WireGuard] # Doit être accessible par le groupe systemd-network PrivateKeyFile=/run/keys/wireguard-privkey # Crée automatiquement une route par défaut dans une table secondaire RouteTable=2468 # Marque les paquets d'infra Wireguard pour les envoyer sur l'interface physique FirewallMark=1234 [WireGuardPeer] AllowedIPs=0.0.0.0/0 AllowedIPs=::/0 Endpoint=89.234.141.83:8095 PersistentKeepalive=15 # Doit être accessible par le groupe systemd-network PresharedKeyFile=/run/keys/wireguard-psk.key PublicKey=t3+JkBfXI1uw8fa9P6JfxXJfTPm9cOHcgIN215UHg2g=
####################################### # /etc/systemd/network/10-wg0.network # ####################################### [Match] Name=wg0 [Network] # A remplacer par ses IP attribuées Address=X.X.X.X/32 Address=X:X:X:X::X/128 # Règle qui envoie tout le trafic dans le VPN # Traduction en commande ip rule: # ip rule add not fwmark 1234 table 2468 # [RoutingPolicyRule] # Conditions en mode not InvertRule=true # La marque que seul Wireguard lui-même utilise # et qui indique les paquets qui ne doivent pas # être envoyés dans le tunnel FirewallMark=1234 # Envoi du trafic IPv4 et IPv6 dans le tunnel Family=both Table=2468 Priority=10 # Envoi du traffic local dans la table de routage par défaut # Traduction en commande ip rule: # ip rule add table main suppress_prefixlength 0 # [RoutingPolicyRule] SuppressPrefixLength=0 Family=both Priority=9
Troubleshoot
ip a
La commande ip doit montrer une nouvelle interface wg0 qui porte l'IP donnée par ARN
journalctl -xeu systemd-networkd
Le journal de systemd-networkd peut contenir des informations en cas de problème (exemple: la version de networkd est trop ancienne et ne supporte pas les options utilisées)
wg show
La commande wg permet de voir l'état du tunnel. Si la valeur received de la ligne transfer est nulle cela indique un soucis (configuration, réseau, …).
Vérifiez les différents paramètres (votre adresse, vos clés de connexion, les chemins des clés, les droits d'accès aux clés) contenus dans vos fichiers /etc/systemd/network/10-wg0.*
Configuration VPN ARN OpenVPN
Configuration sur un système GNU/Linux
- Installer openvpn
- Extraire l'archive
vpn123.zip
téléchargé sur votre espace adhérent - Copier le fichier
vpn123.conf
dans/etc/openvpn/
sudo service openvpn restart
ip a
–> Si l'interface réseau « tun0 » n'apparait pas au bout de quelques minutes, écrivez à contact@arn-fai.net ou sur le chat.
Nota : vpn123
est l'identifiant de votre VPN, (ancien format 1ère lettre du prénom + nom)
Anciennes instructions plus détaillées/avancées
Il faut installer OpenVPN de la manière dont vous installez un logiciel d'habitude : apt-get, aptitude, logithèque,… Exemple avec apt-get :
sudo apt-get install openvpn
Il faut télécharger ce fichier de configuration et le stocker dans /etc/openvpn/ . Il faut évidemment les droits root pour faire ça. Vous pouvez le renommer mais le nom doit obligatoirement terminer par « .conf ». À l'intérieur du fichier, il faut remplacer « $login » par votre login personnel sur le VPN.
Il faut également déplacer les fichiers que nous vous fournissons (login.{crt,key} et ca.crt) dans /etc/openvpn/. Il faut évidemment les droits root pour faire ça.
Pour démarrer l'application, un simple sudo service openvpn restart devrait suffire.
Sur un système équipé de systemd (comme Debian Jessie), la commande ci-dessus n'est pas bonne. Il faut faire :
systemctl enable openvpn@openvpn.service systemctl restart openvpn@openvpn.service
Attention, si vous avez changé le nom du fichier de configuration (openvpn.conf par défaut), il faudra adapter les deux commandes ci-dessus en remplaçant le « openvpn » après le « @ » par le nom que vous avez donné. Exemple :
systemctl enable openvpn@arn.service systemctl restart openvpn@arn.service
Note pour Mageia
Contrairement à Debian, la distribution Mageia d'openpvn ne contient apparemment pas de méthode pour mettre à jour la liste des résolveurs de noms (/etc/resolv.conf
); le plus simple est d'ajouter un petit script qui insère le resolveur de noms d'ARN (89.234.141.66) au moment du démarrage du VPN. Pour cela, créer (avec les droits d'administrateur) un fichier /etc/openvpn/arn-up.sh
, qui contient:
#!/bin/sh echo "nameserver 89.234.141.66" > /run/resolvconf/interface/tun0 resolvconf -u
puis donner à ce fichier les droits d'exécution:
sudo chmod +x /etc/openvpn/arn-up.sh
et indiquer ce script dans le fichier /etc/openvpn/openvpn.conf
, en décommentant/modifiant les 2 lignes à la fin du paragraphe commençant par
; DNS
:
; script-security 2 ; pour autoriser les exécutions de programmes externes ; route-up /etc/openvpn/client-handler
pour les remplacer par:
script-security 2 route-up "/etc/openvpn/arn-up.sh"
Tutoriel pour Mac OS X
Télécharger TunnelBlick (Alternative OpenVPN pour Mac) ici : https://tunnelblick.net et l'installer.
Créer un dossier qui contiendra les fichiers de configuration.
Télécharger le fichier de configuration (clic droit sur le lien, « Enregistrer la cible du lien sous » ou équivalent) : https://sans-nuage.fr/file/s/N688PAB3kYtiAQK&download et le placer dans le dossier créé précédemment.
Copier les fichiers personnels fournis dans l'espace adhérent.
Éditer le fichier openvpn-win.ovpn. Lignes 15 et 16, remplacer « $login » par votre login. Exemple :
- ca ca.crt
- cert prenomnom.crt
- key prenomnom.key
Enregistrer le fichier.
Faire glisser le fichier modifié sur l'icône de TunnelBlick dans la barre de menu.
Enjoy !
Tutoriel pour Windows
Télécharger et Installer OpenVPN depuis https://openvpn.net/index.php/open-source/downloads.html
Depuis votre espace adhérent, vous avez du récupérer votre matériel cryptographique sous forme d'un .zip. Ce .zip contient un fichier “.conf” qu'il convient de copier dans C:\Program Files\OpenVPN\config\ et de renommer l'extension “.conf” en “.ovpn”.
Puis, dans le menu démarrer (ou sur le bureau), clic droit sur l'icône “OpenVPN GUI” → Exécuter en tant qu'administrateur.
Clic droit sur l'icône OpenVPN dans la zone de notification de la barre des tâches → Connecter.
Tutoriel pour YunoHost ou une Brique Internet
- Installer l'app vpnclient de YunoHost. (rien à voir avec vpnc, Cisco)
- accéder au panneau de configuration de l'app VPN à l'URL suivante :
https://IP_de_la_Brique/yunohost/admin/#/apps/vpnclient/main
- charger le fichier .cube dans le champ
Fichier de Configuration
- Pour récupérer le fichier .cube il faut télécharger le matériel cryptographique depuis l'interface adherents.arn-fai.net qui contient un dossier tmp contant le fichier
USER.cube
- Cliquer sur
Sauvegarder
en bas du panneau de configuration
Attention également : nos certificats ont une durée de vie limitée (max un an). Votre .cube sera donc obsolète passé ce délai.
Plus d'information :
Pistes de debug
- Sous GENTOO : activer le useflag down-root sinon on a des erreurs dans /var/log/messages tels que :
Oct 28 12:03:27 localhost ovpn-arn[27909]: PLUGIN_INIT: could not load plugin shared object /usr/lib/openvpn/openvpn-plugin-down-root.so: /usr/lib/openvpn/openvpn-plugin-down-root.so: cannot open shared object file: No such file or directory Oct 28 12:03:27 localhost ovpn-arn[27909]: Exiting due to fatal error Oct 28 12:03:27 localhost /etc/init.d/openvpn.arn[27908]: start-stop-daemon: failed to start `/usr/sbin/openvpn' Oct 28 12:03:27 localhost /etc/init.d/openvpn.arn[27879]: WARNING: openvpn.arn has started, but is inactive
- Sous un système GNU/Linux (Debian, Ubuntu,…), si vous n'arrivez pas à comprendre l'origine du problème, vous pouvez regarder les logs pour les transmettre à un admin ARN.
- Si vous avez un système équipé de systemd (si vous avez changé le nom du fichier de configuration dans /etc/openvpn, c'est ce nom-là qu'il faut indiquer après « @ » et avant « .service » au lieu de « openvpn » : sudo journalctl -u openvpn@openvpn.service -xn 50. Montrer tout ce qu'OpenVPN raconte à un admin ARN.
- Si vous n'avez pas un système équipé de systemd, le plus simple reste encore de stopper le VPN sudo service openvpn stop puis de modifier le fichier de configuration (/etc/openvpn/openvpn.conf par défaut) pour faire précéder par un point-virgule (“;”) la ligne qui commence par « daemon ». Il faut avoir les droits root pour faire ça. ;) Enfin, exécutez OpenVPN dans un terminal : sudo openvpn –config /etc/openvpn/openvpn.conf. Montrer tout ce qu'OpenVPN raconte à un admin ARN.
- À compléter avec l'expérience. ;)