Configuration de Bind9
Bind9, qu'est ce que c'est?
Bind9 est un serveur DNS, c'est à dire que Bind9 se charge de traduire un nom de domaine en une ip. C'est ce qui permet d'avoir des adresses telles que http://www.exemple.com au lieu de http://111.222.111.222/exemple.com
Rappel:
DNS = Domain Name Server (Serveur de nom de domaine)
La page d'aide de la configuration de bind9
Pour obtenir de l'aide au sujet de la configuration de bind9, il suffit de faire ceci:
Configuration de Bind9
Jetons un œil sur le fichier de configuration de bind9.
À la fin du fichier de configuration, un fichier est inclut (include "/etc/bind/named.conf.local";)
c'est dans ce fichier que se trouverons nos déclarations de zones.
// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
include "/etc/bind/named.conf.local";
include "/etc/bind/named.conf.default-zones";
jetons un œil également sur /etc/bind/named.conf.options
Pour éviter que notre serveur ne serve de relai DNS ouvert. Vérifier la présence de :
allow-recursion { 127.0.0.1; }; OU allow-recursion { localhost; }; ce qui revient au même
options {
directory "/var/cache/bind";
// If there is a firewall between you and nameservers you want
// to talk to, you may need to fix the firewall to allow multiple
// ports to talk. See http://www.kb.cert.org/vuls/id/800113
// If your ISP provided one or more IP addresses for stable
// nameservers, you probably want to use them as forwarders.
// Uncomment the following block, and insert the addresses replacing
// the all-0's placeholder.
// forwarders {
// 0.0.0.0;
// };
auth-nxdomain no; # conform to RFC1035
listen-on-v6 { any; };
listen-on { any; };
allow-recursion { 127.0.0.1;};
};
Déclaration des zones
On va maintenant ajouter nos zones dns, pour chaque site internet que vous hébergerez sur ce serveur vous devrez rajouter un zone dns dans le fichier /etc/bind/named.conf.local
Ici le nom de domaine est toujours exemple.com et la configuration de la zone pour exemple.com se fera dans le fichier /etc/bind/db.exemple.com
//
// Do any local configuration here
//
// Consider adding the 1918 zones here, if they are not used in your
// organization
//include "/etc/bind/zones.rfc1918";
//___________________________________________________
// ZONE DE RESOLUTION DE DOMAINE exemple.com |
//___________________________________________________|
zone "exemple.com" {
type master;
file "/etc/bind/db.exemple.com";
allow-transfer {213.186.33.199;}; // autorise le transfert vers ns.kimsufi.com
notify yes; // notification aux serveurs esclaves quand une zone est mise a jour
};
//____________________________
// ZONE DE RESOLUTION INVERSE |
//____________________________|
zone "444.333.222.111.in-addr.arpa" {
type master;
file "/etc/bind/444.333.222.111.in-addr.arpa";
// autorise le transfert vers ns.kimsufi.com
allow-transfer {213.186.33.199;};
notify no;
};
On créé le fichier de résolution de zone /etc/bind/db.exemple.com
$ttl 1H
exemple.com. IN SOA ksxxxxx.kimsufi.com. [email protected]. (
2011041902 ; Serial
1H ; Refresh
15M ; Retry
2W ; Expire
3M ; Minimum TTL
)
exemple.com. IN NS ksxxxxx.kimsufi.com.
exemple.com. IN NS ns.kimsufi.com.
exemple.com. IN MX 10 mail.exemple.com.
exemple.com. IN A 111.222.111.222
mail IN A 111.222.111.222
On créé le fichier de résolution inverse:
$TTL 1H
@ IN SOA ksxxxxx.kimsufi.com. [email protected]. (
2011042201 ; Serial
1H ; Refresh
15M ; Retry
2W ; Expire
3M ; Minimum TTL
)
IN NS ksxxxxx.kimsufi.com.
IN NS ns.kimsufi.com.
IN PTR exemple.com.
Explications:
exemple.com. | C'est votre nom de domaine, attention: ne pas oublier le point après le ndd | |
IN | Signifie internet, c’est à dire que la zone après le IN est destinée à internet | |
SOA | Star Of Authority indiquant le serveur de nom faisant autorité c’est à dire votre DNS principal. | |
ksxxxx.kimsufi.com. | DNS principal de votre domaine | |
[email protected] | adresse email (valide de préférence) il faut remplacer le @ par un point et on termine par un point également. |
|
1H | $TTL | TTL (Time to Live) pour cette zone. Nombre de secondes pendant lesquels les informations de la zone peuvent être considérées comme valides et être mises en cache |
2011041902 | Serial | N° de série à incrémenter à chaque modification de ce fichier. Par convention, on écrit: année-mois-jour-numéro_à_2_chiffres. doit comporter 10 chiffres |
1H | Refresh | A l'expiration du délai Refresh exprimé en secondes, le serveur esclave va entrer en communication avec le maitre, si il ne le trouve pas, il fera une nouvelle tentative au bout du délai Retry, si au bout du délai Expire il considérera que le serveur n'est plus disponible. |
15M | Retry | Nombre de secondes avant d'effectuer une nouvelle demande au serveur maître en cas de non réponse. |
2W | Expire | Temps (en secondes) d'expiration du serveur principal en cas de non réponse. |
3M | Minimum TTL | Durée de vie minimum du cache en secondes |
111.222.111.222 | IP | l'ip de votre serveur |
MX | Mail eXchange, qui dit où doit se diriger le courrier envoyé à un nom d'espace particulier contrôlé par cette zone |
Configuration du DNS secondaire sur le manager de votre hébergeur
Notre hébergement pour notre serveur dédié étant So You Start (soyoustart.com), on se connecte au manager de So You Start, dans notre espace de notre serveur dédié, on va sur la page suivante:
DNS > Ajouter un DNS secondaire
on remplit le formulaire
domaine: example.com
IP block: en principe ce champs est pré-remplit
IP: l'IP de votre serveur
Pour la validation (avant de valider), on vous demande de rajouter un code d'authentification dans votre configuration DNS: rejouter la ligne ownercheck avec le code fournit dans le formulaire.
$ttl 1H
exemple.com. IN SOA ksxxxxx.kimsufi.com. [email protected]. (
2011041902 ; Serial
1H ; Refresh
15M ; Retry
2W ; Expire
3M ; Minimum TTL
)
exemple.com. IN NS ksxxxxx.kimsufi.com.
exemple.com. IN NS ns.kimsufi.com.
exemple.com. IN MX 10 mail.exemple.com.
exemple.com. IN A 111.222.111.222
mail IN A 111.222.111.222
ownercheck IN TXT "zer4f12z65"
et on note le nom d'host secondaire sur un bout de papier et l'adresse ip secondaire.
On redémarre bind9 pour qu'il prenne en compte les changements.
Vérification de la configuration de bind9
Vérification des fichiers de configuration:
Si aucun message n'apparait alors c'est tout bon !
Vérification des fichiers de zone
named-checkzone exemple.com /etc/bind/db.exemple.com
named-checkzone exemple.com /etc/bind/444.333.222.111.in-addr.arpa
Vérification du serveur dns
nslookup exemple.com ksxxxxx.kimsufi.com
nslookup 111.222.111.222 ksxxxxx.kimsufi.com
Test du serveur DNS secondaire
dig exemple.com +nssearch
Modification des dns du domaine
Etant donné que nous avons choisit OVH comme hébergement pour notre serveur dédié:
Dans le manager ovh dans la partie nom de domain de exmple.com il faut changer les parametre dns
page d'ovh: Mutualisé -> Dommaine & DNS -> Nom de domaine -> Serveurs DNS
Et il faut maintenant attendre la propagation des dns
Remarque pour les .fr
Pour les sites en .fr vous devez faire un checkup sur le site de l'afnic : http://www.afnic.fr/outils/zonecheck/form
ATTENTION, en cas d'erreur fatale les dns ne seront pas validés...
Remarque : mieux vaut ouvrir le port 53 (dns) en tcp et udp, car il peu y avoir des soucis de validation des dns avec un .fr
Bonjour et merci pour cet excellent tuto, J'ai une question, dans le cas où je souhaite héberger le nom de domaine "exemple.com" sur un serveur web qui est chez moi (Debian 9.6) derrière une box (J'ai déjà ouvert les ports 80,443,21 et 53 pour bind). Que dois je mettre dans les 2 fichiers de config à la place du serveur principal qui pour vous est "ksxxxxx.kimsufi.com". Vous remerciant par avance pour votre réponse. PS : je suis conscient des risques d'héberger chez soi, j'ai aussi plusieurs serveurs et VPS chez OVH que j'ai configuré à la base grâce à vos tutos. Christophe
Répondre à ce(s) commentaires(s)