Избыточная конфигурация openvpn

У меня есть два openbsd nat/firewall box с carp для восстановления после отказа / высокой доступности. Какова была бы наилучшая практика, чтобы гарантировать, что OpenVPN, который я планирую запустить на этих блоках, также будет работать изящно?

3 ответа

Решение

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

Но вы всегда можете настроить своих клиентов для корректной обработки сбоя сервера. Если этот вид избыточности отвечает вашим потребностям, вы можете достичь этого, комбинируя две функции, которыми на самом деле обладает OpenVPN:

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

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

Документация доступна по адресу:

В частности, вы, вероятно, захотите взглянуть на эти параметры конфигурации:

  • дистанционный пульт
  • подключения-повтор
  • Connect-Retry-макс
  • дистанционного случайного
  • Ifconfig бассейн, сохраняются

Вы должны иметь возможность добавить эти опции на стороне клиента поверх любой комбинации других опций клиент / сервер, которые вы, возможно, уже используете. Просто не забывайте поддерживать низкий уровень 'connect-retry' и высокий уровень 'connect-retry-max' (возможно, даже бесконечный), и он должен работать довольно хорошо.

Без потери текущего сеанса?

В любом случае вы всегда можете использовать ifstated(8) для определения понижения CARP и запуска сервера OpenVPN.
На самом деле я не знаю, возникнут ли какие-либо проблемы с MASTER и SLAVE, работающими одновременно с сервером OpenVPN.

Теперь в openvpn есть режим аварийного переключения высокой доступности — https://openvpn.net/vpn-server-resources/setting-up-high-availability-failover-mode/

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