Forum Linux.général DNS SRV et redirection en cas de problème..

Posté par  (site web personnel, Mastodon) .
Étiquettes : aucune
0
28
avr.
2005
Bonjour,

j'aimerais comprendre un peu mieux DNS (j'utilise bind) et j'aimerais faire en sorte que lorsque mon serveur jabber fritalk.com est mort (ça peut être soit le soft qui ne répond plus, soit la machine elle-même est complètement inaccessible), les clients qui tentent de se connecter le fassent automatiquement sur un autre serveur.

En fait, considérons juste le problème générique suivant : j'ai deux serveurs qui sont miroirs l'un de l'autre. J'aimerais que si l'un deux ne répond pas, les gens soient automatiquement connectés au second.


qqn a une idée de comment on fait ça ?
  • # DNS Round Robin

    Posté par  (site web personnel) . Évalué à 0.

    Tu veux donc faire du DNS Round Robin.

    Suivant la configuration de Bind, celui-ci va renvoyer une ou plusieurs données (adresses, nom de serveur...) dans un ordre déterminé (cyclique, aléatoire, fixe...).

    Ensuite, c'est à ton client d'essayer les différents serveurs

    Autre possibiltié : Ne renseigner qu'une seule donnée (un seul serveur par exemple) dans ton DNS. Le serveur DNS teste la disponibilité de ton service et il met à jour l(es)' enregistrement(s) correspondants (et recharge la conf'). Inconvénients : Attention aux différents "caches" (client, serveur "forward", serveur esclave) .... et c'est réellement pas propre.

    J'espère que cela pourra t'aider.
    • [^] # Re: DNS Round Robin

      Posté par  . Évalué à 2.

      N'importnawak :)

      Le DNS round robin permet simplement d'envoyer le client sur un serveur au hasard... il n'a pas l'intelligence de se dire "mmm... le serveur X fonctionne-t-il réellement"... et le client n'a pas cette intelligence non plus en général.
      • [^] # Re: DNS Round Robin

        Posté par  (site web personnel) . Évalué à 1.

        Quand plusieurs RRset ont le même nom (mais pointent vers des ressources distinctes), c'est la configuration du serveur DNS qui dicte ce qui est transmis au client (un, plusieurs ou tous les enregistrements) et dans quel ordre (aléatoire à chaque requête, ordre fixe, cyclique...).

        Quant au client, excuse-moi, mais je connais un certain nombre de soft qui savent parfaitement gérer le fait de recevoir plusieurs ressources possibles pour un nom demandé (lors du gethostbyname).

        Pour le test de fonctionnement du serveur équilibré, bien sûr c'est un programme indépendant de BIND (et non par BIND lui-même !) qui met à jour les fichiers de zone et recharge BIND quand c'est nécessaire. Cela implique que les time-out (de cache négatif, notamment) doivent être assez court.

        Enfin, comme préciser dans les commentaires ci-dessous, la bonne méthode est d'implémenter les RRsets de type SRV, mais cela implique que le client sache utiliser ce type d'enregistrements.
  • # re

    Posté par  . Évalué à 2.

    Si tu as accés à la conf bind des 2 serveurs alors c'est très simple (mais un peu gruik).

    Tu configures tes deux ns comme ayant autorité sur le sous domaine jabber.tondomaine.com et tout deux s'annonce comme étant la machine jabber.tondomaine.com

    donc en gros un dig @server1 jabber.tondomaine.com te répondra server1 et idem pour le server2.
    Ensuite, tu configures tes NS pour que le temps de cache des zones DNS soit très courts (genre 5 minutes).
    Et pour finir, tu configures auprès de ton registrar serveur1 en tant que ns1 et serveur2 en tant que ns2

    Comme ça, si server1 est down et le cache expiré (donc + de 5minutes), alors le clients va aller résoudre jabber.tondomaine.com aurpès de server2 qui lui donnera son adresse.

    Sinon, si tu ne peux pas utiliser cette solution, il te reste la possibilité de mettre plusieurs enregistrements A pour jabber.tondomaine.com mais cela n'est pas très très fiable. C'est utilisé en temps normal pour avoir une pseudo répartition de charge.

    Voila en espèrant t'avoir aidé.
  • # RFC 2782

    Posté par  . Évalué à 2.

    C'est ça qu'il faut lire pour tout (trop ?) comprendre :)

    Tu as un joli exemple là par exemple :

    http://www.zytrax.com/books/dns/ch8/srv.html(...)

    Par contre, très peu de clients implémentent ce protocole à ma connaissance...
  • # CARP

    Posté par  (site web personnel) . Évalué à 2.

    Et si les serveurs sont sur le même sous réseau, il y a CARP.
    http://ucarp.org/(...)

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

Suivre le flux des commentaires

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