Forum Linux.débutant Load balancing de deux ISP

Posté par .
Tags : aucun
1
3
nov.
2011

Bonjour,

j'ai deux connexions à internet au travail, une freebox, et une bbox.
J'ai monté un pc avec 3 cartes reseaux, comme indiqué sur la page ici :

http://www.inetdoc.net/guides/lartc/lartc.rpdb.multiple-links.html

voici ma config :

ip route add 192.168.0.0/24 dev eth0 src 192.168.0.1 table T1
ip route add default via 192.168.0.254 table T1
ip route add 192.168.1.0/24 dev eth1 src 192.168.1.1 table T2
ip route add default via 192.168.1.254 table T2

ip route add 192.168.0.0/24 dev eth0 src 192.168.0.1
ip route add 192.168.1.0/24 dev eth1 src 192.168.1.1 

ip route add default via 192.168.0.254

ip rule add from 192.168.0.1 table T1
ip rule add from 192.168.1.1 table T2

ip route add 10.0.0.0/24 dev eth2 table T1
ip route add 192.168.1.0/24 dev eth1 table T1
ip route add 127.0.0.0/8 dev lo   table T1
ip route add 10.0.0.0/24 dev eth2 table T2
ip route add 192.168.0.0/24 dev eth0 table T2
ip route add 127.0.0.0/8 dev lo   table T2

ip route add default scope global nexthop via 192.168.0.254 dev eth0 weight 1 \
nexthop via 192.168.1.254 dev eth1 weight 1

192.168.0.0/24 => free
192.168.1.0/24 => bouygues
10.0.0.0/24 => LAN

Jusque là tout va bien, le load balancing a l'air de fonctionner depuis le serveur.

Ensuite j'ai voulu en faire profiter le réseau local, donc j'ai installé dhcp3-server :
ok mon pc sous windows 7 affiche une ip 10.0.0.10, DHCP 10.0.0.1, DNS 10.0.0.1

mais par contre, il me dit qu'il n'a pas accès à internet (triangle orange)
Je pense que le DNS n'est pas forwardé, du coup j'ai installé bind9, et dans named.conf.options j'ai mis

forwarders {
      192.168.0.254;
      192.168.1.254;
};

