Je m'amuse avec iptables dans mon laboratoire domestique. Mon premier objectif est de regrouper ma communication active directory dans une seule adresse IP virtuelle de répartition de charge. J'ai utilisé la chaîne prerouting pour cela. À des fins de test, j'ai commencé uniquement avec le service DNS. Mes règles ressemblent à ceci :
-A PREROUTING -d 10.0.0.1 -p udp --dport 53 -j DNAT --to-destination 192.168.2.1:53
-A PREROUTING -d 10.0.0.1 -p udp --dport 53 -j DNAT --to-destination 192.168.2.2:53
10.0.0.1
est l'adresse VIP désirée.192.168.2.1
et192.168.2.2
sont les serveurs DC.
La VIP fonctionne, j'obtiens une réponse DNS. Cependant, si je débranche la carte réseau du premier DC, la réponse DNS expirera. J'ai vérifié, à partir de 192.168.2.2
, ça fonctionne, donc ce n'est pas un échec du serveur.
Je sais que c'est parce que mes règles ne font techniquement pas de répartition de charge, ni de basculement. Ça échoue car ça ne suit que la première règle. J'ai essayé de définir une plage IP dans une seule règle, mais cela n'a pas aidé non plus.
J'ai aussi essayé des choses, comme la probabilité statistique et nth ou socket, mais aucun d'entre eux n'a fonctionné.
Y a-t-il un module dans iptables pour résoudre ce cas ?