web-dev-qa-db-fra.com

Comment connecter automatiquement OpenConnect VPN lorsque la connexion est fermée?

Je dois utiliser un service Web tiers accessible uniquement via Cisco AnyConnect VPN. J'utilise OpenConnect sur Ubuntu pour me connecter à ce VPN à l'aide de l'hôte, du nom d'utilisateur et du mot de passe.

Cependant, au lieu de devoir nous connecter manuellement à chaque fois que nous devons nous connecter au service (étant donné que le service est utilisé par un script exécuté quotidiennement), je souhaite le configurer une fois et se reconnecter lorsque le tunnel sera rompu. .

Existe-t-il un moyen de connecter le client openconnect (ou tout autre client similaire pour Cisco AnyConnect) afin de se reconnecter automatiquement lorsque la connexion est rompue.

Sinon, existe-t-il un moyen de se connecter sans nom d'utilisateur ni mot de passe et de stocker cette configuration quelque part afin que nous puissions automatiquement réactiver le processus lorsqu'il s'arrête.

S'il vous plaît noter que tout cela est sur un serveur, donc pas d'interface graphique.

3
chbh

Voir les options dont il dispose. openconnect --help:

-u,--user=NAME

Set login username to NAME

--passwd-on-stdin

Read password from standard input

--reconnect-timeout

Keep reconnect attempts until so many seconds have elapsed. 
The default timeout is 300 seconds, which means that openconnect 
can recover VPN connection after a temporary network 
downtime of 300 seconds.

il supporte aussi un

--config=CONFIGFILE

Il y a plusieurs scripts en ligne vous pouvez adapter à votre situation.

1
Rinzwind

Pour ce faire, j'ai créé un script. Vous devez remplacer DEVICE_NAME, SERVER_ADDRESS, USERNAME et PASSWORD_FILE_PATH par un fichier contenant votre mot de passe.

Vous pouvez trouver le nom de votre périphérique VPN avec /sbin/ifconfig.

#!/bin/bash
if ! /sbin/ifconfig | grep -q 'DEVICE_NAME'; then
  Sudo openconnect -b -q SERVER_ADDRESS -u 'USERNAME' --passwd-on-stdin < PASSWORD_FILE_PATH
fi
1
LUIS FRANCO