Bonjour,
Est-ce que quelqu'un aurait une idée pour pouvoir faire du load-balancing "light" avec un routeur CISCO d'entrée de gamme (je dispose d'un cisco 877 et d'aucun load-balancer matériel) ?
En fait, je voudrais faire pointer des URL sur des groupes de serveurs.
Mon idée de départ était d'avoir plusieurs entrées DNS et pour chaque entrée DNS, je pensais mettre plusieurs serveurs, chacun pourvu d'une adresse IP pulbique, en Round-Robin pour faire ma répartition de charge.
Actuellement, je suis en train de réfléchir un moyen de reproduire ce fonctionnement en TEST avec :
- un routeur CISCO 877
- une seule IP publique (donc mes 3 entrées DNS pointeront sur cette IP)
- pas de serveur intermédiaire entre le routeur et les serveurs de TEST
- 2 ou 3 serveurs sur le LAN
J'essaie donc actuellement de trouver une astuce au niveau du routeur pour que de l'extérieur, en attaquant une seule IP publique, je puisse rediriger le trafic HTTP sur des serveurs différents en fonction de l'URL (serviceA.xyz.com ou serviceB.xyz.com par exemple) qui est demandée.
J'ai bien vu qu'il existait des commandes spéciales SLB au niveau de l'IOS 12.4T, mais elles ne me sont pas disponibles malgré que je dispose d'un IOS 12.4(11)T Advanced Ip Services.
Il doit falloir un équipement équipé d'une carte spéciale pour cela (type 6500 series d'après ce que j'ai cru lire).
J'ai fait quelques recherches et j'ai pas encore trouvé mon bonheur.
J'ai pensé à :
- utiliser le routeur en mode serveur DNS mais même si j'arrive à résoudre un nom de domaine en IP interne, cela ne lui fait pas faire de translation automatique (actuellement j'arrive à faire en sorte qu'une requête DNS externe en stipulant le routeur comme serveur DNS me donne l'adresse privée du serveur à attaquer...c'est pas terrible niveau sécurité, mais il ne s'agit que d'un test pour le moment)
- faire du NAT statique des requêtes HTTP, mais je ne trouve pas de moyen de faire de la translation d'une URL demandée en IP d'un serveur LAN...tout ce que j'arrive à faire pour le moment c'est de rediriger une adresse IP externe source attaquant un port sur une adresse IP interne et un port spécifique).
L'idéal serait de réussir à faire en sorte qu'à partir d'une URL demandée, le routeur fasse une requête à son DNS interne et créer un NAT dynamique de l'adresse IP source ayant fait la requête vers le bon serveur (serveur choisi selon le principe de Round-Robin DNS).
J'ai vu que le NAT dynamique était possible, mais je n'ai pas encore trouvé le moyen de le mettre en oeuvre, et encore moins selon le principe exposé ci-dessus.
J'ai sinon une dernière piste au niveau des commandes WCCP...je me demande si je ne peux pas détourner la finalité des fonctions de cache proxy, une idée là-dessus ?
En gros, est-ce que quelqu'un aurait une idée magique outre que de me dire d'utiliser des serveurs intermédiaires (sous LINUX par exemple) pour faire ça ?
Je voudrais éviter cette solution car elle s'éloigne de ce que je compte faire au final en PRODUCTION.
Merci d'avance pour tout aide que vous pourriez m'apporter.