CHAPITRE 1 : QUELQUES NOTIONS DE RÉSEAU
Les ordinateurs connectés à Internet sont identifiés par leur adresse IP. Ces adresses sont numériques, elles prennent la forme xxx.yyy.zzz.aaa, où xxx, yyy, zzz et aaa sont quatre nombres variant entre 0 et 255 (en système décimal).
Le petit problème, c’est qu’il n’est pas évident pour des êtres humains de retenir ces adresses IP. Par exemple, si je vous dis :
Je suis tombé sur un super site ! Il s’appelle 216.55.168.129 !
et bien il y a de fortes chances pour que me regardiez avec de grands yeux ronds, en pensant qu’il est grand temps que je me trouve une copine.
Heureusement, voici le cavalier blanc qui sauve la situation. Il s’appelle DNS (Domain Name System). C’est un système permettant d’établir une correspondance entre une adresse internet (du genre : http://www.machin-truc.com) et une adresse IP (du genre : 216.55.168.129).
CHAPITRE 2 : LE DNS, COMMENT ÇA MARCHE ?
Prenons un exemple : vous souhaitez accéder au site lea-linux.org. Malheureusement, vous ne connaissez pas son adresse IP. Deux solutions s’offrent à vous :
Votre ordi : Salut ! Tu connais l’adresse IP du site lea-linux.org ?
Ordi du FAI : Et puis quoi encore ! C’est l’heure de la pause !
Votre ordi : Hein ! ... Il ne veut pas me donner l’adresse IP que je lui demande ! Oooouuuuiiiinnnnn ... ;-(
Ordi du FAI : Pfuuu ... Bon allez, je vais regarder si j’ai ça ...
Un peu plus tard ...
Ordi du FAI : Non, je ne connais pas l’adresse IP de lea-linux.org
Votre ordi : Bouh ! Qu’est-ce qu’on fait alors ? :-(
Ordi du FAI : Va falloir que je demande à des copains. Et arrête de gémir !
Un peu plus tard, deuxième ...
Ordi du FAI : C’est bon, mes copains m’ont répondu. L’adresse IP du site est 212.85.153.253
Votre ordi : Merci ! T’es vraiment un pote. Méga-cool ! :-) Donc la correspondance est lea-linux.org<—>212.85.153.253 Je vais donc me connecter à l’ordinateur 212.85.153.253
Jeu : vérifiez que la connexion au site lea-linux.org est possible en passant par son adresse internet (http://www.lea-linux.org) et également par son adresse IP (212.85.153.253).
Ce dialogue entre votre ordinateur et l’ordi du FAI se produit chaque fois que vous souhaitez vous connecter à un site. De plus, les correspondances "adresse_internet"<—>"adresse_IP" ne sont pas mémorisées sur votre ordinateur. Ce qui signifie que si vous souhaitez vous reconnecter à lea-linux.org quelques minutes plus tard, ce dialogue aura à nouveau lieu avec l’ordi du FAI. Quel temps perdu ! Cela ralentit votre navigation sur internet !
CHAPITRE 3 : UN SERVEUR DNS CHEZ VOUS
L’objectif d’installer un serveur DNS sur votre ordinateur est d’avoir chez vous une table de correspondance "adresse_internet"<—>"adresse_IP". Ainsi, vous n’avez plus besoin d’interroger systématiquement l’ordi du FAI : les correspondances "adresse_internet"<—>"adresse_IP" sont disponibles sur votre ordinateur.
Comment ce serveur DNS fonctionne-t-il ?
C’est simple. Lorsque votre ordinateur recherche l’adresse IP d’une adresse internet, votre ordinateur va consulter votre serveur DNS qui regarde dans sa table de correspondance à lui.
Si la correspondance recherchée s’y trouve, vous obtenez tout-de-suite l’adresse IP qui vous intéresse !
Si la correspondance recherchée ne s’y trouve pas, votre ordinateur interroge l’ordi du FAI. Celui-ci fournit la correspondance "adresse_internet"<—>"adresse_IP" demandée. Celle-ci est mémorisée par le serveur DNS dans sa table de correspondance.
Ainsi, pour les connexions futures à cette même adresse internet, votre table de correspondance contiendra déjà l’adresse IP correspondant à l’adresse internet. Plus besoin d’interroger l’ordi du FAI ! Quel gain de temps ! Vous surfez plus rapidement sur internet !
CHAPITRE 4 : PDNSD ET RESOLVCONF
J’ai donc installé le serveur pdnsd sur ma bécane. Il faut également installer le paquet resolvconf qui permet (si j’ai bien compris) que ce soit votre serveur qui soit interrogé avant ceux du FAI. Le serveur pdnsd enregistre les correspondances "adresse_internet"<—>"adresse_IP" lorsqu’il s’arrête. Il les stocke dans le fichier /var/cache/pdnsd/pdnsd.cache Le fichier de configuration de pndnsd est /etc/pdnsd.conf
CHAPITRE 5 : MISES À JOUR DES CORRESPONDANCES
Les correspondances "adresse_internet"<—>"adresse_IP" sont enregistrées par notre serveur. Comme les sites internet changent parfois d’adresse IP, il est utile de remettre à jour ces correspondances enregistrées de temps en temps.
Il est ainsi possible de définir une durée pendant laquelle une correspondance "adresse_internet"<—>"adresse_IP" est considérée comme valide et n’est pas remise à jour. C’est la durée de validité minimale et elle correspond au paramètre min_ttl
Et il est possible de définir une durée au bout de laquelle une correspondance "adresse_internet"<—>"adresse_IP" n’est plus considérée comme valide et doit être remise à jour. C’est la durée de validité maximale et elle correspond au paramètre max_ttl
Il faut pour cela éditer le fichier /etc/pdnsd.conf et modifier les paramètres min_ttl et max_ttl dans la section « global ». Ces 2 paramètres ont la forme
min_ttl=123456789 ;
max_ttl=123456789 ;
Ce sont les durées de validité minimale et maximale. Elles sont en secondes. Bien évidemment, il faut que min_ttl soit inférieure à max_ttl !
Il est préférable de choisir une duréee min_ttl grande, de façon à mettre rarement à jour les correspondances. Ainsi, il est rarement nécessaire de dialoguer avec l’ordi du FAI. Pour ma part, min_ttl=604800 et max_ttl=604900.
Commentaires, critiques et remarques sont les bienvenues ! :o)
Sylvain
Pour en savoir plus sur le DNS.
Un autre serveur DNS : bind
PS 1 : Dans cet article, j’ai allègrement confondu la recherche d’adresses IP avec l’utilisation d’un navigateur internet. En fait, on cherche les adresses IP également pour :
l’envoi et réception de mails
la messagerie instantanée
la consultation de serveurs FTP
...
Comme ces utilisations d’internet font également appel aux correspondances "adresse_internet"<—>"adresse_IP", elles seront accélérées par l’utilisation de pdnsd sur votre ordinateur.
PS 2 : Merci à Wed de m’avoir tanné pour que j’installe cette chose. Finalement, c’est très très bien les serveurs DNS. :-D
Plutôt que de s’embarrasser d’un DNS, on peut, du moins sur une gentoo, indiquer à /etc/hosts quels sont les correspondances ip/adresse. Enfin pas exactement. Voyez le bout de fichier /etc/hosts suivant
# IPv4 and IPv6 localhost aliases
127.0.0.1 localhost
::1 localhost
212.85.153.253 google.fr
Ici lorsqu’on tape google.fr, le navigateur va... vers lea-linux. Mais lorsqu’on tape www.google.fr, il va interroger le DNS et tombe bel et bien sur google (ici j’ai pointé vers un mauvais site pour faciliter la compréhension). Cela peut être vu comme un avantage et un inconvénient : si jamais l’ip du site (pour une raison quelconque) a changé, un petit www. en préfixe et on peut quand même le joindre dans l’attente d’une modification du /etc/hosts (si l’on est pas root par exemple). Mais vous pouvez aussi écrire dans votre fichier de telle sorte que lorsque vous tapez ’musique’ dans votre navigateur celui ci aille vers jamendo.com
Bien évidement il faut modifier le fichier /etc/hosts à la main, avec les ip obtenues via la commande ping. Par exemple :
skndo@tux$ ping www.google.fr
PING www.l.google.com (64.233.183.99) 56(84) bytes of data.
Ici on récupère l’IP de google.fr (64.233.183.99) que l’on ajoute ensuite à /etc/hosts
root@tux# echo "64.233.183.99 google.fr" >> /etc/hosts
Bien entendu, ceci ce limite assez rapidement aux sites très fréquement visités, sans quoi l’édition devient pénible.