Afficher/cacher Sommaire
ProtonVPN
ProtonVPN auto connexion
Pour utiliser le dispatcher, il faut créer des scripts dans le répertoire /etc/NetworkManager/dispatcher.d, le fichier peut avoir un préfixe pour donner un ordre de lancement, exemple: 10-netfs, 20-ntpd
Le script en lui même prend 2 arguments, l’un pour le nom de l’interface, l’autre pour le statut, voici un exemple:
#!/bin/sh
INTERFACE=$1 # Le nom de l'interface
STATUS=$2 # Le statut
case "$STATUS" in
'up') exec systemctl start [service];;
'down') exec systemctl stop [service];;
esac
Afin que les scripts s’exécutent, il est nécessaire d’activer le dispatcher :
systemctl enable NetworkManager-dispatcher
Connexion automatique au VPN quand le réseau est établi.
Pour se garder la possibilité de se connecter sur le réseau sans VPN , création d’une seconde connexion réseau filaire nommée Free.fr
Modification du fichier de connexion vpn /etc/NetworkManager/system-connections/se-fr-protonvpn ,password-flags passe à 0 et ajout configuration vpn-secrets
[vpn]
....
password-flags=0
[vpn-secrets]
password=your_password
On va créer un fichier /etc/NetworkManager/dispatcher.d/10-openvpn en mode root qui va activer ou désactiver la configuration VPN.
Les connexions de réseau disponibles
nmcli con show
NAME UUID TYPE DEVICE
Free.fr 53794a72-c4bd-4a8d-a0d6-5d5aa0b530d5 ethernet enp0s31f6
se-fr-01.protonvpn.com.udp1194 d51b1d0b-70a1-4b1b-a1e1-7a03a13cdce5 vpn enp0s31f6
tun0 3bbb43cd-ca8c-42ce-a686-97550f3a78e8 tun tun0
Connexion filaire 2 9409f119-2c50-3f58-b5e7-6220d8e62d70 ethernet --
fr.protonvpn.com.udp1194 aa1754d7-6162-4502-9938-d2faa2a5d3c9 vpn --
is.protonvpn.com.udp1194 b16731c4-ad3d-4338-82c5-d5ed50fb69dd vpn --
Si la connexion Free.fr est active, on lance le VPN
#!/bin/bash
VPN_NAME="se-fr-01.protonvpn.com.udp1194"
case "$2" in
up)
if [ "$CONNECTION_ID" == "Free.fr" ]; then
nmcli con up id "$VPN_NAME"
fi
;;
down)
if nmcli con show --active | grep "$VPN_NAME"; then
nmcli con down id "$VPN_NAME"
fi
;;
esac
Changer les droits
sudo chown root:root /etc/NetworkManager/dispatcher.d/10-openvpn
sudo chmod 755 /etc/NetworkManager/dispatcher.d/10-openvpn
Démarrer le service
sudo systemctl start NetworkManager-dispatcher.service