serveur dns bind unbuntu
Transcription
serveur dns bind unbuntu
Installation d'un serveur DNS (Bind9) sur Ubuntu Cet article présente l'installation et la configuration d'un serveur DNS. L'installation est faite sur une distribution Ubuntu 10.04 LTS Pré-requis Savoir ce qu'est le système DNS : Pour l'ensemble du tuto, nous partirons du principe, que la configuration réseau de votre serveur est fonctionnelle. Ma configuration Adresse IP du serveur : 192.168.2.5 Adresse IP de mon routeur (ou de la "box") : 192.168.2.254 Domaine : prof.ig Les noms des ordinateurs et les ip souhaitées: poste1 (windows XP) => 192.168.2.246 1) Installation La première chose à faire est d'installer le paquet bind sur le serveur : #apt-get install bind9 Votre serveur de nom démarre après l’installation. Vérifiez avec #ps –ef | grep named le service est lancé par l’utilisateur bind Cet utilisateur a été crée à l’installation, vérifiez le #cat etc/passwd Votre serveur est-il à l’écoute de client éventuel ? Le paquet Nmap doit être installé #nmap –sU ip_du_serveur Bts SIO | jm Debroise U=Udp T=Tcp Serveur de noms Bind 1 Conclusion : Le serveur Dns écoute sur le port :______ 2) Configuration du serveur Vous devez retrouvez les fichiers installés, comment procédez-vous ? Avez-vous le paquet « locate » , si non installez-le et mettez à jour votre base. #updatedb Le daemon se trouve dans /usr/sbin/named, Les fichiers de configurations dans etc/bind/…… etc/bind/named.conf Vous l'aurez certainement remarqué, plusieurs fichiers sont inclus, du coup je vous invite aussi à regarder à quoi ils ressemblent ne serait-ce que pour savoir ce qui est configuré. les fichiers utilisés seront : • named.conf.options • named.conf.local • named.conf.default-zones Bts SIO | jm Debroise Serveur de noms Bind 2 Le premier « include » concerne ce fichier /etc/bind/named.conf.options Vous devez ici indiquez l’ip d’un serveur DNS qui sera interrogé par votre serveur de nom qaund celui-ci ne saura pas répondre, quand il ne fera pas autorité. Ex : résolution de www.bic.com. Ici j’utilise les Dns de mon FAI (free) Vous venez configurez le forwarding, testez-le ! Attention commencez par modifier la configuration réseau de votre machine. Changer votre dns dans etc/resolv.conf et mettez l’adresse de votre serveur. Bts SIO | jm Debroise Serveur de noms Bind 3 Le fichier named.conf.default-zones contient des indications indispensables au bon fonctionnement de la résolution des noms. La dernière ligne indique l'inclusion du fichier : /etc/bind/named.conf.local, c'est dans ce fichier que nous allons rajouter les informations de notre zone (du domaine) que nous souhaitons configurer. A présent il vous faut compléter les fichiers nécessaires à déclarer votre zone (domaine) Pour chaque domaine, il est nécessaire de configurer deux zones, la zone principale, et la zone de recherche inversée. • • la zone principale permet de faire pointer un nom de domaine pleinement qualifié (FQDN = Full Qualified Domain Name) sur une adresse IP, pour information un nom de domaine pleinement qualifié est de la forme : nom_hôte.domaine.ext la zone de recherche inversée, permet de faire, comme son nom l'indique, l'inverse, c'est-àdire de faire pointer une adresse IP sur un FQDN. Bts SIO | jm Debroise Serveur de noms Bind 4 Création de la zone principale Dans le fichier /etc/bind/named.conf.local nous allons rajouter les informations suivantes : zone "prof.ig" { type master; file "/etc/bind/prof.ig.hosts"; }; Ces informations vont créer le domaine : prof.ig, la zone est de type master (c'est-à-dire maitre), le fichier qui contiendra le détail des machines de mon domaine est /etc/bind/prof.ig.hosts Création de la zone de recherche inversée Toujours dans le fichier /etc/bind/named.conf.local nous allons rajouter les informations suivantes : zone "2.168.192.in-addr.arpa" { type master; file "/etc/bind/prof.ig.inverse"; }; Il s'agit en fait de l'adresse de votre réseau inversé, si les adresses ip de votre réseau sont de la forme, 192.168.2.X, la zone inverse sera : 2.168.192.in-addr.arpa, la fin (in-addr.arpa). Configuration de la zone principale (prenez modèle sur etc/bind/db.empty) Dans la section principale, on a défini que le fichier /etc/bind/prof.ig.hosts contiendrait la définition des hôtes de notre réseau. Il faut donc créer ce fichier, et le remplir. @ IN SOA unbuntu.prof.ig. webmaster.prof.ig. ( 2009110401 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expires after 1 week 86400 ) ; minimum TTL of 1 day @ IN NS unbuntu.prof.ig. unbuntu IN A 192.168.2.20 pcprof IN A 192.168.2.246 Un fichier de zone DOIT toujours commencer par la définition d'un SOA (Start Of Authority) : Le "@" spécifie la zone définie dans le fichier configuration Ensuite "IN" précise qu'il s'agit d'une zone Internet, il s'agit "presque" de la valeur par défaut, j'ai bien dis "presque", en effet, les cas où vous aurez a préciser un autre type de zone sont très rares ... Ensuite on précise le mot clé SOA suivi du FQDN du serveur qui héberge la zone (unbuntu.prof.ig.), puis, sur la même ligne une adresse email de contact (webmaster.prof.ig.). Dans ce dernier cas, le premier "." est considéré comme un "@" (il s'agit d'une convention) Attention : Les "." à la fin de unbuntu.prof.ig. et webmaster.prof.ig. sont obligatoires ! Ensuite il faut définir les éléments suivant : • Le numéro de série (serial), généralement la date du jour suivi d'un incrément : YYYYMMDDxx. Bts SIO | jm Debroise Serveur de noms Bind 5 • • • • Le temps de rafraichissement (refresh), ici 6 heures. Le temps entre deux essais (retry), ici 1 heures. Le temps d'expiration (expire) ici 1 semaine. La valeur TTL minimum (minimum TTL), ici, 1 jour. Toutes les valeurs de temps sont précisées en secondes ..., Il est possible de préciser 1W pour une semaine, ou encore 1H pour une heure ... Tout de suite aprés l'enregistrement SOA, il faut préciser le serveur DNS a consulter : @ IN NS unbuntu.prof.ig. Signification : la machine unbuntu.prof.ig est un serveur de nom (NS = Name server) pour la zone. Ensuite nous avons la définition des machines de notre réseau: unbuntu IN A 192.168.2.20 pcprof IN A 192.168.2.246 Chaque ligne Précise : le nom du pc - le type de zone - le type d'enregistrement - l'adresse IP de la machine le type d'enregistrement A (A pour Alias) permet donc de pointer, par exemple, unbuntu sur l'adresse ip 192.168.2.20).... Mais avant configurons la zone de recherche inversée : Configuration de la zone de recherche inversée (prenez modèle sur etc/bind/db.127) @ IN SOA unbuntu.prof.ig. webmaster.prof.ig. ( 2009110401 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expires after 1 week 86400 ) ; minimum TTL of 1 day @ IN NS unbuntu.prof.ig. 20 IN PTR unbuntu.prof.ig 246 IN PTR pcprof.prof.ig 192.168.2., mon serveur à l'adresse ip 192.168.2.20 alors on doit mettre 20 en face de son FQDN. Le type d'enregistrement est PTR. Configuration des clients Sous Linux Editez le fichier /etc/resolv.conf, puis renseignez-le comme suit : domain prof.ig nameserver 192.168.2.20 Test de la configuration Bts SIO | jm Debroise Serveur de noms Bind 6 Les outils Losrque vous avez installé le paquet bind sur votre distribution préférée, certains outils ont été ajoutés : • • named-checkconf : Permet de tester si vos fichiers de configurations sont correctement écrits named-checkzone : permet de tester une zone, syntaxe : #named-checkzone prof.ig /etc/bind/prof.ig.hosts • • nslookup : permet d'interroger un serveur de nom. dig : permet aussi d'interroger un serveur de nom. Si les tests de configuration sont correctement passés, redémarrez votre serveur : #/etc/init.d/bind9 restart Utilisation des CNAME Nous allons voir un autre type d'enregistrement utile : le type : CNAME (pour Canonical Name). Ce type d'enregistrement permet de faire pointer un nom différent sur une machine précise et sans passer par l'adresse ip ... Le meilleur exemple pour ce type d'enregistrement est le nom d'hôte : www On va dire par exemple que notre serveur contient aussi un serveur web, il serait alors intéressant dans ce cas d'avoir www.prof.ig qui pointe sur notre serveur. Reprenons le fichier de zone principal : @ IN SOA unbuntu.prof.ig. webmaster.prof.ig. ( 2009110401 ; serial 21600 ; refresh after 6 hours 3600 ; retry after 1 hour 604800 ; expires after 1 week 86400 ) ; minimum TTL of 1 day @ IN NS unbuntu.prof.ig. unbuntu IN A 192.168.2.20 pcprof IN A 192.168.2.246 www IN CNAME unbuntu Autre commande à utiliser #dig et #host Bts SIO | jm Debroise Serveur de noms Bind 7