Le package BIND fournit un serveur et un client DNS.
Téléchargement (HTTP): http://gd.tuwien.ac.at/infosys/servers/isc/bind9/9.2.2/bind-9.2.2.tar.gz
Téléchargement (FTP): ftp://ftp.isc.org/isc/bind9/9.2.2/bind-9.2.2.tar.gz
Taille du téléchargement: 4,8 Mo
Estimation de l'espace disque requis: 90 Mo
Estimation du temps de construction: 0,89 SBU
Installez BIND en lançant les commandes suivantes:
./configure --prefix=/usr --sysconfdir=/etc && make && make install |
named.conf, root.hints, 127.0.0, rndc.conf
Nous configurons BIND pour qu'il soit lancé dans une prison chroot en tant qu'utilisateur non privilégié (named). Cette configuration est plus sécurisée car une compromission DNS peut seulement affecter quelques fichiers dans le répertoire HOME de l'utilisateur named.
Tout d'abord, nous créons l'utilisateur et le groupe non privilégiés named:
groupadd -g 200 named && useradd -m -g named -u 200 -s /bin/false named |
Ensuite nous configurons quelques fichiers, répertoires et périphériques nécessaires à BIND:
cd /home/named && mkdir -p dev etc/namedb/slave var/run && mknod /home/named/dev/null c 1 3 && mknod /home/named/dev/random c 1 8 && chmod 666 /home/named/dev/{null,random} && mkdir /home/named/etc/namedb/pz && cp /etc/localtime /home/named/etc |
Créez le fichier named.conf à partir duquel named lira l'emplacement des fichiers de zone, les serveurs de nom racines et les clés DNS sécurisés:
cat > /home/named/etc/named.conf << "EOF" options { directory "/etc/namedb"; pid-file "/var/run/named.pid"; statistics-file "/var/run/named.stats"; }; controls { inet 127.0.0.1 allow { localhost; } keys { rndc_key; }; }; key "rndc_key" { algorithm hmac-md5; secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K"; }; zone "." { type hint; file "root.hints"; }; zone "0.0.127.in-addr.arpa" { type master; file "pz/127.0.0"; }; EOF |
Créez un fichier zone avec le contenu suivant:
cat > /home/named/etc/namedb/pz/127.0.0 << "EOF" $TTL 3D @ IN SOA ns.local.domain. hostmaster.local.domain. ( 1 ; Serial 8H ; Refresh 2H ; Retry 4W ; Expire 1D) ; Minimum TTL NS ns.local.domain. 1 PTR localhost. EOF |
Créez le fichier root.hints avec les commandes suivantes:
Note : Faites attention et assurez-vous qu'il n'existe aucun espace final dans ce fichier.
cat > /home/named/etc/namedb/root.hints << "EOF" . 6D IN NS A.ROOT-SERVERS.NET. . 6D IN NS B.ROOT-SERVERS.NET. . 6D IN NS C.ROOT-SERVERS.NET. . 6D IN NS D.ROOT-SERVERS.NET. . 6D IN NS E.ROOT-SERVERS.NET. . 6D IN NS F.ROOT-SERVERS.NET. . 6D IN NS G.ROOT-SERVERS.NET. . 6D IN NS H.ROOT-SERVERS.NET. . 6D IN NS I.ROOT-SERVERS.NET. . 6D IN NS J.ROOT-SERVERS.NET. . 6D IN NS K.ROOT-SERVERS.NET. . 6D IN NS L.ROOT-SERVERS.NET. . 6D IN NS M.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 6D IN A 198.41.0.4 B.ROOT-SERVERS.NET. 6D IN A 128.9.0.107 C.ROOT-SERVERS.NET. 6D IN A 192.33.4.12 D.ROOT-SERVERS.NET. 6D IN A 128.8.10.90 E.ROOT-SERVERS.NET. 6D IN A 192.203.230.10 F.ROOT-SERVERS.NET. 6D IN A 192.5.5.241 G.ROOT-SERVERS.NET. 6D IN A 192.112.36.4 H.ROOT-SERVERS.NET. 6D IN A 128.63.2.53 I.ROOT-SERVERS.NET. 6D IN A 192.36.148.17 J.ROOT-SERVERS.NET. 6D IN A 192.58.128.30 K.ROOT-SERVERS.NET. 6D IN A 193.0.14.129 L.ROOT-SERVERS.NET. 6D IN A 198.32.64.12 M.ROOT-SERVERS.NET. 6D IN A 202.12.27.33 EOF |
Le fichier root.hints est une liste des serveurs de nom racines. Ce fichier doit être mis à jour périodiquement avec l'outil dig. Consultez le manuel de référence de l'administrateur BIND 9 pour plus de détails.
Créez rndc.conf avec les commandes suivantes:
cat > /etc/rndc.conf << "EOF" key rndc_key { algorithm "hmac-md5"; secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K"; }; options { default-server localhost; default-key rndc_key; }; EOF |
Le fichier rndc.conf contient des informations pour contrôler les opérations de named avec l'outil rndc.
Note : Remplacez yourdomain.com avec votre propre nom de domaine valide.
cp /etc/resolv.conf /etc/resolv.conf.bak && cat > /etc/resolv.conf << "EOF" search yourdomain.com nameserver 127.0.0.1 EOF |
Indiquez les permissions sur la prison chroot avec la commande suivante:
chown -R named.named /home/named |
Créez le script de démarrage bind:
cat > /etc/rc.d/init.d/bind << "EOF" #!/bin/bash # Début $rc_base/init.d/bind # Basé sur le script sysklogd de LFS-3.1 et précédents. # Réécrit par Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting named..." loadproc /usr/sbin/named -u named -t /home/named -c \ /etc/named.conf ;; stop) echo "Stopping named..." killproc /usr/sbin/named ;; restart) $0 stop sleep 1 $0 start ;; reload) echo "Reloading named..." /usr/sbin/rndc -c /etc/rndc.conf reload ;; status) statusproc /usr/sbin/named ;; *) echo "Usage: $0 {start|stop|restart|status}" exit 1 ;; esac # Fin $rc_base/init.d/bind EOF |
Ajoutez les liens symboliques des niveaux d'exécution:
chmod 754 /etc/rc.d/init.d/bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc0.d/K90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc1.d/K90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc2.d/K90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc3.d/S90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc4.d/S90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc5.d/S90bind && ln -s /etc/rc.d/init.d/bind /etc/rc.d/rc6.d/K90bind |
Alors, lancez BIND avec le nouveau script de démarrage:
/etc/rc.d/init.d/bind start |
Testez la nouvelle installation de BIND 9. Tout d'abord, recherchez l'adresse locale de l'hote avec dig:
dig -x 127.0.0.1 |
Maintenant, essayez la recherche de noms externes, en prenant note de la différence de vitesse dans des recherches répétées grace au cache. Lancez la commande dig deux fois sur la meme adresse:
dig beyond.linuxfromscratch.org && dig beyond.linuxfromscratch.org |
Vous pouvez voir des résultats pratiquement instantanés avec des recherches cachées de named. Consultez bind-9.2.2/doc/arm/Bv9ARM.html, le manuel de référence de l'administrateur de BIND pour plus d'options de configurations.
Le package BIND contient dig, host, rndc, rndc-confgen, named-checkconf, named-checkzone, lwresd, named, dnssec-signzone, dnssec-signkey, dnssec-keygen, dnssec-makekeyset et nsupdate.
dig interroge les serveurs DNS.
host est un utilitaire pour des recherches DNS.
rndc contrôle l'opération de BIND.
rndc-confgen génère les fichiers rndc.conf.
named-checkconf vérifie la syntaxe des fichiers named.conf.
named-checkzone vérifie la validité du fichier zone.
lwresd est un serveur de noms réalisant un cache seul pour être utilisé par des processus locaux.
named est le démon du serveur de noms.
dnssec-signzone génère des versions signées des fichiers zone.
dnssec-signkey signe des ensembles de clés des fichiers zone.
dnssec-keygen est un générateur de clés pour le DNS sécurisé.
dnssec-makekeyset génère un ensemble de clés de un à plusieurs clés créées par dnssec-keygen.
nsupdate est utilisé pour soumettre des requêtes de mises à jour DNS.
Précédent | Sommaire | Suivant |
Autres logiciels serveurs | Niveau supérieur | Running a CVS server |