Как автоматически соединить OpenConnect VPN, когда соединение закрывается?

Я должен использовать сторонний веб-сервис, который доступен только через Cisco AnyConnect VPN. Я использую OpenConnect на Ubuntu для соединения с этой VPN с помощью хоста, имени пользователя и пароля.

Однако вместо того, чтобы иметь необходимость вручную соединиться каждый раз мы должны соединиться с сервисом (так как сервис используется сценарием, который работает на ежедневной основе), я хотел бы настроить его, после того как и иметь самостоятельно снова соединяются, когда туннель повреждается.

Есть ли способ для нас соединиться openconnect клиент (или любой другой подобный клиент для Cisco AnyConnect) для автоматического повторного подключения, когда соединение повреждается.

С другой стороны, есть ли способ войти в систему без имени пользователя и пароля и сохранить ту конфигурацию где-нибудь, таким образом, мы можем автоматически повторно породить процесс, когда это останавливается.

Обратите внимание на то, что это - все на сервере, таким образом, никакой GUI.

3
задан 26 July 2016 в 11:41

3 ответа

Посмотрите опции, которые это имеет. 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
<час>

существуют несколько сценарии онлайн , Вы можете адаптироваться к своей ситуации.

1
ответ дан 1 December 2019 в 16:57

Я создал сценарий, чтобы сделать это, необходимо измениться DEVICE_NAME, SERVER_ADDRESS, USERNAME и PASSWORD_FILE_PATH в файл, который содержит Ваш пароль

Можно найти название устройства VPN с /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
ответ дан 1 December 2019 в 16:57

я использую служебный файл

/etc/systemd/system/myVpn.service

[Unit]
Description=My Vpn Connection
After=network.target

[Service]
Type=simple
Environment=password=correcthorsebatterystaple
 ExecStart=/bin/sh -c 'echo YourPasswordHere | sudo openconnect --protocol=nc YourServerHere --user=YourUserHere --passwd-on-stdin'

Restart=always

затем запускаю его с помощью

systemctl start myVpn
1
ответ дан 15 May 2020 в 10:42

Другие вопросы по тегам:

Похожие вопросы: