
Le service Domain Name System sert à donner un nom
symbolique comme www.sharevb.net à une machine ayant une
adresse IP connue. En effet, il est plus simple de retenir
www.sharevb.net que
192.12.94.30. Le service DNS sert aussi à trouver l'IP d'un
nom DNS symbolique.
Pour résumé, à la base, le DNS stocke des associations « nom symbolique » <=> « adresse IP », et répond à des questions comme « Quel est le nom symbolique de 192.12.94.30 ? » ou encore « Quelle est l'IP de www.sharevb.net ». La première question s'appelle « résolution d'adresse» et la seconde « résolution de nom ».
Table des matières
I.Le système DNS 2
1.Les origines 2
2.Alors, c'est quoi DNS ? 2
3.Espace de noms, racine, hôte, FQDN... 2
4.Les serveurs DNS 3
5.Résolution de nom 4
6.TLD 4
II.Test de DNS 5
1.Test de DNS par cheminement manuelle avec nslookup 5
2.Test de DNS en détails 7
III.Configuration DNS d'un client 7
IV.Configuration d'un « serveur DNS » 7
1.Type d'enregistrements dans le DNS 7
2.Enregistrement SOA 9
3.Configuration de Bind : généralités 9
4.Configuration de Bind en DNS primaire 10
5.Configuration en secondaire 11
6.Configuration d'une zone DNS inverse 11
7.Démarrage du serveur DNS 12
V.Rotation de journal 12
VI.Utiliser rndc 12
1.Fichiers de configuration 13
a)/etc/named.conf 13
b)/etc/rndc.conf 13
2.Options de ligne de commande 14
VII.Et iptables dans tout ça 15
VIII.Bibliographie 15
Dans les débuts de l'informatique, les réseaux TCP/IP était très petit, il était donc plus simple de maintenir sur chaque machine, un fichier /etc/hosts contenant le mapping des IP <=> nom symbolique pour chaque machine. Ainsi chaque machine connaissez statiquement son nom et celui de toutes les autres machines accessibles. Cependant, si l'on voulait changer un nom d'une machine, il fallait le faire sur toutes.
Et puis, les réseaux se sont agrandis et Internet est né rendant impossible la gestion statique par fichiers /etc/hosts. Il a donc fallu inventer autre chose. Le système nommé Domain Name System (DNS) càd Système de nom de domaine, a été mis au point en novembre 1983 par Paul Mockapetris (RFC 882 et RFC 883), puis révisé en 1987 dans les RFC 1034 et 1035. Le DNS a fait l'objet depuis de nombreuses RFC.
Le système de résolution de nom contient :
un espace de noms hiérarchique permettant de garantir l'unicité d'un nom dans une structure arborescente comme le système de fichier d'UNIX (à ceci près que le séparateur est un point et non un slash).
un système de serveurs distribués permettant de rendre disponible l'espace de noms.
un système de clients permettant de « résoudre » les noms de domaines, c'est-à-dire demander au serveur le nom d'une IP ou l'IP d'un nom.
La structure du DNS est une arborescence (inversée), comme le système de fichier Unix. Chaque noeud de l'arbre porte le nom de « nom de domaine » et peut comporter un label de maximum 63 caractères. De plus, chaque noeud « nom de domaine » est séparé par un « . » (contrairement au système de fichier Unix à « / »).
Dans cette arborescence sont définis des domaines de niveaux supérieurs, appelés TLD (Top Level Domain) qui se trouve juste en dessous de la racine « . ». Pour faire simple (attention aux points terminaux qui sont très importants), ceux sont les « .fr. », « .com. », « .net. »

