web-dev-qa-db-ja.com

接続が閉じたときにOpenConnect VPNを自動的に接続する方法は?

Cisco AnyConnect VPNを介してのみアクセス可能なサードパーティのWebサービスを使用する必要があります。 UbuntuでOpenConnectを使用して、ホスト、ユーザー名、パスワードを使用してこのVPNに接続しています。

ただし、サービスに接続する必要があるたびに手動で接続する代わりに(毎日実行されるスクリプトによってサービスが消費されているため)、一度セットアップして、トンネルが壊れたときに再接続したいと思います。

openconnectクライアント(またはCisco AnyConnectの他の同様のクライアント)を接続して、接続が切断されたときに自動的に再接続する方法はありますか。

または、ユーザー名とパスワードなしでログインし、その構成をどこかに保存して、停止時にプロセスを自動的に再生成する方法があります。

これはすべてサーバー上にあるため、GUIはありません。

3
chbh

それが持っているオプションを参照してください。 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.

また、

--config=CONFIGFILE

いくつかの scripts オンライン yo can adapt があります。

1
Rinzwind

これを行うスクリプトを作成しました。DEVICE_NAMESERVER_ADDRESSUSERNAME、およびPASSWORD_FILE_PATHをパスワードを含むファイルに変更する必要があります

/sbin/ifconfigを使用して、VPNデバイスの名前を見つけることができます。

#!/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