Bind / squid, fonctionnement DNS

Bind / squid, fonctionnement DNS - réseaux et sécurité - Linux et OS Alternatifs

Marsh Posté le 19-07-2008 à 11:28:38    

Salut.
 
Je bosse actuellement sur les techniques de GSLB (global site load balancing) basées sur le DNS. En gros pour ceux qui ne connaissent pas il s'agit de load balancing DNS évolué afin de faire du failover ou de la répartition de charge entre plusieurs sites différents.
 
En l'occurrence, j'aimerai savoir les impacts sur Squid (qui dispose de son propre client DNS interne distinct de celui du système) et Bind (utilisé en DNS proxy, c'est-à-dire en serveur de cache local par les utilisateurs).
 
Voici les questions que je me pose (si je les pose c'est parce que je n'ai pas trouvé de réponses claires, ni sur google, ni sur la doc officielle de bind, donc pas de RTFM merci :) ):
 
- Dans leur configurations par défaut, Squid et Bind respectent-ils le TTL suite à la réception d'une réponse ?
 
- Quel est le comportement si TTL=0 ? (je crois que Squid cache pendant 6 heures)
 
- Est-il courant de ne pas tenir compte du TTL pour cacher pendant une période définie localement par chaque administrateur ?
 
- Que se passe-t-il si pour une requête DNS, la réponse contient plusieurs adresses IP dans un ordre donné ? La réponse m'interesse surtout dans le cas de Bind.
 
 
S'il y en a qui ont des réponses, merci d'éclairer ma lanterne :)

Message cité 1 fois
Message édité par dreamer18 le 19-07-2008 à 11:29:14

---------------
"Parceque toi tu fracasses du migrant à la batte de baseball, c'est ça ?" - Backbone-
Reply

Marsh Posté le 19-07-2008 à 11:28:38   

Reply

Marsh Posté le 19-07-2008 à 12:20:47    

dreamer18 a écrit :


- Que se passe-t-il si pour une requête DNS, la réponse contient plusieurs adresses IP dans un ordre donné ? La réponse m'interesse surtout dans le cas de Bind.

 

Le serveur donne au client une seule adresse IP (choisie "au hasard" dans les IP "disponibles", note bien les guillemets) il me semble.

 

C'est ce que j'utilise pour faire un "équilibrage de charge" très très simple, c'est peu couteux, facile a mettre en place (TTL court, script qui check les ip et qui vire l'ip sur un enregistrement donné en cas de crash) mais un poil bancal.

 

Pour ce qui est du TLL=0, a part une surcharge du serveur DNS (aucun cache), je ne vois pas de probleme (et la RFC non plus semble il http://www.zytrax.com/books/dns/apd/rfc1912.txt ). :o

 

Bref, j'espère ne pas avoir répondu a coté de la plaque ;)

Message cité 1 fois
Message édité par anapivirtua le 19-07-2008 à 12:30:22

---------------
Si vis pacem, para bellum.
Reply

Marsh Posté le 19-07-2008 à 12:43:39    

anapivirtua a écrit :

Le serveur donne au client une seule adresse IP (choisie "au hasard" dans les IP "disponibles", note bien les guillemets) il me semble.

ça peut se configurer pour qu'il les renvoie toutes ? Je pensais en fait que par défaut, Bind renvoyait toutes les addresses IP au client, mais en changeant l'ordre (j'ai fait plusieurs fois nslookup sur ma machine pour www.google.com, et il me renvoie toujours les 4 mêmes adresses IP, mais dans un ordre différent.
 
par contre on m'avait déjà décrit le comportement que tu m'as indiqué. l'avantage de renvoyer plusieurs IPs au client est que si l'appli le gère, on a du failover natif.
 
Par contre j'ai cru comprendre que les serveurs proxys se connectent à toutes les IPs "vivantes" pour un site donné  :heink:  
 

anapivirtua a écrit :

C'est ce que j'utilise pour faire un "équilibrage de charge" très très simple, c'est peu couteux, facile a mettre en place (TTL court, script qui check les ip et qui vire l'ip sur un enregistrement donné en cas de crash) mais un poil bancal.

ok :)
 
En fait le TTL court me pose un problème, le cache interne de firefox est de deux minutes (sur ma version en tout cas). Or si je me balade sur un site internet, je peux être amené à changer d'IP à cause de la durée de vie du cache trop faible.
 
J'ai fait un test sur www.sytadin.fr (2@ IP différentes sont utilisées pour héberger ce site). en 15 minutes j'ai fait du flip/flop 4 fois entre les deux IPs. Pour de la "simple" consultation c'est pas grave, par contre dans mon cas des utilisateurs vont se logguer et les sessions applicatives seront de l'ordre de la demie journée, donc hors de question d'un TTL faible car cela voudrait dire qu'à chaque fois que l'utilisateur bascule d'IP suite à une requête DNS, la session applicative est coupée et l'utilisateur doit se relogguer.

