
Я пытаюсь создать среду высокой доступности для моих серверов OpenVPN. Я делаю это, имея два идентичных сервера VPN и в конфигурации клиента указывая несколько удаленных:
# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote vpn1 1194
remote vpn2 1194
remote-random
Кажется, это работает. У меня есть среда Vagrant с двумя VPN-серверами и двумя клиентами. Как только сеть запускается и я останавливаю OpenVPN на одном из VPN-серверов, другой сервер берет управление на себя.
Однако, прежде чем другой сервер возьмет на себя управление, пройдет много времени, прежде чем он действительно это сделает. Если мои клиенты пингуют друг друга, то проходит около 3 минут, прежде чем пинг продолжится. Я предполагаю, что клиенты пытаются переподключиться, и что проблема здесь в тайм-ауте.
В моем OpenVPN client.conf
я экспериментировал со следующими настройками, но, похоже, это не дало никакого результата (да, я перезапускаю OpenVPN на клиентах после изменения конфигурации):
connect-retry 2
connect-retry-max 2
Как настроить время ожидания соединения на клиентах, чтобы они быстрее переключались на другой сервер OpenVPN?
решение1
Директива keepalive управляет этим:
# Директива keepalive вызывает пинг-подобные # сообщений для отправки туда и обратно # ссылка, чтобы каждая сторона знала, когда # другая сторона опустилась. # Пинг каждые 10 секунд, предположим, что удаленный # узел отключен, если в течение этого времени не получен пинг # период времени 120 секунд. поддерживать активность 10 120