Journal Redondance de passerelle par défaut

Posté par (page perso) .
Tags : aucun
1
11
mai
2004
Bonjour,
Je dois mettre en place pour ma boite un dispositif de failover pour la connexion ADSL.
Le firewall en sortie de ma DMZ a en face de lui 2 routeurs ADSL. Les trois équipements sont reliés sur le même switch mais les routeurs ne le sont pas entre eux. Je précise que l'adressage utilisé est privé.
Un seul des deux routeurs ADSL doit être la passerelle par défaut donc pas de load balancing possible. Je n'ai pas accès à la conf des routeurs (contrat oléane).
Auriez-vous connaissance d'un logiciel permettant de changer automatiquement de passerelle par défaut lorsque la paserrelle initiale tombe?

Merci d'avance,
jaune
  • # comme d'hab...

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

    cron + script shell...

    après pour réaliser la chose, les possibilités sont variées, l'important étant de faire les bons tests pour être sur que quand tu "switch" de passerelle c'est bien parce que la première est down....

    M.
    • [^] # Re: comme d'hab...

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

      J'y ai pensé mais je trouve ça un peu crade et je code bien peu en shell.
      J'aurais préféré un petit démon qui aurait fait ça comme un grand.
      • [^] # Re: comme d'hab...

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

        bah, je veux bien t'aider à produire qqchose si tu veux....

        M.
      • [^] # Re: comme d'hab...

        Posté par . Évalué à 2.

        J'ai eu un problème similaire à résoudre pour ma société. Après pas mal de mail posté sur plusieurs mailing-list (lartc, shorewall...), je n'ai rien trouvé.

        J'ai donc mis en place mon propre système avec un script shell lancé toutes les cinq minutes.

        Le script teste la disponibilité des lignes par un ping de site extérieur, plusieurs sites pouvant être ajoutés. Si une ligne tombe, un mail est envoyé à l'administrateur. Le programme utilisé pour envoyé les mails est smtpclient (http://www.engelschall.com/sw/smtpclient/(...) )pour ne pas avoir à installer un serveur de mail sur la machine.

        Actuellement, ce script fait du load balancing (par routage) sur les différentes lignes mais cette fonctionnalités pose des problèmes pour les protocoles utilisant plusieurs port (IRC, FTP...).

        Script disponible sur demande mais non maintenu par manque de temps.
  • # Redondance de passerelle par défaut

    Posté par . Évalué à 5.

  • # heartbeat

    Posté par . Évalué à 3.

    essaie heartbeat. jette un coup d'oeil ici : http://linux-ha.org/(...)
  • # openbsd, carp et pfsync

    Posté par . Évalué à 2.

    avec ces trois la, tu peux resoudre ton problème.
    carp pour linux: http://www.ucarp.org/(...)
    un exemple de configuration ici: http://software.newsforge.com/software/04/04/13/1842214.shtml?tid=1(...)
    et un autre exemple: http://www.countersiege.com/doc/pfsync-carp/(...)
  • # IP bonding

    Posté par . Évalué à 2.

    Je ne comprend pas à quoi sert le premier switch, entre les routeurs et le firewall. Il y a d'autres machines branchées dessus ?

    Si ce n'est pas le cas, je brancherais les routeurs en direct sur le firewall et j'utiliserais l'IP bonding pour que les deux interfaces aient la même IP. Ca permet de faire soit du failover soit du load balancing. Le firewall étant lui même la passerelle par défaut.

    Ceci dit, je n'ai peut-être pas bien compris ton problème.
  • # Et au niveau du router

    Posté par . Évalué à 1.

    Tu ne peux pas demander a oleane d'implémenter le protocole HSRP entre tes 2 gateway ?
    • [^] # Re: Et au niveau du router

      Posté par . Évalué à 2.

      C'est clair !!
      pour avoir déja installé des dmz derriere des routeurs Oleane, en general il suffit d'un coup de fil pour qu'ils activent le HSRP ...
      bien mieux que des scripts !!
  • # Solution

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

    Bon je me suis mis à scripter et j'en ai pondu un script basique qui devrait marcher je pense mais je ne l'ai pas encore testé.

    Le premier script qui vérifie toutes les minutes si la connexion est active :

    #!/bin/bash

    IPPING=w.x.y.z
    GWPRINCIPALE=192.168.0.2
    GWSECOURS=192.168.0.1

    ping -c 4 $IPPING &> /dev/null

    echo $? > /tmp/gwvalid

    if grep -q 0 /tmp/gwvalid
    then
    exit
    else
    route del -net 0.0.0.0 gw $GWPRINCIPALE dev eth0
    route add default gw $GWSECOURS
    fi

    Le deuxième script qui rétablit la première passerelle si elle est de nouveau opérationnelle. Il est appelé toutes les heures :

    #!/bin/bash

    IPPING=w.x.y.z
    GWPRINCIPALE=192.168.0.2
    GWSECOURS=192.168.0.1

    route add -host $IPPING gw $GWPRINCIPALE dev eth0

    ping -c 4 $IPPING &> /dev/null

    echo $? > /tmp/gwdown

    if grep -q 0 /tmp/gwdown
    then
    route del -net 0.0.0.0 gw $GWSECOURS dev eth0
    route add default gw $GWPRINCIPALE
    else
    route del -host $IPPING gw 192.168.0.2 dev eth0
    fi

Suivre le flux des commentaires

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