Création — Nicolas THOREZ 2020/02/20 12:04
Le service DNS (Domain Name System) correspond à l'annuaire de votre réseau. Il transforme les adresses telles que server.shyrka.sys en adresses IP permettant la communication entre les machines via leur FQDN (Fully-Qualified Domain Name) ou leur nom d'hôte (pour linux) et NetBIOS (pour Windows). Sous debian, le service DNS est fourni par BIND (Berkeley Internet Name Daemon).
root. Faîtes donc attention à ce que vous faîtes.APT :
apt-get update
apt-get install -y bind9
Pour une bonne configuration du serveur BIND, il faut configurer plusieurs fichiers, correspondant à des propriétés bien précises :
Ce fichier de configuration est /etc/bind/named.conf. On le configure en y ajoutant les informations suivantes :
shyrkasys.local dans cet exemple)master quand le serveur fait autorité pour la zone (serveur primaire ou maître).slave quand le serveur est une copie du serveur principal.hint pour les serveurs racines DNS./etc/bind/zones/shyrkasys.local dans cet exemple)forwarders{}. Cette option permet en temps normal de renvoyer les requêtes vers les serveurs secondaires pour la zone (serveurs définis par leurs adresses IP). Cependant en n'indiquant aucune adresse, on empêche tout simplement les requêtes d'aller interroger les serveurs DNS d'internet quand le serveur BIND n'arrive pas à les résoudre.La section à ajouter ressemble donc à cela :
zone "shyrkasys.local" {
type master;
file "/etc/bind/zones/shyrkasys.local";
forwarders{};
};
Ce fichier doit être celui que vous avez indiqué dans le fichier /etc/bind/named.conf. L'entête de ce fichier contient différentes informations concernant la zone :
TTL (Time To Live). Elle indique à tout système effectuant une requête auprès de ce serveur, combien de temps cette information est valide et donc quand est ce qu'il doit réinterroger le serveur. Dans cet exemple j'ai choisi 1h soit 3600s.SOA (Start Of Authority). Entrée indispensable qui indique notamment :NS (Name Server) correspondants aux noms des serveurs DNS pour cette zone.A (Address) correspondants aux adresses IPv4 des serveurs enregistrés dans les entrées NS.AAAA correspondants aux adresses IPv6 des serveurs enregistrés dans les entrées NS.L'entête ressemble donc à cela :
$TTL 3600
@ IN SOA dns.shyrkasys.local. root.shyrkasys.local. (
2020022004 ; serial
7200 ; refresh
900 ; retry
604800 ; expire
600 ) ; ttl
@ IN NS dns
@ IN A 192.168.0.250
Une fois l'entête créée, on peut ajouter à la suite les différentes entrées telles que :
A et AAAACNAME (Canonical NAME)SRV (SeRVice)MX (Mail eXchanger)TXT (TeXT)SPF (Sender Policy Framework)Exemple :
router IN A 192.168.0.1 printer IN A 192.168.0.2 share IN A 192.168.0.10 dns IN A 192.168.0.250 mail IN A 192.168.0.251 ldap IN A 192.168.0.252 webmail IN CNAME mail
Pour que le système fonctionne correctement, il est impératif de créer une zone de recherche inversée pour chaque zone créée. Pour cela, le principe est le même que pour la création d'une zone à quelques détails près.
Dans le fichier /etc/bind/named.conf, on va créer une nouvelle zone. Sa particularité fera que son nom sera l'adresse du réseau de la zone écrite à l'envers suivie de in-addr.arpa correspondant au domaine des recherches inversées. Du coup, pour un réseau de classe C comme 192.168.0.X, le nom de la zone inversée sera 0.168.192.in-addr.arpa.
Exemple :
zone "0.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/shyrkasys.local.inv";
forwarders{};
};
Le fichiers de configuration est, là aussi, celui indiqué dans le fichier named.conf pour la zone de recherche inversée (/etc/bind/zones/shyrkasys.local.inv dans notre exemple). Il reprend la même entête que le fichier de configuration de la zone à l’exception de :
NS, qui voit le nom des hôtes suivie du nom de domaine terminé par un ..A, qui est supprimée.
Le reste du fichier est constitué des entrées PTR (PoinTeR) correspondantes à chaque entrée A du fichier de zone.
Exemple :
$TTL 3600
@ IN SOA dns.shyrkasys.local. root.shyrkasys.local. (
2020022004 ; serial
7200 ; refresh
900 ; retry
604800 ; expire
600 ) ; ttl
@ IN NS dns.shyrkasys.local.
1 IN PTR router.shyrkasys.local.
2 IN PTR printer.shyrkasys.local.
10 IN PTR share.shyrkasys.local.
250 IN PTR dns.shyrkasys.local.
251 IN PTR mail.shyrkasys.local.
252 IN PTR ldap.shyrkasys.local.
bind après chaque modifications des fichiers de configuration.
systemctl start bind9.service
systemctl restart bind9.service
systemctl stop bind9.service
systemctl status bind9.service
systemctl enable bind9.service
Bien que ce ne soit pas obligatoire pour faire fonctionner le serveur BIND, on peut rajouter en redirecteurs principaux, les adresses des serveurs DNS de notre fournisseurs d'accès à internet ou autres. Pour cela :
/etc/bind/named.conf.options.forwarders0.0.0.0 par les adresses des serveurs DNS, chaque adresse sur une ligne différente et terminée par un ;.On peut aussi ajouter dans le même fichier les options de log, exemple :
logging {
channel "requetes" {
file "/var/log/bind/queries.log";
print-time yes;
print-category yes;
};
category queries { "requetes"; };
channel "securite" {
file "/var/log/bind/securite.log";
print-category yes;
print-severity yes;
print-time yes;
};
category security { "securite"; };
channel "global" {
file "/var/log/bind/global.log";
print-category yes;
print-severity yes;
print-time yes;
};
category general { "global"; };
channel "configuration" {
file "/var/log/bind/config.log";
print-category yes;
print-severity yes;
print-time yes;
};
category config { "configuration"; };
};
bind. Pour debian 10 où apparmor est installé par défaut, il faudra aussi modifier les autorisations d'écriture.