Я должен использовать сторонний веб-сервис, который доступен только через Cisco AnyConnect VPN. Я использую OpenConnect на Ubuntu для соединения с этой VPN с помощью хоста, имени пользователя и пароля.
Однако вместо того, чтобы иметь необходимость вручную соединиться каждый раз мы должны соединиться с сервисом (так как сервис используется сценарием, который работает на ежедневной основе), я хотел бы настроить его, после того как и иметь самостоятельно снова соединяются, когда туннель повреждается.
Есть ли способ для нас соединиться openconnect
клиент (или любой другой подобный клиент для Cisco AnyConnect) для автоматического повторного подключения, когда соединение повреждается.
С другой стороны, есть ли способ войти в систему без имени пользователя и пароля и сохранить ту конфигурацию где-нибудь, таким образом, мы можем автоматически повторно породить процесс, когда это останавливается.
Обратите внимание на то, что это - все на сервере, таким образом, никакой GUI.
Посмотрите опции, которые это имеет. 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
<час> существуют несколько сценарии онлайн , Вы можете адаптироваться к своей ситуации.
Я создал сценарий, чтобы сделать это, необходимо измениться 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
я использую служебный файл
/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