10.5 - Serveur DNS
Un article de Serveur.
Sommaire |
Introduction
Cette partie est une adaptation du pas-à-pas de configuration du DNS réalisé par Guillaume Gete et disponible ici (en PDF): Configuration du DNS pour Mac OSX Server.
Autres références:
Article de Guillaume Gete à propos des DNS
Leopard Server: Advanced setup, rsync, backup and automated reporting
Qu'est-ce qu'un serveur DNS?
DNS est l'acronyme de Domain Name System. Ce système permet d'établir une correspondance entre une adresse IP et un nom de domaine (comme www.perdu.com ou serveur.salleinfo).
Un serveur DNS met à jour la liste des noms de domaines et des adresses IP associées à chaque nom. Lorsqu’un ordinateur a besoin de l’adresse IP correspondant à un nom, il envoie un message au serveur DNS (également appelé serveur de noms). Le serveur de noms cherche l’adresse IP et la renvoie à l’ordinateur. Si le serveur de noms ne trouve pas l’adresse IP en local, il envoie des messages à d’autres serveurs de noms sur Internet pour l’obtenir.
Mac OSX Server intègre le très célèbre serveur DNS BIND 9.2.2 (Berkeley Internet Name Domain).
Des informations plus détaillées sur les DNS sont disponibles ici: DNS sur wikipédia
Documentation officielle Apple
Autoformation AFNIC sur les DNS
Est-ce que j'ai vraiment besoin de configurer le DNS?
Oui. Si avec Tiger, on pouvait éventuellement se passer du DNS, cela n'est plus le cas pour Leopard. On peut, pour s'en convaincre, lire cet article de Guillaume Gete.
De son côté, Apple met en garde dans sa Documentation officielle :
Setting up and maintaining a DNS server is a complex process.
Maintenant, dans un Intranet scolaire, on peut parfaitement se contenter d'utiliser les adresses IP des machines, et par défaut d'utiliser les serveurs DNS du fournisseur d'accès à Internet (FAI). Quant à savoir s'il vaut quand même la peine de configurer le serveur DNS, on peut en débattre. Les diverses expériences des membres de Responsable.info ne permettent pas de dégager une ligne conductrice: certaines configurations ne fonctionnent qu'avec le DNS, pour d'autres uniquement sans!
Dans notre cas, nous allons faire aveuglément confiance à John de Troy et suivre ses conseils. Il s'agit aussi de penser aux enseignants non-experts en réseaux! Pour se connecter à un serveur en Intranet, il est plus simple de se souvenir de serveur.salleinfo que 192.168.10.13 ! Enfin, la configuration élémentaire présentée ici est simple et rapide à mettre en place. Dès lors pourquoi s'en priver?
Comment aborder la configuration du DNS
Par quel moyen?
Grâce à son origine UNIX, Mac OSX Server permet plusieurs approches pour la configuration des services DNS:
- Par Server Admin. Cette approche permet une configuration de base du DNS.
- Par le Terminal. Cela nécessite l'utilisation de lignes de commandes.
- Par Webmin, une interface de gestion de serveur très populaire dans le monde Linux, et qui peut parfaitement s'installer sur OSX Server.
- Par l' assistant de réglage de passerelle. Cet utilitaire, intégré à Mac OS X Server, permet de partager la connexion Internet. Selon le descriptif, il "active le serveur DNS, qui est configuré par défaut comme serveur d'antémémoire pour améliorer les performances des services de noms pour les clients internes."
Sans exclure les deux autres solutions, nous privilégierons Server Admin.
Dans quel but?
La plupart des établissements se trouvant derrière le Réseau Pédagogique made in Swisscom et ne pratiquant pas de webhosting, il n'est (heureusement) pas nécessaire de configurer un serveur DNS complet, à savoir lui attribuer une URL accessible depuis Internet et de l'enregistrer auprès des registrars (bureau d'enregistrement de noms de domaines). L'hébergement de sites Internet visibles hors-Intranet (webhosting) nécessite la configuration d'un service DNS complet, avec enregistrement.
Ce document va donc traiter de la configuration de base du serveur DNS. Et rendons à César ce qui appartient à Cléopâtre, ce qui suit est fortement inspiré du tutoriel de Romain Schmid.
Configuration d'un serveur DNS
Cette configuration est simple et efficace. Néanmoins, nous ne pouvons faire l'impasse sur l'utilisation de la ligne de commande.
Configuration
- La configuration s'effectue par Admin Serveur.

- Commencer par ajouter le service DNS dans les Réglages/Services. Cliquer ensuite sur Enregistrer.

- Le service DNS apparaît alors dans la colonne de gauche.
Configuration de la zone principale
- Cliquer sur l'icône DNS dans la liste des services à gauche

- Si ce n'est pas déjà le cas, cliquer sur Arrêter DNS au bas à gauche.
- Supprimer les éventuelles configurations existantes.

- Cliquer sur l'icône Zones puis sur Ajouter une zone principale (maître).

- Sélectionner la zone exemple.com et la modifier comme suit:
- Dans le champ Noms dans la zone principale, taper le nom de domaine qui sera géré par
le serveur, dans notre exemple epsgimel.info.
- Entrer une adresse e-mail valide dans le champ Email d'admin.
- Vérifier que la case Autoriser le transfert entre zones est bien décochée.
- Indiquer le nom du serveur qui gèrera cette zone. On peut y entrer un nom de son choix. Ici: serveur.epsgimel.info.
- Cela suffit pour notre usage. Laissons la suite à Guillaume Gete: vous envisagez d'utiliser votre serveur de messagerie électronique, indiquez le nom du serveur et sa priorité (plus le chiffre est bas, plus la priorité est haute) dans le champ Echangeurs mail. Par convention, on met souvent 10 pour le premier serveur, 20 pour le second, etc..
- Cliquer enfin sur Enregistrer.

Les zones doivent toujours se terminer par un point. Noter que Admin Server le complète automatiquement. Utiliser le nom du serveur tel que définit durant la configuration initiale dans la rubrique DNS.
Configuration du serveur principal
Cette étape permet de spécifier le nom et l'adresse IP du serveur DNS.
- Cliquer sur Ajouter un enregistrement et sélectionner Ajouter une machine (A).

- Dans le champ Nom de machine, entrer le nom du serveur. On peut entrer le nom qualifié complet (ici serveur.responsable.info.), sans oublier le point final. Ou alors, on peut entrer juste le nom de machine sans ajouter le domaine (ici, serveur), mais dans ce cas ne pas ajouter de point final et ne pas cocher la case Intégralement qualifié.
- Dans le champ Adresses IP, cliquer sur le bouton + et ajoutez la ou les adresses IP correspondant au serveur ;
- Les autres informations (Infos sur le logiciel ,Infos sur le matériel, Commentaires) sont optionnelles.

Configuration de la zone inverse
La zone inverse permet d'envoyer un nom de domaine lorsqu'on demande une adresse IP.
- Cliquer sur le triangle en face de la zone inverse finissant par in-addr.arpa (cette zone est créée automatiquement durant la configuration de la zone principale).

- Cliquer sur la ligne portant l'adresse IP du serveur et sélectionner le nom du serveur dans a liste.

Créer un alias du serveur
Un alias est une entrée DNS pointant vers une entrée machine dans le DNS. Ainsi, on peut ajouter l'alias www qui pointe vers notre serveur.
L'intérêt est de pouvoir séparer les services du serveur par des noms distincts. Cela permet par exemple au serveur Web de distinguer les requêtes faites vers un site principal (www.gete.net) et un site privé (perso.gete.net), dont le contenu serait totalement différent.
Guillaume Gete
- Cliquer sur Ajouter un enregistrement, puis sélectionner Créer un alias (CNAME).

- Cliquer sur nouvelAlias.

- Entrer le nom de l'alias et le nom du serveur vers lequel il pointe.

- Cliquer sur Enregistrer.
Ajouter des réexpéditeurs (forwarders)
Le serveur ne s'occupera que des zones que nous avons créées. Pour toutes les requêtes d'autres zones (par exemple www.responsable.info), il faut lui indiquer des adresses de serveurs DNS auxquels il réexpédiera les demandes. Idéalement, on peut utiliser les serveurs DNS de notre fournisseurs d'accès (dans notre exemple, Bluewin).
- Cliquer sur le bouton Réglages.
- Cliquer sur le bouton + sous Adresses IP du réexpédteur.

- Rajouter les adresses IP des serveurs DNS de votre fournisseur d'accès (une ligne par serveur).

- Cliquer sur Enregistrer.
- Redémarrer le serveur.
- Démarrer le serveur DNS.
Vérifier le fonctionnement du DNS
Un petit passage par la ligne de commande permet de vérifier si notre serveur DNS tourne correctement.
Il y maintenant deux cas de figures: où vous configurez votre serveur en travaillant dessus, ou vous le configurez depuis un poste client. Si vous vous trouvez dans ce second cas, vous devez vous connecter au serveur en SSH. Un pas-à-pas est disponible ici: Se connecter au serveur en SSH, mais nous allons faire un rappel.
Se connecter au serveur en SSH depuis un client
- Lancer le logiciel client SSH (ici, le Terminal). On se retrouve avec une fenêtre de prompt.

- La commande pour se connecter en SSH au serveur est de cette forme: ssh -l username server. Ainsi dans le cas d'un serveur ayant comme IP 192.168.1.20, avec comme utilisateur admin, la commande sera:
ssh -l admin 192.168.1.20

- Taper la touche Enter. S'il s'agit de la première connexion en SSH au serveur depuis ce client, la console indiquera ce message:
The authenticity of host '192.168.1.20 (192.168.1.20)' can't be established. RSA key fingerprint is a5:69:04:ed:ff:3c:a0:c4:be:92:2f:f8:43:d5:cb:6b. Are you sure you want to continue connecting (yes/no)?
- Taper 'yes, puis la touche Enter.

- La console nous demandera alors d'entrer un mot de passe; celui correspondant à notre utilisateur. L'entrer, et valider avec la touche Enter.
- On est dès lors connecté au serveur.

- Passer à l'étape suivante.
Tests à effectuer
Check hostname
- Une fois connecté au serveur en SSH ou après avoir lancé le Terminal, entrer la commande suivante, puis la valider par un Enter.
hostname
- Le prompt devrait alors afficher le nom de notre DNS, ici serveur.espgimel.info

Vérifier la résolution des adresses
Il s'agit de vérifier que le serveur DNS associe bien une adresse à une IP.
- Taper la commande suivante, en adaptant l'adresse IP à celle de votre serveur:
host 192.168.1.20
- On doit obtenir comme réponse quelque chose du style, avec votre nom de serveur:
20.1.168.192.in-addr.arpa domain name pointer serveur.epsgimel.info.

Vérification de la résolution inverse des adresses
Il s'agit de vérifier que le serveur associe une IP à une adresse.
- Taper la commande suivante, en adaptant l'adresse à celle de votre serveur:
host serveur.epsgimel.info
- On doit obtenir comme réponse quelque chose du style, avec l'adresse IP de votre serveur:
serveur.epsgimel.info has address 192.168.1.20

Vérifier la synchronisation de l'entrée DNS du serveur avec son nom d'hôte
Le nom du serveur doit correspondre à son nom DNS. C'est pourquoi nous avons donné comme nom DNS à notre serveur serveur.epsgimel.info lors de la configuration élémentaire du serveur. Nous avons réutilisé ce nom lors de la configuration du DNS. Il ne devrait donc pas y avoir de différence. Un petit test permet de s'en assurer.
- Dans le Terminal, entrer la commande suivante:
sudo changeip -checkhostname
- Entrer ensuite votre mot de passe administrateur.
- On doit alors obtenir un résultat similaire à ceci:
Primary address = 192.168.1.20 Current HostName = serveur.epsgimel.info DNS HostName = serveur.epsgimel.info The names match. There is nothing to change.

Si le nom du Current HostName et du DNS HostName ne devaient pas être les mêmes, il faut effectuer la correction recommandée à la fin du tutoriel de Guillaume Gete.
F. Genevey 14 juillet 2008 à 22:06 (CEST)
