1 votes

Comment déconnecter une connexion VPN forticlient à partir d'un script ?

Je dois créer un script bash sur Linux qui se connecte à un VPN, effectue quelques tâches, puis se déconnecte.

Pour me connecter au VPN, j'utilise le forticlient ssl vpn (comme fortinet mais pour le VPN). Par exemple :

./forticlientsslvpn_cli --server 172.17.97.85:10443 --vpnuser forti

Est-ce que quelqu'un sait comment se déconnecter ensuite d'un script ?

1voto

chrisw9808 Points 309

Sur cette page, quelqu'un a créé un script expect autour du client pour gérer la déconnexion http://euer.krebsco.de/scripting-the-fortigate-vpn-client.html

#!/usr/bin/expect -f
# cd dans le dossier 64 bits du client
# usage: efort.exp

spawn ./forticlientsslvpn_cli --server : --vpnuser  2>&1
log_user 0
send_user "Connexion en cours\n"
expect "Mot de passe pour VPN:"
send "\n"

# j'ai besoin de cela pour 'erreur de certificat'
expect "Souhaitez-vous vous connecter à ce serveur"
send "Y\n"
send_user "Début de la connexion\n"
expect "STATUT::Tunnel en cours d'exécution"
send_user "Tunnel en cours d'exécution!\n"

# c'est la durée pendant laquelle le prochain expect attend le motif correspondant, en secondes
set timeout 90001
expect "STATUT::Tunnel fermé"
send_user "Tunnel fermé!\n"
send_user "Arrêt\n"
close
exit

À la fin, bouclez en entreprise le script et c'est terminé!

#!/bin/sh
cd "$(dirname "$(readlink -f "$0")")"
while sleep 1;do
    expect efort.exp
    echo "Redémarrage de forticlient !"
done

1voto

sam_pan_mariusz Points 2013

Dans votre cas, enregistrez simplement un PID du processus forticlientsslvpn_cli et envoyez-lui SIGHUP, SIGQUIT ou SIGTERM. Le signal préféré est celui qui permet une déconnexion en douceur. Une solution un peu sale (bien que peut-être suffisante pour vous) est d'utiliser simplement killall -s SIG... forticlientsslvpn_cli.

Les appareils Fortigate prennent également en charge les connexions IPsec de style Cisco et il existe plusieurs clients logiciels disponibles pour Linux, donc remplacer le client SSL VPN peut être une autre solution.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X