Logo English Web Page
Accueil Association BSD Linux Dev Reseau Infologisme Mac OSX
tl tr
Sujet Domaine Date 02-11-2009
Titre BIND Système Nom Domaine - Linux Fedora Section Dev Reseau
Article

Système Nom Domaine ou DNS

Système de Nom de Domaine ou DNS, est un module fondamental d’Internet. C’est la base de données globale, hiérarchique et distribuée de l’information du Domain Name System qui a la responsabilité de traduire les Noms de domaine en adresses IP 1 et vice et versa, conduisant à la destination appropriée beaucoup de services Internet.


Pour comprendre comment fonctionne un Serveur DNS, prenons un petit exemple. Veuillez tapez dans un navigateur Web l’adresse IP 1 fixe :

http://193.252.173.102

On tombe sur un site web, c’est sur, mais lequel ?

Cette adresse IP héberge c-extra.com www.c-extra.com Etc.

On tombe sur la première ligne de Nom de Machine ou Hostname du Fichier hosts de ce Serveur.

Dans ce cas précis la résolution DSN n’est pas effective puisque l’adresse IP 1 reste dans le navigateur de page Web.


Pourtant la machine Serveur de DNS et HTTP sert tous ces Noms de Domaine et ces sites Web sur la même adresse IP en local.

#
192.168.1.1 c-extra.com www.c-extra.com ftp.c-extra.com mail.c-extra.com
192.168.1.1 c-extra.fr www.c-extra.fr ftp.c-extra.fr mail.c-extra.fr
192.168.1.1 c-extra.net www.c-extra.net ftp.c-extra.net mail.c-extra.net
192.168.1.1 c-expresso.com www.c-expresso.com ftp.c-expresso.com mail.c-expresso.com
192.168.1.1 c-expresso.fr www.c-expresso.fr ftp.c-expresso.fr mail.c-expresso.fr
192.168.1.1 cextra.com www.cextra.com ftp.cextra.com mail.cextra.com
192.168.1.1 impress.fr www.impress.fr ftp.impress.fr mail.impress.fr  Redirection DNS manquante
192.168.1.1 infologism.com www.infologism.com ftp.infologism.com mail.infologism.com
192.168.1.1 infologism.net www.infologism.net ftp.infologism.net mail.infologism.net  Redirection DNS manquante
192.168.1.1 infologisme.com www.infologisme.com ftp.infologisme.com mail.infologisme.com
192.168.1.1 infologisme.net www.infologisme.net ftp.infologisme.net mail.infologisme.net
192.168.1.1 rollsplayer.com www.rollsplayer.com ftp.rollsplayer.com mail.rollsplayer.com
192.168.1.1 rollsplayer.fr www.rollsplayer.fr ftp.rollsplayer.fr mail.rollsplayer.fr
192.168.1.1 rollsplayer.net www.rollsplayer.net ftp.rollsplayer.net mail.rollsplayer.net


Tout simplement le premier de la liste des noms de host, puisque dans la requête HTTP il n’y a pas de Nom de Domaine inclut avec l’adresse IP 1 fixe.

On pourrait le voir si le Serveur Apache n’utilise pas le package Apache ModSecurity en tapant l’adresse IP 1 fixe http://193.252.173.102 dans un navigateur Web.

Après être allé sur ce site Web, le navigateur doit découvrir l’adresse IP 1 du Serveur DNS de www.c-extra.com. Par conséquent il est posé une question au résolveur de DNS local, qui questionne alternativement le serveur local et le Serveur DNS. Le Serveur DNS effectue encore un travail primordiale, il découvre rapidement l’adresse IP 1 assortie au Nom de Domaine et renvoie cette requête au résolveur de DNS local qui transmet cette réponse au navigateur Web.

En jargon DNS, cette consultation s’appelle une question pour « un enregistrement ». Cet enregistrement décrit la relation entre un hostname et l’adresse IP 1 correspondant au DNS.

Votre navigateur web peut maintenant entrer en contact avec le Serveur DNS www.c-extra.com qui utilise la bonne adresse IP 1 et le bon Nom de Domaine. Pour plus d’information voir le protocole HTTP.

Naturellement, le processus de résolution complet de DNS est légèrement plus compliqué. Mais en trouvant l’adresse IP 1 correspondant pour un hostname ou inversement, c’est une des fonctions de base du DNS. Le protocole DNS à cependant beaucoup plus de fonctionnalité et de champs d’application. Pour une compréhension complète du fonctionnement de Domain Name System, vous êtes encouragés à visiter la section de liens de DNS sur ce site Web.

