Bind
| Fiche express | |
|---|---|
| Type | Serveur DNS (résolution de noms) |
| Paquet | bind (démon named)
|
| Fichier principal | /etc/named.conf
|
| Ports | 53/tcp+udp (DNS), 953/tcp (rndc) |
| Voir aussi | Bind DNS server · Options bind · DNS client tools · Bind rsyslog |
BIND (Berkeley Internet Name Domain) est le serveur DNS de référence sous Linux — celui
que l'on trouve derrière la majorité des zones DNS auto-hébergées sur RHEL/CentOS et
Debian/Ubuntu. Le démon s'appelle named, sa configuration principale est
/etc/named.conf, et les données de zone (enregistrements A, MX, CNAME…) vivent
dans des fichiers de zone séparés, typiquement sous /var/named.
Cette page couvre l'installation et une configuration minimale à zone unique. Pour un déploiement maître/esclave avec transferts sécurisés et DNS dynamique, voir Bind DNS server.
Installation
yum install bind bind-utils # RHEL/CentOS
apt install bind9 dnsutils # Debian/Ubuntu
Le paquet bind-utils (RHEL) / dnsutils (Debian) fournit les outils
client (dig, host, nslookup) détaillés dans
DNS client tools. Le détail des sous-paquets (bind-chroot, bind-sdb,
bind-dyndb-ldap…) et des fichiers de configuration standard est dans
Options bind.
Configuration minimale (zone unique)
Exemple d'un named.conf déclarant une zone directe et sa zone inverse associée :
options {
directory "/var/named";
// redirige vers le résolveur du réseau local ce que ce serveur ne sait pas résoudre
forwarders { 192.168.0.1; };
statistics-file "/var/named/data/named_stats.txt";
dump-file "/var/named/data/cache_dump.db";
};
include "/etc/rndc.key";
zone "localdomain" IN {
type master;
file "localdomain.zone";
allow-update { none; };
};
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update { none; };
};
zone "0.168.192.in-addr.arpa" IN {
type master;
file "0.168.192.in-addr-arpa.zone";
allow-update { none; };
};
Fichier de zone directe correspondant (/var/named/example.com.zone) :
$ORIGIN example.com.
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2024010101 ; serial - (yyyymmdd+s)
3H ; refresh
15M ; retry
1W ; expiry
1D ) ; minimum
IN NS ns1.example.com.
ns1 IN A 192.168.0.120
www IN A 192.168.0.120
mail IN A 192.168.0.121
Le numéro de serial doit être incrémenté à chaque modification de zone, sans quoi les serveurs esclaves ne détecteront pas le changement (voir la notion de zone SOA détaillée dans Options bind).
Résolveur côté client
# /etc/resolv.conf
nameserver 192.168.0.120
search example.com
Sur une machine où le réseau est géré par NetworkManager/network-scripts,
ajouter PEERDNS=no dans le fichier ifcfg-ethX de l'interface pour
empêcher que le DHCP n'écrase ce resolv.conf à chaque renouvellement de bail.
Démarrage et test
systemctl enable --now named # RHEL7+/systemd
# service named start ; chkconfig named on # RHEL5/6 (legacy, voir Chkconfig)
nslookup www.example.com 127.0.0.1
Voir aussi
- Bind DNS server — déploiement maître/esclave, transferts de zone signés (TSIG), DNS dynamique
- Options bind — panorama des paquets, fichiers de configuration standard et options courantes
- DNS client tools —
dig, test de transfert de zone, résolution récursive complète - Bind rsyslog — redirection des journaux de
namedvers un fichier dédié - Unbound — résolveur DNS alternatif, plus simple pour un usage cache-only