Я пытаюсь создать среду высокой доступности для своих серверов 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?
Директива keepalive контролирует это:
# The keepalive directive causes ping-like # messages to be sent back and forth over # the link so that each side knows when # the other side has gone down. # Ping every 10 seconds, assume that remote # peer is down if no ping received during # a 120 second time period. keepalive 10 120