Message cité 1 fois
Message édité par dreamer18 le 19-07-2008 à 12:45:51

---------------
"Parceque toi tu fracasses du migrant à la batte de baseball, c'est ça ?" - Backbone-
Reply

Marsh Posté le 19-07-2008 à 13:09:11    

dreamer18 a écrit :

ça peut se configurer pour qu'il les renvoie toutes ?


 
Aucune idée, je me suis arrêté au principe de roundrobin natif de BIND
 

dreamer18 a écrit :

Je pensais en fait que par défaut, Bind renvoyait toutes les addresses IP au client, mais en changeant l'ordre (j'ai fait plusieurs fois nslookup sur ma machine pour www.google.com, et il me renvoie toujours les 4 mêmes adresses IP, mais dans un ordre différent.


 
Hypothèse:
Nslookup lit l'intégralité d'un enregistrement non ?
Ce qui expliquerait pourquoi tu as plusieurs IP.
 

dreamer18 a écrit :

par contre on m'avait déjà décrit le comportement que tu m'as indiqué. l'avantage de renvoyer plusieurs IPs au client est que si l'appli le gère, on a du failover natif.


 
En effet.
 

dreamer18 a écrit :

Par contre j'ai cru comprendre que les serveurs proxys se connectent à toutes les IPs "vivantes" pour un site donné  :heink:


 
 :heink: même remarque.


---------------
Si vis pacem, para bellum.
Reply

Marsh Posté le 19-07-2008 à 13:14:20    

anapivirtua a écrit :

Hypothèse:
Nslookup lit l'intégralité d'un enregistrement non ?
Ce qui expliquerait pourquoi tu as plusieurs IP.


En fait j'ai fait le nslookup sur un poste windows XP (pour être représentatif de la majorité des internautes), c'est donc bien mon serveur DNS situé chez mon ISP qui me renvoie bien les 4 IPs. Par contre je n'ai aucun moyen de savoir si c'est du bind, du windows 2003 ou autre chose :)
 
En tout cas tu m'a bien confirmé que par défaut, bind fait du RR en ne distribuant qu'une seule adresse aux clients :)
 
merci :)


---------------
"Parceque toi tu fracasses du migrant à la batte de baseball, c'est ça ?" - Backbone-
Reply

Marsh Posté le 20-07-2008 à 00:19:16    

perso j'utilise pour une ferme citrix de multiples enregistrements A pour un seul nom.
 
Exemple :
ip1, ip2, ip3, ... ip12
 
le nslookup renvoie ip1, puis à la résolution suivante ip2, puis ip3 et ainsi de suite jusqu'à ip12. Ensuite retour sur ip1. Si google ne te renvoie que 4 ips, c'est juste que leur serveur DNS est paramètré comme ça ;)
 
C'est des applis web ? tu as un système de SSO ?


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 20-07-2008 à 00:39:45    

black_lord a écrit :

c'est juste que leur serveur DNS est paramètré comme ça ;)


 
Possible de renvoyer plusieurs IP sous BIND donc ? :o


---------------
Si vis pacem, para bellum.
Reply

Marsh Posté le 20-07-2008 à 07:17:52    

black_lord a écrit :

C'est des applis web ? tu as un système de SSO ?

il y a de tout. Web, messagerie, applis "maison"...
 
Le pire pour la haute dispo c'est la messagerie. Certains clients mail disposent de leur propre cache indépendant de l'OS. Donc tu lances ta requête DNS, tu es affecté sur un serveur, et quand tu le débranches pour la recette, ben tu dois attendre 1/2 heure que le cache interne se vide pour avoir à nouveau de la messagerie :/ (à moins de tuer l'appli et de la relancer, mais tous les utilisateurs ne le font pas).


---------------
"Parceque toi tu fracasses du migrant à la batte de baseball, c'est ça ?" - Backbone-
Reply

Marsh Posté le 20-07-2008 à 07:31:57    

black_lord a écrit :

Si google ne te renvoie que 4 ips, c'est juste que leur serveur DNS est paramètré comme ça ;)

oui, je crois même que c'est du GSLB NetScaler ;) par contre cela veut aussi dire que le "resolver" de mon provider me renvoie bien 4 ips. Par contre en faisant du nslookup à quelques secondes d'intervalles, je vois que l'ordre des 4 ips change sans cesse


---------------
"Parceque toi tu fracasses du migrant à la batte de baseball, c'est ça ?" - Backbone-
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed