J'ai configuré Keepalived sur deux machines Debian pour la haute disponibilité, mais j'ai atteint le nombre maximum d'adresses IP virtuelles que je peux attribuer à mon vrrp_instance
. Comment puis-je configurer et basculer sur plus de 20 adresses IP virtuelles?
Voici la configuration, très simple:
LB01: 10.200.85.1
LB02: 10.200.85.2
Adresses IP virtuelles: 10.200.85.100 - 10.200.85.200
Chaque machine exécute également Apache (puis Nginx) en liaison avec les adresses IP virtuelles pour la terminaison des certificats clients SSL et le proxy vers les serveurs web back-end. La raison pour laquelle j'ai besoin de tant d'adresses IP virtuelles est l'impossibilité d'utiliser VirtualHost sur HTTPS.
Voici mon keepalived.conf:
vrrp_script chk_apache2 {
script "killall -0 apache2"
interval 2
weight 2
}
vrrp_instance VI_1 {
interface eth0
state MASTER
virtual_router_id 51
priority 101
virtual_ipaddress {
10.200.85.100
.
. jusqu'à
.
10.200.85.200
}
Une configuration identique se trouve sur la machine de SECOURS, et tout fonctionne bien, mais uniquement jusqu'à la 20ème adresse IP.
J'ai trouvé un HOWTO discutant de ce problème. Fondamentalement, ils suggèrent d'avoir une seule adresse IP virtuelle et de router tout le trafic "via" cette adresse IP, et "tout ira bien". Est-ce une bonne approche? J'utilise des pare-feu pfSense devant les machines.
Citation du lien ci-dessus:
ip route add $VNET/N via $VIP
ou
route add $VNET netmask w.x.y.z gw $VIP
Merci d'avance.
ÉDIT:
@David Schwartz a dit qu'il serait logique d'ajouter une route, alors j'ai essayé d'ajouter une route statique au pare-feu pfSense, mais cela n'a pas fonctionné comme je m'y attendais.
Route pfSense:
Interface: LAN
Réseau de destination: 10.200.85.200/32 (adresse IP virtuelle)
Passerelle: 10.200.85.100 (adresse IP virtuelle flottante)
Description: Route vers VIP .100
J'ai également vérifié que je disposais de la redirection de paquets activée sur mes hôtes:
$ cat /etc/sysctl.conf
net.ipv4.ip_forward=1
net.ipv4.ip_nonlocal_bind=1
Fais-je quelque chose de mal? J'ai également supprimé toutes les adresses IP virtuelles du keepalived.conf pour ne basculer que sur 10.200.85.100.