Le protocole original du DNS est décrit dans le RFC 1034 et le RFC 1035.

    * RFC 1034 - Introduces domain style names, their use for Internet mail and host address support, and the protocols and servers used to implement domain name facilities.
    * RFC 1035 - Describes the details of the domain system and protocol, and assumes that the reader is familiar with the concepts discussed in a companion RFC 1034.

Note : 1 Adresse IP publique


BIND

BIND (Berkeley Internet Name Domain) est une implémentassions des protocoles DNS et fournit une implémentassions ouverte et redistribuable des références et de ces composants principaux du Domain Name System, incluant :

    * Domain Name System server
    * Domain Name System resolver library
    * Tools for managing and verifying the proper operation of the DNS server

BIND DNS Server est employé dans la grande majorité des machines Serveur de DNS sur Internet, fournissant une architecture robuste et stable, il est établie que l’organisation de nommage des DNS s’appuie sur BIND. La référence planétaire pour servir des DNS est BIND.

La bibliothèque du résolveur incluse dans la distribution de BIND fournit l’APIs standard pour la traduction entre les Noms de Domaine et les adresses IP 1 Internet et est prévue pour être liée avec d’autres applications exigeant le service de Nom de Domaine, le service DNS est utilisé pour Apache, PostFix, ProFTPD, Sendmail, Squid et autres pour les serveurs ainsi que pour les clients mail et Web.

BIND version 9 est une réécriture importante de presque tous les aspects de l’architecture fondamentale de BIND. Certains des fondements importants de BIND 9 sont lié à la sécurité des DNS (DNSSEC, TSIG), IPv6, le perfectionnements des protocoles DNS (IXFR, DDNS, DNS Notify, EDNS0), aux vues du support de multiprocesseur et une architecture de portabilité améliorée.

Aujourd’hui, la version 4 de BIND est officiellement abandonnée et le développement de la version 8 de BIND est seulement maintenu en faveur du développement de la version 9 de BIND. Aucun développement additionnel ne sera fait sur la version 4 de BIND ou la version 8 de BIND autres que pour les mises à jour liées à la sécurité. L’ ISC encourage tous les développeurs de BIND à améliorer la version 9, leur convenant mieux.

Pour BIND Serveur de Nom de Domaine, on trouve beaucoup de howtos, de notes et d’aide pour le configurer. De plus une version en ligne du manuel de BIND où vous pourrez comprendre comment configurer votre Serveur de Nom de Domaine BIND. Internet Systems Consortium


BIND Installion et mise en œuvre

Alors là, Attention ! si on ne respecte pas scrupuleusement l’ordre des opérations pour installer BIND, autant pisser dans un violon, cela fera le même effet.

En premier lieu réglé la NAT et le Firewall du routeur.

Exemple :

Adresse IP du routeur 192.168.1.254/24
Adresse IP du serveur DNS et HTTP 192.168.1.1/24

La NAT et le Firewall du routeur xDSL, ne laisse passé que les ports 21, 25, 53, 80 et 443 si besoin. (Pour servir un site Web HTTPS)

Pour un routeur ZyXel P653HWI-11

NAT - Edit SUA/NAT Server Set

Start Port No. End Port No. IP Address
1 All ports All ports 0.0.0.0
2 53 53 192.168.1.1
3 80 80 192.168.1.1
4 20 21 192.168.1.1
5 443 443 192.168.1.1

Ce réglage continue sur 12 lignes

Régler IPTables comme indiqué sur ces articles : Webmin - Configuration Firewall IPTables - Fedora FC8 - Fedora FC9 - FC10 - Fedora FC12

Concept de Sécurité :

Réseau HTTP derrière un routeur xDSL et un routeur firewall physique plus le firewall Unix IPTables. (2 NAT physique, 3 firewalls)
eth0 : 172.16.1.1/24  passerelle : 172.16.1.254/24
La paranoïa me hante, cela devient compliqué d’écrire un Datagramme, trop d’inconnue...

Réseau pour accéder aux routeurs xDSL avec alias d’interface réseau eth1:0 Ethernet (Virtuel). (1 NAT physique, 2 firewalls)
eth1 : 192.168.1.1/24  passerelle : 192.168.1.254/24
eth1:0 : 192.168.4.1/24  passerelle : sans

