OpenVPN-Timeout zur Wiederherstellung der Verbindung bei einem Fehler dauert lange

OpenVPN-Timeout zur Wiederherstellung der Verbindung bei einem Fehler dauert lange

Ich versuche, eine hochverfügbare Umgebung für meine OpenVPN-Server zu erstellen. Dazu verwende ich zwei identische VPN-Server und spezifiziere in meiner Client-Konfiguration mehrere Remote-Server:

# 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

Das scheint zu funktionieren. Ich habe eine Vagrant-Umgebung mit zwei VPN-Servern und zwei Clients. Sobald das Netzwerk läuft und ich OpenVPN auf einem der VPN-Server stoppe, übernimmt der andere Server.

Bevor der andere Server jedoch tatsächlich übernimmt, dauert es lange. Wenn meine Clients sich gegenseitig anpingen, dauert es etwa 3 Minuten, bis das Pingen fortgesetzt wird. Ich vermute, dass die Clients versuchen, die Verbindung wiederherzustellen, und dass das Timeout hier das Problem ist.

In meinem OpenVPN client.confhabe ich mit den folgenden Einstellungen herumgespielt, aber es scheint keinen Unterschied zu machen (ja, ich starte OpenVPN auf den Clients neu, nachdem ich die Konfiguration geändert habe):

connect-retry 2
connect-retry-max 2

Wie kann ich das Verbindungszeitlimit der Clients anpassen, damit sie schneller zu einem anderen OpenVPN-Server wechseln?

Antwort1

Die Keepalive-Direktive steuert dies:

# Die Keepalive-Direktive verursacht ping-ähnliche
# Nachrichten hin und her gesendet werden über
# den Link, damit jede Seite weiß, wann
# die andere Seite ist untergegangen.
# Ping alle 10 Sekunden, davon ausgehen, dass Remote
# Peer ist down, wenn kein Ping empfangen wird während
# ein Zeitraum von 120 Sekunden.
Keepalive 10 120

verwandte Informationen