Ist es möglich, zwei OpenVPNs mit Failover- und Replikationsfunktion zu implementieren? Das heißt, wenn eines ausfällt/fehlschlägt, ist das andere für die Authentifizierung, Server-/Client-Konfiguration usw. verfügbar?
Antwort1
Ich habe nicht verstanden, warum ich aus der Kanone schießen soll. Meiner Meinung nach gibt es einen einfacheren Weg: Ich verwende integrierte OpenVPN-Funktionen und Linux iproute2 für Multipfadredundanz. Das ist sicherer, stabiler und verbraucht weniger Ressourcen.
Quelle:https://openvpn.net/index.php/open-source/documentation/howto.html
Implementierung eines Lastenausgleichs-/Failover-Konfigurations-Clients
Die OpenVPN-Clientkonfiguration kann zum Lastenausgleich und Failover auf mehrere Server verweisen. Beispiel:
remote server1.mydomain
remote server2.mydomain
remote server3.mydomain
weist den OpenVPN-Client an, eine Verbindung mit Server1, Server2 und Server3 in dieser Reihenfolge herzustellen. Wenn eine bestehende Verbindung unterbrochen wird, versucht der OpenVPN-Client erneut, eine Verbindung mit dem zuletzt verbundenen Server herzustellen. Wenn dies fehlschlägt, wechselt er zum nächsten Server in der Liste. Sie können den OpenVPN-Client auch anweisen, seine Serverliste beim Start zufällig zu erstellen, sodass die Clientlast wahrscheinlich über den Serverpool verteilt wird.
remote-random
Wenn Sie möchten, dass der OpenVPN-Client bei Fehlern in der DNS-Auflösung zum nächsten Server in der Liste wechselt, fügen Sie Folgendes hinzu:
resolv-retry 60
Der Parameter 60 weist den OpenVPN-Client an, 60 Sekunden lang zu versuchen, jeden Remote-DNS-Namen aufzulösen, bevor er zum nächsten Server in der Liste übergeht.
Die Serverliste kann sich auch auf mehrere OpenVPN-Server-Daemons beziehen, die auf derselben Maschine ausgeführt werden und jeweils auf einem anderen Port auf Verbindungen warten, zum Beispiel:
remote smp-server1.mydomain 8000
remote smp-server1.mydomain 8001
remote smp-server2.mydomain 8000
remote smp-server2.mydomain 8001
Wenn es sich bei Ihren Servern um Maschinen mit mehreren Prozessoren handelt, kann es aus Leistungsgründen von Vorteil sein, auf jedem Server mehrere OpenVPN-Daemons auszuführen.
OpenVPN unterstützt auch die Remote-Direktive, die auf einen DNS-Namen verweist, der mehrere A-Einträge in der Zonenkonfiguration für die Domäne hat. In diesem Fall wählt der OpenVPN-Client bei jeder Auflösung der Domäne zufällig einen der A-Einträge aus. Server
Der einfachste Ansatz für eine Lastenausgleichs-/Failover-Konfiguration auf dem Server besteht darin, auf jedem Server im Cluster gleichwertige Konfigurationsdateien zu verwenden, jedoch für jeden Server einen anderen virtuellen IP-Adresspool zu verwenden. Beispiel:
Server 1
server 10.8.0.0 255.255.255.0
server2
server 10.8.1.0 255.255.255.0
server3
server 10.8.2.0 255.255.255.0
Antwort2
Failover? Ja, ich mache das ständig, mit Heartbeat und CRM. Es lohnt sich nicht, den Status zu replizieren oder beizubehalten. Wenn das Failover stattfindet, werden alle verbundenen Clients sich trotzdem erneut authentifizieren, und das ist für Vielreisende in Ordnung. Für Site-to-Site-VPNs wäre es nicht in Ordnung, aber (meiner Meinung nach) ist OpenVPN dafür sowieso das falsche Tool.