Réseau pour accéder aux machines utilisants le protocole SMB de Samba.
eth2 : 192.168.16.1/24  passerelle : 192.168.16.254/24

Voir également la configuration de Samba - Une petite danse pas très Brazil

Chaque Réseau a son propre Switch ou Commutateur.

Liste des ports ouverts sur un serveur DNS et HTTP.

Port Etat Service
21 open FTP
22 open SSH
53 open Domain
80 open HTTP
111 open SunRpc
443 open HTTPS
664 open Asf-Secure-Rmcp
3306 open MySQL

Appliqué les Nom de Host ou hostname comme c’est indiqué sur l’article : Résolution DNS Fichier hosts et hostname - Servir avec Apache sur les noms

La question que l’on peut se poser, pourquoi faire cette préparation ?

La réponse est fort simple, il faut déjà transformer la machine en serveur de Nom avant de vouloir servir les DNS. Car l’installation de Linux avec une Fedora Core 6 est raisonné comme une « Workstation » et non pas comme un serveur de Nom.

Lors de l’installation de BIND, selon les versions, il va se passer plusieurs choses dont, l’importation d’une clef d’authentification et un setup pour créer un fichier de configuration de RNDC /etc/rndc.conf. Ainsi que le contact avec des serveurs DNS Maître pour télécharger la Zone racine de BIND.


Système d’exploitation :

Fedora 12 FC12 et Version Inférieure ou autre Linux.
FreeBSD BIND Système Nom Domaine - FreeBSD ou autre Unix.



Versions des logiciels et serveurs requis :

Composants ou Packages nécessaires pour : BIND

Voir l’article sur l’installation de Webmin - Administration serveur & système


Zone primaire

Webmin permet de visualiser tout cela !

Avec Webmin, la section Serveurs puis Serveur de noms de domaines BIND, accepter l’option qui est proposée, puis cliquez sur le bouton du bas ; Appliquer les changements.

Vérifier avec l’outil Services du menu Administration en cliquant sur named, que BIND est bien « Démarrer ».

Créer une zone primaire

Remplir les trois champs comme ci-dessous sans toucher au reste du formulaire.

 Options de la nouvelle zone primaire
Type de la zone Direct (noms -> adresses) Inverse (adresses -> noms)
Nom de domaine / Réseau
Fichier d'enregistrements Automatique
Serveur primaire Ajouter un enregistrement NS pour le serveur primaire ?
Adresse électronique
Utiliser un modèle de zone ? Oui Non Adresse IP des enregistrements des modèles
Adresse inverse d'enregistrement ? Oui Non
Temps de rafraîchissement Temps de retransfert
Temps d’expiration Durée de vie par défaut

Cela donne ce résultat :


$ttl 38400
nom-site.com.    IN        SOA   product.site-name.com.    root.nom-site.com (
                           1234476834
                           10800
                           3600
                           604800
                           38400 )
nom-site.com.              IN    NS    product.site-name.com.



Ne pas toucher au TTL, c’est à dire au chiffre, le reste doît être comme ci-dessous :

Edition d’une Zone primaire soit avec Webmin ou avec Emacs /var/named/chroot/var/named/nom-site.com.hosts


$ttl 38400
nom-site.com.    IN        SOA   product.site-name.com.    root.nom-site.com (
                           1234476834
                           10800
                           3600
                           604800
                           38400 )
@                          IN    NS    product.site-name.com.
nom-site.com.              IN    A     192.168.1.1
www.nom-site.com.          IN    A     192.168.1.1
ftp.nom-site.com.          IN    A     192.168.1.1
mail.nom-site.com.         IN    A     192.168.1.1



Voilà BIND Server paramétré, c’est la fin du moment de plaisir...

Comme dit un de mes amis, normalement cela va bien se se passer !


Redirection DNS

La redirection par exemple chez GANDI, choisir Modifier pour avoir un DNS personnalisé sans changer les DNS des trois premières zones, puis Gérer les zones ; Modification de zone DNS puis Interface experte.

Syntaxe :

@ 3600 IN A 000.000.000.000
ftp 3600 IN A 000.000.000.000
www 3600 IN A 000.000.000.000


Auteur
Eric Douzet
Début de page
bl br
C-extra.com v. 1.2.2 © 2003-2010, tous droits réservés  -  Mise à jour le 08 Septembre 2010 Infologisme.com