Ensuite viennent les noms de domaines, comme sharevb, google, microsoft, kernel...Ils peuvent être encore suivis par des noms de sous domaines, par exemple, pour dénoter l'appartenance à un service d'une entreprise.
Enfin, l'extrémité d'une branche est appelée hôte, et correspond à une machine ou une entité du réseau. Le nom d'hôte qui lui est attribué doit être unique dans le domaine ou sous domaine considéré. Par exemple, le serveur Web d'une entité accessible par internet porte souvent le nom de « www ».
On appelle souvent « domaine » tout ce qui précède le nom d'hôte, par exemple sharevb.net. est un domaine dont www est un hôte.
Le nom complet d'un hôte, domaine compris s'appelle un FQDN (Full Qualified Domain Name) càd Nom de Domaine Entièrement Qualifié. Il permet d'adresser uniquement une machine sur un réseau ou sur Internet. La profondeur maximale de l'arborescence est de 127 niveaux et la longueur maximale d'un nom FQDN est de 255 caractères. Par exemple, www.sharevb.net. est le FQDN de la machine hébergeant ce site (noté bien le « . » derrière « net »).
Le machines appelées « serveur DNS » permettent de connaître l'IP d'un nom FQDN et le FQDN d'une IP. Chaque domaine doit en posséder deux :
un serveur DNS primaire (primary DNS server) qui répond à toutes les requêtes des clients
un serveur DNS secondaire (secondary DNS server) qui peut être amené à répondre aux requêtes si le primaire n'est plus accessible. C'est une copie des données du primaire.
De plus, chaque DNS est déclaré dans le DNS du niveau immédiatement supérieur afin d'obtenir une architecture distribuée où chaque DNS n'est en charge que de son (ou ses) domaine(s). Il n'y a pas d'organisme qui se charge de toute l'arborescence.
Les serveurs correspondant aux TLD (noms de domaines de plus haut niveau) sont appelés « serveurs de noms racine ou root servers ». Il en existe treize, répartis sur la planète, possédant les noms « a.root-servers.net » à « m.root-servers.net ».
Un serveur de noms définit une zone, c'est-à-dire un ensemble de domaines sur lequel le serveur a autorité. Pour que le système DNS reste transparent de l'utilisateur, il est important de noter que :
Chaque ordinateur doit être configuré avec l'adresse d'une machine permettant de fournir l'IP d'un FQDN càd une machine serveur DNS. Lorsque vous vous connectez à Internet, votre FAI vous fournit l'adresse de ses propres serveurs DNS.
Il est nécessaire de fournir l'adresse de deux serveurs DNS au cas où l'un deviendrait inaccessible.
Le serveur le plus répandu s'appelle BIND (Berkeley Internet Name Domain). Il s'agit d'un logiciel libre disponible sous les systèmes UNIX, développé initialement par l'université de Berkeley en Californie et désormais maintenu par l'ISC (Internet Systems Consortium).
L'action de trouver l'IP d'un nom de domaine s'appelle « résolution de nom » et est confiée à un logiciel appelé « resolver ». Lorsqu'une application veut se connecter à une machine connue par son FQDN (par exemple, www.sharevb.net.), elle demande au resolver de lui renvoyer l'IP de cette machine. Le resolver va alors interroger un serveur DNS dont il trouve l'adresse dans sa configuration.
Le principe est le suivant, par exemple pour la question « Quelle est l'IP de www.sharevb.net ?» :
Une requête est ainsi envoyée au premier serveur de noms trouvé dans la configuration (serveur DNS primaire)
Si celui-ci possède l'association IP <=> FQDN dans son cache,
il renvoie l'information demandée au resolver (par exemple l'IP de www sur sharevb.net)
S'il ne la possède pas en cache,
il interroge un serveur racine (suivant le TLD du FQDN demandé, par exemple « .net. »).
le serveur de nom racine renvoie une liste de serveurs de noms faisant autorité sur le domaine du FQDN (par exemple, « sharevb.net. »)
le serveur primaire envoie alors la requête du resolver au premier serveur de noms de la liste reçue (par exemple, Quelle est l'IP de www sur le domaine sharevb.net. Que tu gères ?)
il met en cache la réponse du serveur DNS faisant autorité sur le domaine du FQDN
Dans tous les cas, le resolver renvoie la réponse du serveur à l'application

Il existe deux catégories de TLD (Top Level Domain) :
Les TLD dits « génériques » qui sont des noms de domaines génériques de niveau supérieur proposant une classification selon le secteur d'activité.
TLD historiques :
.com correspondait initialement aux entreprises à vocation commerciale. Maintenant, c'est le TLD par défaut accessible pour tous.
.edu correspond aux organismes éducatifs
.gov correspond aux organismes gouvernementaux
.int correspond aux organisations internationales
.mil correspond aux organismes militaires
.net correspondait initialement aux organismes ayant trait aux réseaux. Maintenant, il sert un peu à tout et est accessible à tous.
.org correspond habituellement aux entreprises à but non lucratif
nouveaux TLD introduits en novembre 2000 par l'ICANN :
.aero correspond à l'industrie aéronautique
.biz correspondant aux entreprises commerciales
.museum correspond aux musées
.name correspond aux noms de personnes ou aux noms de personnages imaginaires
.info correspond aux organisations ayant trait à l'information
.coop correspondant aux coopératives
.pro correspondant aux professions libérales
TLD spéciaux :
.arpa correspond aux infrastructures de gestion du réseau. Ce TLD sert à la résolution inverse permettant de trouver le nom DNS d'une IP
Les domaines dits «nationaux », appelés Country Code TLD. Ils correspondent aux différents pays et leurs noms correspondent aux abréviations des noms de pays définies par la norme ISO 3166. Par exemple, .de, .fr, .es, .uk...
[user@machine ~]$ nslookup
> server a.root-servers.net
Default server: a.root-servers.net
Address: 198.41.0.4#53
> set query=ns
> altavista.com
Server: a.root-servers.net
Address: 198.41.0.4#53
Non-authoritative answer:
*** Can't find altavista.com: No answer
Authoritative answers can be found from:
com nameserver = A.GTLD-SERVERS.NET.
com nameserver = G.GTLD-SERVERS.NET.
com nameserver = H.GTLD-SERVERS.NET.
com nameserver = C.GTLD-SERVERS.NET.
com nameserver = I.GTLD-SERVERS.NET.
com nameserver = B.GTLD-SERVERS.NET.
com nameserver = D.GTLD-SERVERS.NET.
com nameserver = L.GTLD-SERVERS.NET.
com nameserver = F.GTLD-SERVERS.NET.
com nameserver = J.GTLD-SERVERS.NET.
com nameserver = K.GTLD-SERVERS.NET.
com nameserver = E.GTLD-SERVERS.NET.
com nameserver = M.GTLD-SERVERS.NET.
A.GTLD-SERVERS.NET has AAAA address 2001:503:a83e::2:30
A.GTLD-SERVERS.NET internet address = 192.5.6.30
G.GTLD-SERVERS.NET internet address = 192.42.93.30
H.GTLD-SERVERS.NET internet address = 192.54.112.30
C.GTLD-SERVERS.NET internet address = 192.26.92.30
I.GTLD-SERVERS.NET internet address = 192.43.172.30
B.GTLD-SERVERS.NET has AAAA address 2001:503:231d::2:30
B.GTLD-SERVERS.NET internet address = 192.33.14.30
D.GTLD-SERVERS.NET internet address = 192.31.80.30
L.GTLD-SERVERS.NET internet address = 192.41.162.30
F.GTLD-SERVERS.NET internet address = 192.35.51.30
J.GTLD-SERVERS.NET internet address = 192.48.79.30
K.GTLD-SERVERS.NET internet address = 192.52.178.30
E.GTLD-SERVERS.NET internet address = 192.12.94.30
> server a.gtld-servers.net
Default server: a.gtld-servers.net
Address: 192.5.6.30#53
Default server: a.gtld-servers.net
Address: 2001:503:a83e::2:30#53
> altavista.com
Server: a.gtld-servers.net
Address: 192.5.6.30#53
Non-authoritative answer:
altavista.com nameserver = asia1.akam.net.
altavista.com nameserver = eur1.akam.net.
altavista.com nameserver = ns1-45.akam.net.
altavista.com nameserver = ns1-79.akam.net.
altavista.com nameserver = ns1-92.akam.net.
altavista.com nameserver = ns1.yahoo.com.
altavista.com nameserver = ns2.yahoo.com.
altavista.com nameserver = ns3.yahoo.com.
altavista.com nameserver = ns4.yahoo.com.
altavista.com nameserver = ns5.yahoo.com.
altavista.com nameserver = usc2.akam.net.
altavista.com nameserver = use1.akam.net.
altavista.com nameserver = usw1.akam.net.
Authoritative answers can be found from:
asia1.akam.net internet address = 144.135.8.182
eur1.akam.net internet address = 212.187.244.39
ns1-45.akam.net internet address = 193.108.91.45
ns1-79.akam.net internet address = 193.108.91.79
ns1-92.akam.net internet address = 193.108.91.92
ns1.yahoo.com internet address = 66.218.71.63
ns2.yahoo.com internet address = 66.163.169.170
ns3.yahoo.com internet address = 217.12.4.104
ns4.yahoo.com internet address = 63.250.206.138
ns5.yahoo.com internet address = 216.109.116.17
usc2.akam.net internet address = 207.126.99.93
use1.akam.net internet address = 63.209.170.136
usw1.akam.net internet address = 63.215.198.91
> server ns1.yahoo.com
Default server: ns1.yahoo.com
Address: 66.218.71.63#53
> altavista.com
Server: ns1.yahoo.com
Address: 66.218.71.63#53
Name: altavista.com
Address: 66.218.71.198
Un serveur DNS a deux rôles fondamentaux :
Répondre aux requêtes de toutes les autres machines du monde concernant son (ou ses) domaine(s). Par exemple si le serveur gère le domaine titi.com, la question pourrait être : “Quelle est l'adresse IP de la machine www.titi.com ?”.
Le serveur détenant les informations de zone est appelé primaire
Les serveurs qui sont là en cas de panne ou surcharge du primaire sont appelés secondaires. Ils détiennent une copie des informations du domaine.
Aider les machines clientes à obtenir les résolutions DNS dont elles ont besoin
Pour avoir l'IP d'une URL, on utilisera au choix :
dig adresse_internet [@server_DNS]
host adresse_internet [server_DNS]
nslookup adresse_internet [server_DNS]
Pour obtenir le nom d'une adresse IP, on utilisera :
dig -x IP [@server_DNS]
host IP [server_DNS]
nslookup IP [server_DNS]
Pour le nom du serveur de mail d'un domaine, on utilisera :
dig -t MX nom_domaine [@server_DNS]
host -t MX nom_domaine [@server_DNS]
nslookup -query=MX nom_domaine [server_DNS]
Voir tuto sur la configuration IP.
A la base le DNS est prévu pour servir des associations IP <=> FQDN mais pas seulement...
En réalité, on peut voir un DNS comme une base de données « répartie dans le monde » contenant des enregistrements (appelés RR pour Resource Records) et contenant des informations sur les noms de domaines.
Pour permettre un système de cache autorisant le système DNS à être réparti, les enregistrements de chaque domaine possèdent une durée de vie (appelée TTL pour Time To Live c'est à dire une durée de vie). Ceci permet aux serveurs intermédiaires de connaître la date de validité des informations et ainsi savoir s'il est nécessaire ou non de la revérifier pour mettre à jour le cache.
D'une manière générale, un enregistrement DNS comporte les informations suivantes :
FQDN TTL TYPE CLASSE RESOURCE_DATA
Par exemple : www.sharevb.net 3600 A IN 193.108.91.45
Les informations sont les suivantes :
FQDN : contient un nom DNS entièrement qualifié (FQDN) càd dire terminé par un « . » sans quoi ce nom devient relatif au nom de domaine principal par défaut qui lui sera donc suffixé. Cela peut être n'importe quel nom de machine possédant un nom. Par exemple, si l'on précise que l'on sert sharevb.net. FQDN peut être « www » pour indiquer que l'enregistrement concerne www.sharevb.net.
TTL : durée de vie en seconde de l'enregistrement
TYPE : définit le type d'information sur le FQDN. Cela comprend :
A : type de base permettant de faire la correspondance entre le FQDN (nom symbolique) et l'adresse IP fournie dans RESOURCE_DATA. Il peut y avoir autant de A que de machines sur le réseau
CNAME (Canonical Name) : type permettant de faire des alias sur un nom symbolique défini par un A. Cela permet par exemple de donner un alias « mail » pour la machine « www » si elle fait office de serveur Web et Courrier.
MX (Mail eXchange) : type permettant de définir les serveur SMTP du domaine. Lorsque quelqu'un envoie un mail à utilisateur@domaine.fr. Le serveur SMTP de cette personne demande au serveur DNS de domaine.fr l'adresse IP d'un de ses serveurs SMTP afin de transmettre le courrier directement. On peut définir la priorité (entre 0 et 65535) des serveurs mails d'un domaine afin de toujours en avoir un accessible. Par exemple « www.sharevb.net. IN MX 10 mail.sharevb.net. ».
HINFO : type permettant de décrire une machine : le matériel (CPU) et le système d'exploitation (OS). Il est bien évident que ce type est à proscrire car il peut donner des informations à un éventuel pirate (notamment l'OS).
NS : définit les serveurs DNS ayant autorité sur le domaine servi
PTR : définit une résolution inverse. Par exemple, « 4.3.2.13.in-addr.arpa. PTR www.sharevb.net » définit la résolution inverse de www.sharevb.net.
SOA (Start Of Authority) : définit les paramètre du serveur de noms et l'adresse email de l'administrateur (@ remplacé par un « . »)
CLASSE : indique le type d'adresse utilisée :
IN : adresse IP
CH : adresse Chaotique Frame Relay.
RESOURCE_DATA : données dépendant du TYPE :
A : une adresse IP sur 32bits (notation quaddot)
CNAME : un FQDN alias
MX : un valeur de priorité (0 à 65535) et un FQDN de serveur SMTP
NS : un FQDN de serveur DNS autoritaire sur la zone DNS définie
PTR : le FQDN correspondant à l'IP
SOA : beaucoup de choses de configuration
example.org. IN SOA ns1.example.org. admin.example.org. (
5 ; Serial
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
604800 ; Expire after 1 week
86400 ) ; Minimum TTL of 1 day
@ IN NS ns1.example.org.
Tous les serveurs DNS primaires doivent avoir une ligne comme ceci. Le @ représente l'origine (par ex : example.com).
Plusieurs choses sont importantes pour avoir une bonne configuration de BIND :
options {
#dossier de stockage des fichiers de zone
directory "/var/named";
#fichier cache
dump-file "/var/named/data/cache_dump.db";
#fichiers de stats
statistics-file "/var/named/data/named_stats.txt";
# indique à BIND de faire des requêtes depuis le port DNS
query-source address * port 53;
# d'accord, on sert une zone mais si on veut servir de relais vers un serveur DNS extérieur
forwarders {
#indique les IP de serveurs extérieurs pour servir les autres domaines que le notre
<IP primaire extérieur>;
<IP secondaire extérieur>;
};
};
#on sait quand même donner les adresses des « root servers »
zone "." IN {
type hint;
#on peut récupérer ce fichier à
# ftp://rs.internic.net/domain/named.root
file "named.ca";
};
Dans le fichier /etc/named.conf
:
zone "reseau.domaine.fr" IN {
//maitre de la zone
type master;
//nom du fichier dans /var/named
file "reseau.domaine.fr.zone";
//autorise le transfert de la zone par un DNS secondaire
allow-transfer {<IP dns secondaire>;};
};
Créer un lien dans le répertoire /var/named vers le fichier /var/named/chroot/var/named/reseau.domaine.fr.zone. Le serveur named étant chrooté dans /var/named/chroot, son répertoire racine est /var/named/chroot
[root]# ln -s /var/named/chroot/var/named/reseau.domaine.fr.zone /var/named/reseau.domaine.fr.zone
Dans le fichier /var/named/chroot/var/named/reseau.domaine.fr.zone :
$ORIGIN reseau.domaine.fr. #ajoute reseau.domaine.fr. au nom DNS ne se terminant pas par .
$TTL 86400 ; 1 day
reseau.domaine.fr. IN SOA <IP DNS> administrateur.reseau.domaine.fr. (
;date de création + incrément
2005111801 ; serial
10800 ; refresh (3 hours)
3600 ; retry (1 hour)
604800 ; expire (1 week)
86400 ; minimum (1 day)
)
#la machine par défaut du domaine
@ A <IP DNS>
#le serveur DNS par défaut du domaine
@ NS <IP DNS>
#un alias vers pc101
www CNAME pc1000
# deux adresses de machines
pc1000 A <une IP d'une machine du réseau>
toto A <une IP d'une autre machine du réseau>
Tout ce qui se termine par un . est un nom complet alors que ce qui ne se termine pas par un . se réfère à l'origine (définie par $ORIGIN ou par la clause zone de named.conf). Dans ce cas, l'origine sera ajoutée après ces noms relatifs.
Dans la configuration du primaire du serveur primaire, ajouter la clause allow-transfer
Ajouter dans la configuration named.conf du secondaire :
zone "reseau2.domaine.fr." IN {
#DNS secondaire
type slave;
#adresses IP de(s) DNS primaire(s)
masters {
<IP DNS primaire>;
};
//nom du fichier qui sera automatiquement créé par bind par demande au serveur primaire
file "slaves/reseau2.domaine.fr.zone";
};
Dans /etc/named.conf
:
zone "X.X.X.in-addr.arpa" IN {
#primaire
type master;
#ou secondaire
#type slave;
#masters {<IP primaire>;};
file "inv.reseau.domaine.fr.zone";
};
Le fichier
/var/named/chroot/var/named/inv.reseau.domaine.fr.zone
$ORIGIN
.reseau.domaine.fr.
$TTL 86400
X.X.X.in-addr.arpa. IN SOA <IP serveur DNS> administrateur.reseau.domaine.fr. (
2005111800 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
@ NS <IP serveur DNS>
#défini les noms des différentes machines en fonction de leur Ips
#il n'est pas nécessaire de préciser le début de l'IP
#car il est dans le nom du SOA
1 PTR pc1000
#on peut faire les alias simplement
1 PTR www
101 PTR toto
/etc/init.d/named start
Il est cependant souvent nécessaire de vérifier les logs /var/log/messages.
Si par exemple, vous obtenez un problème de droits sur les fichiers, vérifier qu'ils appartiennent bien à root:root ou root:named ou named:named et qu'ils sont en 640.
Bind enregistre toutes les requêtes qui lui sont adressés dans le journal /var/log/named.log.
Ce journal doit être régulièrement initialisé afin d'éviter qu'il ne grossisse indéfiniment. On peut utiliser pour cela un logiciel nommé logrotate.
Voici un script normalement nommé /etc/logrotate.d/named.
/var/log/named.log {
missingok
postrotate
/usr/bin/kill -HUP `cat /var/run/named/named.pid 2> /dev/null` 2> /dev/null || true
endscript
compress
}BIND contient un utilitaire appelé rndc qui permet d'administrer, localement ou à distance, le démon named grâce à des déclarations en lignes de commandes. Le programme rndc utilise le fichier /etc/rndc.conf pour ses options de configuration.
Afin d'empêcher des utilisateurs non autorisés sur d'autres systèmes de contrôler BIND sur votre serveur, on utilise une méthode de clé secrète partagée pour autoriser certains hôtes à contrôler BIND. Pour que rndc puisse émettre des commandes vers n'importe quel named, même sur un ordinateur local, les clés utilisées dans /etc/named.conf et /etc/rndc.conf doivent se correspondre.
Pour que rndc soit autorisé à se connecter à BIND, vous devez autoriser une assiocation IP <=> clé de cette façon :
controls {
inet 127.0.0.1 allow { localhost; } keys { <key-name>; };
};
|
Cette déclaration dit à named de se mettre à l'écoute du port TCP 953 de la boucle locale et d'autoriser les commandes rndc provenant de l'hôte local, si la clé adéquate est présentée. <key-name> fait référence à la déclaration key, qui se trouve aussi dans le fichier /etc/named.conf, par exemple :
key "<key-name>" {
algorithm hmac-md5;
secret "<key-value>";
};
|
Dans ce cas, <key-value> est une clé HMAC-MD5. Vous pouvez générer vos propres clés HMAC-MD5 à l'aide de la commande suivante :
dnssec-keygen -a hmac-md5 -b <bit-length> -n HOST <key-file-name> |
Une clé d'au moins 256 bits de long est un bon choix. La bonne clé qui doit être placée dans la zone <key-value> se trouve dans <key-file-name>.
Une clé ne peut pas s'appeler « key ».
Afin de configurer rndc pour qu'il utilise automatiquement la clé spécifiée dans /etc/named.conf pour l'hôte local, vous avez besoin de trois déclarations. La déclaration options vous permet de régler le serveur et la clé par défaut pour utilisation par rndc :
#définir la clé par défaut et l'IP par défaut
options {
default-server localhost;
default-key "<key-name>";
};
# autoriser la clé <key-name> pour l'hôte localhost
server localhost {
key "<key-name>";
};
#la clé à utiliser
key "<key-name>" {
algorithm hmac-md5;
secret "<key-value>";
};
|
<key-name> et <key-value> doivent être absolument identiques à leur configuration dans /etc/named.conf.
Une commande rndc se présente selon la forme suivante :
rndc [<options>] <commande> [<commande-options>] |
Quand on exécute rndc sur un hôte local configuré de façon appropriée, les commandes suivantes sont disponibles:
halt - Arrête immédiatement le service named.
querylog - Déclenche le logging pour toutes les requêtes effectuées par des clients vers le présent serveur de noms.
refresh - Rafraîchit la base de données du serveur de noms.
reload - Dit au serveur de noms de recharger les fichiers de zone mais conserve toutes les réponses précédemment placées en cache. Cela vous permet d'opérer des changements sur les fichiers de zone et de leur faire prendre effet sur vos serveurs maîtres et esclaves sans perdre toutes les résolutions de nom stockées.
Si vos changements n'affectent qu'une zone particulière, vous pouvez dire à named de ne recharger que cette zone-là. Tapez le nom de la zone après la commande reload.
stats - Evacue les statistiques du named en cours vers le fichier /var/named/named.stats.
stop - Arrête le serveur avec égards, en enregistrant toute mise à jour dynamique et donnée IXFR avant l'arrêt complet.
On peut à l'occasion vouloir passer outre les réglages par défaut dans le fichier /etc/rndc.conf. Sont disponibles les options suivantes :
-c <fichier-configuration> - Dit à rndc d'utiliser un autre fichier de configuration que le fichier par défaut /etc/rndc.conf.
-p <numéro-port-> - Spécifie l'utilisation d'un numéro de port différent du port par défaut 953 pour la connexion de rndc.
-s <serveur> - Dit à rndc d'envoyer la commande vers un autre serveur que celui que désigne l'optiondefault-server dans le fichier /etc/rndc.conf.
Afin d'accomplir ce travail, vous devez avoir configuré le service named pour qu'il accepte des commandes de la part de votre hôte et qu'il possède la clé pour ce service de noms.
-y <key-name> - Vous permet de spécifier une clé autre que l'option default-key dans le fichier /etc/rndc.conf.
Le service DNS utilise le port 53 :
en UDP pour les requêtes clients
en TCP pour les transferts entre serveurs primaire et secondaire
On aura donc les règles suivantes :
[root]# iptables -A INPUT -p udp --dport 53 -j ACCEPT
[root]# iptables -A OUTPUT -p udp --sport 53 -j ACCEPT
Et aussi une série de règles pour chaque DNS secondaire, pour autoriser les transferts uniquements entre DNS :
[root]# iptables -A INPUT -p tcp --dport 53 -s IP_DNS_secondaire -j ACCEPT
[root]# iptables -A OUTPUT -p tcp --sport 53 -d IP_DNS_secondaire -j ACCEPT
Temps d'acces des différents root servers : http://netmon.grnet.gr/stathost/rootns/
Map des root servers : http://www.icann.org/correspondence/roberts-testimony-14feb01.htm
Pour la resolution inverse (adresses vers noms), le decoupage a été confié aux entitées suivantes :
APNIC : www.apnic.net : Pour l'Asie et le Pacifique.
ARIN : www.arin.net : Pour l'Amérique du Nord et l'Afrique sub-saharienne.
LACNIC : www.lacnic.net : L'Amérique latine et quelques îles des Caraïbes.
RIPE NCC : www.ripe.net : L'Europe, le Moyen-Orient, l'Asie centrale, et les pays africains du nord de l'équateur.