Как обнаружить отключение VPN с помощью vpnc?

Какой самый простой способ обнаружить, что соединение vpnc в Linux/Ubuntu отключено?

Вручную, я думаю, что способ обнаружения - это проверить, отображается ли интерфейс (tun0) в выходных данных /sbin/ifconfig. Есть ли лучший способ выяснить это немедленно, чтобы можно было запустить скрипт для перезапуска соединения?

4 ответа

Сценарий /etc/vpnc/vpnc-script вызывается при различных событиях, включая подключение и отключение.

Похоже, вы используете Ubuntu или Debian. Если вы, сценарии

/etc/vpnc/vpnc-script-disconnect-action

а также

/etc/vpnc/vpnc-script-post-disconnect-action

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

Если вы не используете дистрибутив на основе Debian с этими подскриптами, вы можете изменить /etc/vpnc/vpnc-script непосредственно добавить любую логику, которую вы хотите.

Если у вас будет логика для повторного вызова vpnc-connect, я рекомендую как-то отключить это от сценария отсоединения, чтобы вы не оказались в бесконечном цикле.

Я использую cron, чтобы позаботиться об этом, чтобы я мог легко изменить его, не вспоминая, какой скрипт я редактировал Работа cron ниже.

* / 15 * * * * [[-d / sys / devices / virtual / net / tun0]] || / usr / sbin / vpnc /etc/vpnc/yourconf.conf

Обычно VPN-соединение не должно прерываться так часто. В вашем случае вы можете сначала попытаться диагностировать реальную проблему с подключением, вместо того чтобы писать сценарии для автоматического подключения к vpn при отключении.

Ниже работал для меня:

/ sbin / ifconfig | / bin / grep -q tun0 || sudo / usr / sbin / vpnc-connect

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