Сегодня вечером мне удалось отключить 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