Mais ça ne change rien du tout... Avez vous une idée ? Merci

  • # routage du w7 ?

    Posté par . Évalué à 1.

    qu'elle est la gateway fournie par le serveur dhcp ?
    Tu peux fournir la table de routage de ton w7 ?

    tu fous ta freebox en ipv6 et ton w7 partiras en ipv6 ^^

    • [^] # Re: routage du w7 ?

      Posté par . Évalué à 1.

      oui j'ai oublié de préciser la passerelle : 10.0.0.1

      la freebox est en ipv4 et v6 je pense, mais de toute façon je route que les ipv4.
      voici mon route print :

      ===========================================================================
      Liste d'Interfaces
       18...00 24 d7 83 99 99 ......Microsoft Virtual WiFi Miniport Adapter #2
       17...00 24 d7 83 99 99 ......Microsoft Virtual WiFi Miniport Adapter
       16...00 24 d7 83 99 98 ......Intel(R) Centrino(R) Ultimate-N 6300 AGN
       15...00 ff 40 80 85 05 ......Juniper Network Connect Virtual Adapter
       14...68 b5 99 f4 c2 c2 ......Intel(R) 82577LM Gigabit Network Connection
        1...........................Software Loopback Interface 1
       13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
       21...00 00 00 00 00 00 00 e0 Carte Microsoft ISATAP
       23...00 00 00 00 00 00 00 e0 Carte Microsoft ISATAP #2
       22...00 00 00 00 00 00 00 e0 Carte Microsoft ISATAP #3
       24...00 00 00 00 00 00 00 e0 Carte Microsoft ISATAP #4
       25...00 00 00 00 00 00 00 e0 Carte Microsoft ISATAP #6
      ===========================================================================
      
      IPv4 Table de routage
      ===========================================================================
      Itinéraires actifs :
      Destination réseau    Masque réseau  Adr. passerelle   Adr. interface Métriqu
                0.0.0.0          0.0.0.0         10.0.0.1        10.0.0.10     10
               10.0.0.0    255.255.255.0         On-link         10.0.0.10    266
              10.0.0.10  255.255.255.255         On-link         10.0.0.10    266
             10.0.0.255  255.255.255.255         On-link         10.0.0.10    266
              127.0.0.0        255.0.0.0         On-link         127.0.0.1    306
              127.0.0.1  255.255.255.255         On-link         127.0.0.1    306
        127.255.255.255  255.255.255.255         On-link         127.0.0.1    306
              224.0.0.0        240.0.0.0         On-link         127.0.0.1    306
              224.0.0.0        240.0.0.0         On-link         10.0.0.10    266
        255.255.255.255  255.255.255.255         On-link         127.0.0.1    306
        255.255.255.255  255.255.255.255         On-link         10.0.0.10    266
      ===========================================================================
      Itinéraires persistants :
        Aucun
      
      IPv6 Table de routage
      ===========================================================================
      Itinéraires actifs :
       If Metric Network Destination      Gateway
       13     58 ::/0                     On-link
        1    306 ::1/128                  On-link
       13     58 2001::/32                On-link
       13    306 2001:0:5ef5:79fd:c3b:32df:f5ff:fff5/128
                                          On-link
       13    306 fe80::/64                On-link
       13    306 fe80::c3b:32df:f5ff:fff5/128
                                          On-link
        1    306 ff00::/8                 On-link
       13    306 ff00::/8                 On-link
      ===========================================================================
      Itinéraires persistants :
        Aucun
      
      

      sachant que seul la carte réseau est activée, donc les autres cartes ne sont pas prises en compte.

      merci

      • [^] # Re: routage du w7 ?

        Posté par . Évalué à 2.

        Est ce que le forwarding est activé?

        • [^] # Re: routage du w7 ?

          Posté par . Évalué à 1.

          non, je sais pas si c'est nécessaire pour ce type de config, mais je tente demain de l'activer (tout est au boulot)

  • # tcpdump

    Posté par (page perso) . Évalué à 2.

    Si on sait pas ce qui se passe on va avoir du mal de savoir comment corriger le problème.

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

    • [^] # Re: tcpdump

      Posté par . Évalué à 0.

      ce qui se passe c'est que j'ai pas internet sur le lan, mais sur le serveur oui, et le load balancing marche également, selon le traceroute il passe par une passerelle ou par l'autre.

      • [^] # Re: tcpdump

        Posté par (page perso) . Évalué à 2.

        Ça ne nous dit toujours pas où les paquets se perdent.

        pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

        • [^] # Re: tcpdump

          Posté par . Évalué à 0.

          je suis désolé je suis pas assez bon pour le déterminer, c'est pas pour rien que j'ai posté dans débutant

          • [^] # Re: tcpdump

            Posté par . Évalué à 1.

            Ben il faut que tu fasses tourner tcpdump sur le pc avec les trois cartes réseau et que tu reproduises ton problème. Tu devrais assez vite voir ce qu'il se passe et où disparaissent tes paquets.

            # tcpdump -i any -s 1024

  • # Routage du réseau 10.0.0.0 depuis les box

    Posté par . Évalué à 3.

    Comment font tes box pour joindre le réseau 10.0.0.0 (pour les paquets retour) ?

    A priori elles ne peuvent pas savoir qu'il faut passer par ton serveur et je ne pense pas que l'on puisse leur rajouter des routes. A mon avis il faut que tu fasses de la translation d'adresse sur ton serveur en sorti.

    • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

      Posté par . Évalué à 3.

      NAT ou MASQUERADE sont tes amis dans tes règles de pare-feu.

      En effet il faut faire croire à tes boxs que les demandes viennent du serveur (masquer l'adresse)

      ainsi les infos peuvent revenir.

      mais il faut aussi/surement faire du masquerade de ce qui vient des boxs vers ton réseau local afin de faire croire aux machines locales que tout vient du serveur.

      • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

        Posté par . Évalué à 0.

        ah peut être, j'ai fait confiance au tuto, mais on pourrait croire qu'il est incomplet du coup.

        • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

          Posté par . Évalué à 3.

          Ou peut être qu'avant de te lancer dans un routeur a 2 passerelles, tu aurait mieux fait de commencer par un routeur a 1 passerelle.

          Comme le titre l'implique, ceci est un HOWTO « avancé ». Bien qu'il ne soit pas besoin d'être un expert réseau, certains pré-requis sont nécessaires.

        • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

          Posté par . Évalué à 2.

          il n'est pas incomplet, il est juste fait pour faire passer le reseau 10.0.X.Y sur le reseau 192.168.1.X et 192.168.0.Y

          mais il faut que les machines 192.168.[0|1].X sachent par qui renvoyer les infos destinées à 10.0.X.Y.

          comme on ne peut pas toucher leur table de routage (box du FAI)
          il faut "tricher" en faisant croire que toutes les requetes viennent du serveur (192.168.0.X ou 192.168.1.Y suivant la box concernée)

          • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

            Posté par . Évalué à 0.

            ok ce que tu m'as dit m'aide, j'ai fait ceci :

            echo 1 > /proc/sys/net/ipv4/ip_forward
            iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j MASQUERADE
            
            

            j'ai internet, par contre j'ai l'impression de passer tout le temps par Bouygues, je sais pas comment vraiment tester

            • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

              Posté par . Évalué à 2.

              le loadbalancing c'est de l'equilibrage de charge

              il faut donc charger ta connexion pour voir si elle passe par ailleur
              lancer plusieur gros telechargement en FTP par exemple pour tenter de saturer la premiere ligne et pour que cela bascule sur la deuxieme.

              neanmoins d'apres tes lignes iproute,

              ip route add default scope global nexthop via 192.168.0.254 dev eth0 weight 1 \
              nexthop via 192.168.1.254 dev eth1 weight 1

              j'ai plutot l'impression que tu as mis en place un systeme de failover (tolerance à la panne)

              ainsi, tu sors par defaut sur la ligne bouygues, mais si celle-ci tombait en panne, ca passerait (nexthop) automatiquement sur la ligne free

              • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

                Posté par . Évalué à 1.

                je viens de me balader sur les site genre adresseip.com, et des fois j'ai l'ip de bouygues, des fois celle de free, donc j'ai envie de dire que c'est un succès !!!

                par contre, je veux écrire mes règles de routage de façon définitive, si le serveur redémarre. Je sais pas vraiment dans quelle fichier il faut que je mette ces commandes, une idée ?

                • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

                  Posté par (page perso) . Évalué à 3.

                  Pour la directive ip_forward, c'est dans /etc/sysctl.conf. Sur une de mes machines, je l'ai positionné comme ceci :
                  # Controls IP packet forwarding
                  net.ipv4.ip_forward = 1

                  Et ensuite, pour activer sans redémarrer (en tant que root) :
                  /sbin/sysctl -p /etc/sysctl.conf

                  Pour sauvegarder tes règles iptables, tu peux consulter la page de manuel de iptables-save : man 8 iptables-save.

                • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

                  Posté par . Évalué à 4.

                  comme le dit NILS, dans les regles de l'art (sysctl et iptables-save, iptables-restore)

                  sinon à la main, dans un script que tu lances dans un post-up des cartes reseaux

                  ou dans un script au demarrage (S99monscript)

                  voire meme, suivant les distribs, y a un fichier firewall.sh qui contient les regles que tu veux appliquer au lancement, y a plus qu'a remplir.

                  • [^] # Re: Routage du réseau 10.0.0.0 depuis les box

                    Posté par . Évalué à 0.

                    vous êtes au top les amis !

                    j'ai un autre problème à vous soumettre, pour parfaire mon installation.
                    J'aimerai qu'il garde la même passerelle pour un domaine pendant un temps donné.

                    Par exemple j'utilise Trillian pour avoir mon gtalk et msn, mais il se déco et reco sur l'un ou l'autre des FAI. Il faudrait qu'il garde pour un domaine la même route lors de la première connexion sur un FAI pour 1 semaine par exemple.

                    Merci de me donner vos idées.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.