[gull] LVS

Marc SCHAEFER schaefer at alphanet.ch
Mon Jul 3 14:20:58 CEST 2006


On Sat, Jul 01, 2006 at 05:49:14PM +0200, Phong Nguyen wrote:
> Le serveur réel du réseau B reçoit bien les paquets du serveur directeur
> du réseau A, cependant, lorsqu'il tente de répondre au client, il n'y
> parvient pas; j'ai un syn_sent unreplied du client depuis le routeur du
> réseau B. Cela me semble effectivement correct, étant donné que le
> client est connecté sur le routeur du réseau A.

Le problème général est que si les questions peuvent provenir de deux
adresses IP routées différemment, il faut que la réponse soit envoyée de
la bonne adresse. On règle ce problème généralement sur un routeur
(éventuellement redondant) de sortie, sur lequel sont connectées les 2
interfaces de sortie.

Le principe appliqué dans la solution générale est que le NAT/PAT du
routeur/firewall marque les paquets et stocke les marques dans le
connection tracking. Cela se fait avec les patches CONNMARK, voire ROUTE
de netfilter.

Une solution plus simple qui ne nécessite pas de patch est que chaque
serveur WWW réponde à deux adresses IP, une pour le trafic provenant via
la liaison 1 et une pour la liaison 2. Le NAT/PAT peut alors rediriger
le tout sur la bonne route en remettant la bonne adresse IP, sans avoir
besoin de mémoriser (tracking) l'information de marquage de route.

> Alors, donc, ma question est: est-il possible de faire du LVS sur deux
> réseaux distincts (routages différents), vu que le client ne peut
> répondre au routeur du réseau B ?

Par contre je ne suis pas sûr d'avoir exactement compris la raison. Il
devrait toujours être possible de faire le LVS *après* la gestion
multi-route expliquée ci-dessus.




More information about the gull mailing list