Назад | Перейти на главную страницу

Настройте клиент OpenVPN, чтобы продолжить попытки после сбоя авторизации

Сегодня вечером мне удалось отключить OpenVPN-соединение примерно с 20 серверами. Я экспериментировал с client-connect сценарии, и в какой-то момент один из сценариев вернул ненулевой ответ. Этот ненулевой ответ вызвал AUTH: Received AUTH_FAILED control message в syslog что в конечном итоге привело к SIGTERM[soft,auth-failure] received, process exiting выход из клиента OpenVPN. Есть ли способ защитить себя от этого? Любая конфигурация на стороне сервера или клиента?

Самый простой способ защитить себя от этого - обернуть клиент openvpn циклом while, который перезапускает его. Глядя на список обсуждения openvpn, кажется, что это было дизайнерское решение, потому что сбои аутентификации, вероятно, требуют ручного вмешательства, а повторные попытки клиента во многих случаях блокируют пользователя (в соответствии с мерами безопасности, совместимыми с SOX / PCI). Непонятно, какая у вас конфигурация ОС, в OS X launchd позаботится об этом.

Время от времени я сталкивался с одной и той же проблемой. ответ полинома кажется правильным - я уверен, что по моей причине это ошибка сети / соединения, а не аутентификация.

Запуск OpenVPN с помощью следующего скрипта исправил это для меня, хотя вам может потребоваться настроить его для вашей локальной настройки:

#!/bin/bash

maxAttempts=10
waitTime=5
device=tap0

attempts=1
while true; do
    /etc/init.d/openvpn restart
    sleep $waitTime

    vpnIp=$( ip addr show dev $device | grep 'inet ' | cut -d ' ' -f 6 | cut -d '/' -f 1 )

    if [ ! -x $vpnIp ]; then
        break
    fi

    attempts=$((attempts+1))
    if [ $attempts -gt $maxAttempts ]; then
        break
    fi
done