Redondance openvpn (failover)

Bonjour à tous,

j’ai monté un VPN avec 4 vps (debian 7) configurés comme ceci:

réseau virtuel : 10.8.0.0/24
vps 1 : 10.8.0.1 (openvpn server 1)
vps 2 : 10.8.0.6 (client 1)
vps 3 : 10.8.0.10 (client 2)
vps 4 : 10.8.0.14 (client 3)

Et je suis entrain de monter un deuxième serveur
vps 5 : open server 2
dans le but de proposer un serveur de secours (failover) en cas de panne du vps 1.
Je souhaiterai que le vps 5 prenne le relai automatiquement.

Donc ce dernier aura une adresse virtuel dans le réseau 10.8.0.0/24 comme les autres.

Malheureusement, je n’ai pas trouvé d’articles pertinent sur ce sujet.

Si vous pouviez m’orienter (une nouvelle fois!) dans mes recherches, ce serait super.

Merci d’avance à ceux qui me liront.

Ricko!

Salut !
Je dirai qu’il suffit de mettre en place une ipfailover/heartbeat entre tes deux serveurs pour solutionner ton problème. T’es-tu déjà renseigner là-dessus ?

Hello,

Je vois très bien ce que tu cherches à faire puisque je gère justement plusieurs VPS et plusieurs sites reliés par des VPNs.

Pour faire court, il existe :

Mais si tu arrives à quelque-chose de bien, j’en discuterais volontiers en privé.


AnonymousCoward

Salut,

Non je ne connaissais pas !
Merci je vais regarder ça, et je reviens pour davantages de conseils si besoin.

Ricko!

Bonsoir tout le monde,

J’ai donc réussi à mettre en place le failover, mais la redondance s’effectue uniquement sur les clients(webapp) et non sur le front(Nginx)

Pour reprendre l’archi de manière clair, cela donne:
réseau virtuel : 10.8.0.0/24
vps 1 : 10.8.0.1 (openvpn server 1 / Nginx / frontend / loadbalancing)
vps 2 : 10.8.0.6 (client 1 / Apache / tomcat - webapp)
vps 3 : 10.8.0.10 (client 2 / Apache / tomcat - webapp)
vps 4 : 10.8.0.14 (client 3 / Apache / tomcat - webapp)

J’ai mi un Nginx(front/loadbalancing) sur mon serveur openvpn, et j’ai mi Apache sur mes clients vpn pour la partie application.

Le failover fonctionne grâce au loadbalancer de Nginx. Finalement, je trouve qu’il est plus pertinent de penser ‘loadbalancing’ que ‘failover’.

On peut soit configurer le loadbalancer en round robin (un coup sur deux), ou soit configurer le vhost(sur Nginx) de cette manière là:

"
upstream xxxx.xxx {

    server srv1.xxxx.xxx weight=2;
    server srv2.xxxx.xxx;
    server srv3.xxxx.xxx;

}
[…]
"
le “weight”, si j’ai bien compris, signifie que la requête sera faite deux fois à srv1 contre une fois à srv2, et une fois à srv3.
du coup 2 fois 4… :stuck_out_tongue:

et si je coupe srv1, c’est srv2, et srv3 qui se prennent toute la charge.
Voila ce que je voulais faire dans un premier temps, je vais maintenant voir pour la redondance du front, mais je sens que ca va etre costaud!! Après je souhaiterai pouvoir déployer des VMs en cas de besoins pour les webapps en utilisant l’api de mon hebergeur. (online) Je créérai un autre sujet pour cette question !

Ricko! A bientôt pour la suite

Tu montes les deux serveurs VPN.
Les clients sont connectés aux deux.

Tu modifies les métriques des routes afin de prioriser le maitre plutôt que l’esclave.

En cas de perte du premier, le lien tombe, les routes sont supprimés, les routes de l’esclave sont utilisées.