web-dev-qa-db-fra.com

Comment configurer NetworkManager pour qu'il se connecte simultanément à deux serveurs VPN distincts?

Je dois me connecter à deux serveurs OpenVPN à la fois. Comment configurer NetworkManager pour qu'il se connecte en tant que client aux deux?

           -- <OpenVPN1> -- <Resource 1>
<laptop> -
           -- <OpenVPN2> -- <Resource 2>
4
marltu

Je pense qu'il est impossible d'utiliser uniquement Network Manager. Mais vous pouvez utiliser un petit truc:

Commencez par exporter vos paramètres OpenVPN2 à partir de Network Manager vers un fichier, par exemple ovpn2.conf.

Recherchez votre UUID de connexion OpenVPN1:

nmcli con

Ecrivez le script ci-dessous et mettez-le sous /etc/NetworkManager/dispatcher.d/, dites two_vpn

#!/bin/sh
VPN_UUID=84d61cf6-6f51-4f84-93fb-df3c458db6d6
CONF_FILE=path/to/ovpn2.conf

interface=$1 status=$2
case $status in
  up|vpn-up)
      if [ $VPN_UUID == $CONNECTION_UUID ]; then
        # connect your second OpenVPN2 using .conf file:
        openvpn --config $CONF_FILE

      fi
    ;;
  down| vpn-down)
      if [ $VPN_UUID == $CONNECTION_UUID ]; then
        # close your second OpenVPN2
        pid=$(ps -ef | grep "[o]penvpn --config $CONF_FILE" | awk '{ print $2 }')
        kill $pid > /dev/null 2>&1
      fi
    ;;
esac

N'oubliez pas de donner chmod +x /etc/NetworkManager/dispatcher.d/two_vpn

Voilà, il ne vous reste plus qu'à connecter OpenVPN1 et OpenVPN2 se connectera automatiquement. De plus, si vous fermez OpenVPN1, OpenVPN2 se fermera.

S'il vous plaît, laissez-moi savoir si quelque chose ne va pas, car je n'ai pas testé le script

5
c0rp