
BIND (Berkeley Internet Name Domain) est le serveur DNS le plus utilisé sur Internet, spécialement sur les systèmes de type Unix.
Dans le tuto, j'utiliserai le nom de domaine
linuxtricks.lan
Pour installer le service DNS sur notre serveur, installer le paquet
net-dns/bind.
L'installer à l'aide de la commande
La sortie produite est de cet ordre :
Ne voulant pas le support LDAP :
echo "net-dns/bind -ldap" >> /etc/portage/package.use/custom
On peut installer aussi les utilitaires de tests de serveur DNS (nslookup etc...)
L’installation nous a créé un fichier
/etc/bind/named.conf .
Vérifier que les variables listen pour autoriser les autres ordinateurs du réseau à contacter le serveur DNS (indiquer
any;) :
Code TEXT : listen-on-v6 { any; };
listen-on { any; };
L'ACL "trusted" correspond aux ordinateurs qui pourront faire des requêtes à notre serveur DNS. Mettre un (ou des) sous réseau ou directement
any pour tous.
Code TEXT :acl "trusted" {
127.0.0.0/8;
10.21.27.0/24;
192.168.216.0/24;
};
On souhaite que notre DNS aille chercher ce qu'il ne sait pas résoudre vers les serveurs de Google.
Code TEXT : forward first;
forwarders {
8.8.8.8; // Google Open DNS
8.8.4.4; // Google Open DNS
};
On peut aussi activer le
logging (la journalisation), c'est utile si on a des problèmes :
Code TEXT :logging {
channel default_log {
file "/var/log/named/named.log" versions 5 size 50M;
print-time yes;
print-severity yes;
print-category yes;
//severity debug;
severity info;
};
category default { default_log; };
category general { default_log; };
category update { default_log; };
category update-security { default_log; };
category security { default_log; };
};
Ensuite, on complète la configuration de bind (toujours dans
/etc/bind/named.conf) en remplaçant les lignes
//zone "YOUR-DOMAIN.TLD" { et suivantes par la configuration de notre domaine (ci-dessous, un exemple) :
Code TEXT :zone "linuxtricks.lan" {
type master;
file "/var/bind/pri/linuxtricks.lan.zone";
allow-query { any; };
allow-transfer { xfer; };
};
On créé le fichier
/var/bind/pri/linuxtricks.lan.zone (dans mon exemple), mais plus généralement, celui qu'on a déclaré dans le
/etc/bind/named.conf (ci-dessous, un exemple) :
Code TEXT :$TTL 1W
@ IN SOA linuxtricks.lan. root.linuxtricks.lan. (
2008122601 ; Serial
28800 ; Refresh
14400 ; Retry
604800 ; Expire - 1 week
86400 ) ; Minimum
@ IN NS localhost.
@ IN A 127.0.0.1
@ IN A 192.168.1.11
oxygen IN A 192.168.1.11
www IN A 192.168.1.15
routeur IN A 192.168.1.254
@ IN AAAA ::1
On modifie le fichier
/etc/resolv.conf du serveur pour lui forcer à utiliser le DNS installé.
Code TEXT :# Generated by net-scripts for interface eth0
search linuxtricks.lan
nameserver 127.0.0.1
Sur Calculate Linux on peut directement utiliser l'outil "cl-setup-network" :
Maintenant que notre DNS est installé et configuré, on lance le service :
Il nous reste plus qu'à ajouter le service
named au démarrage du serveur :
En lançant mon service après une mise à jour, j'ai eu cette erreur :
En fait, c'est un problème de droit sur le fichier
named.conf qui se pose
Il suffit de remettre les bonnes permissions :
Ensuite tout démarre correctement