- Le serveur DNS gère la traduction des adresses IP en noms de domaine.
Grâce à ceci, je peux par exemple atteindre mon serveur nas : 172.16.20.20 avec nas.it.fr
- Plutôt que de se souvenir d’une adresse IP, on retient un nom.
Un problème avec sudo ?
Danger (N'utilisez pas le compte root)
Si vous configurez votre serveur directement en tant que root, n’oubliez pas de retirer sudo de chaque commande.
Si vous définissez un mot de passe pour le compte root, la commande sudo ne sera pas acceptée.
Connectez-vous directement en tant que root pour exécuter les commandes.
Vous pouvez aussi réinstaller votre système en laissant le mot de passe root vide lors de l’installation.
sudo s’installera et fonctionnera correctement.
ℹ️ Voici la configuration pour ce tutoriel :
| IP Serveur DNS | Masque Réseau | Nom de la machine (hostname) | Nom de domaine |
|---|---|---|---|
| 172.16.10.10 | 255.255.0.0 | dns | it.fr |
Ces 4 champs doivent être remplacés tout au long du tutoriel par les vôtres (correspondant à votre configuration).
Nommer la machine
sudo nano /etc/hostnamedns- Ici nous nommons la machine
dns
S’assurer que l’adresse IP du serveur est STATIQUE
ip a1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever2: ens192: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:cd:01:1a brd ff:ff:ff:ff:ff:ff altname enp11s0 inet 172.16.10.10/16 brd 172.16.255.255 scope global ens192 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fecd:11a/64 scope link valid_lft forever preferred_lft foreverip aaffiche la configuration réseau des interfaces connectées à la machine.
Mon interface ens192 possède l’adresse IP et le masque 172.16.10.10/16
Si vous avez fixé l’adresse de la machine lors de l’installation (configuration réseau manuelle), passez à l’étape suivante.
Passer l’adresse IP de l’interface en statique
sudo nano /etc/network/interfaces# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interfaceauto loiface lo inet loopback
# The primary network interfaceallow-hotplug ens192iface ens192 inet staticaddress 172.16.10.10netmask 255.255.0.0gateway 172.16.1.1Éditer le fichier hosts
sudo nano /etc/hosts172.16.10.10 dns.it.fr dns127.0.0.1 dnsIP_SERVEUR_DNS HOSTNAME.DOMAINE HOSTNAME
Éditer le fichier resolv.conf
sudo nano /etc/resolv.confdomain it.frsearch it.frnameserver 172.16.10.10Danger
Il est nécessaire de redémarrer la machine :
sudo rebootAprès le redémarrage de la machine, passez à l’étape suivante.
Installer bind9
sudo apt update && sudo apt install bind9 dnsutils-
sudo apt updatemettra à jour la liste des paquets en se basant sur le fichiersources.list -
sudo apt install bind9 dnsutilsinstalle bind9 pour gérer les zones DNS.
Copier et renommer le modèle de configuration
sudo cp /etc/bind/db.local /etc/bind/db.it.frLa commande cp nous permet de copier db.local (le fichier de configuration par défaut de bind9), et de le renommer en un nouveau fichier db.it.fr
Éditer le fichier de configuration de zone DNS
Tip
Pour gagner du temps, nous allons directement remplacer les champs “localhost” par “it.fr” (notre domaine), dans le fichier de configuration.
- Pour ce faire, nous utilisons l’utilitaire
sed:
sudo sed 'i/localhost/it.fr/g' db.it.fr- Vérifiez votre configuration :
;; BIND data file for local loopback interface;$TTL 604800@ IN SOA it.fr. root.it.fr. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL;@ IN NS localhost.@ IN A 172.16.10.10@ IN AAAA ::1dns IN A 172.16.10.10client IN A 172.16.20.20L’enregistrement A nommé client nous permet d’atteindre 172.16.20.20 avec client.it.fr
Ajouter un enregistrement DNS
| Hostname | IN | Type | Adresse IP |
|---|---|---|---|
| nas | IN | A | 172.16.30.30 |
;; BIND data file for local loopback interface;$TTL 604800@ IN SOA it.fr. root.it.fr. ( 2 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL;@ IN NS localhost.@ IN A 172.16.10.10@ IN AAAA ::1dns IN A 172.16.10.10client IN A 172.16.20.20nas IN A 172.16.30.30Voici une description des principaux types d’enregistrements DNS :
| A | AAAA | CNAME | MX | TXT | NS | SOA | SRV | PTR |
|---|---|---|---|---|---|---|---|---|
| Associe un nom d’hôte à une adresse IPv4 (32 bits) | Associe un nom d’hôte à une adresse IPv6 (128 bits) | Transfère un domaine ou un sous-domaine vers un autre domaine, ne fournit pas d’adresse IP | Dirige le courrier vers un serveur de messagerie | Peut être utilisé pour enregistrer des notes. Il est souvent utilisé pour la sécurité du courrier. | Stocke le serveur DNS pour une entrée | Stocke les informations administratives d’un domaine | Spécifie un port pour des services spécifiques | Fournit un nom de domaine dans les recherches inversées. La résolution inverse (l’inverse du type A). |
📝 Éditer le fichier named.conf
Il est nécessaire de spécifier le chemin des fichiers de configuration pour les zones DNS :
sudo nano /etc/bind/named.conf.local//// 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 "it.fr" { type master; file "/etc/bind/db.it.fr"; allow-query { any; };};zone "10.16.172.in-addr.arpa" { type master; file "/etc/bind/db.it.fr.inv";};-
Ligne 9
zone "MON_DOMAINE" -
Ligne 11
file "/etc/bind/db.MON_DOMAINE"; -
Ligne 14 Adresse inversée :
zone "3_PREMIERS_OCTETS_ADDRESSE_RESEAU.in-addr.arpa"
Exemple : Si mon adresse réseau est : 192.168.1.0/24 inversée : 1.168.192
- Ligne 16
file "/etc/bind/db.MON_DOMAINE.inv";
📝 Éditer le fichier named.conf.options
Nous allons maintenant configurer le fichier qui gère les options de redirection des requêtes :
sudo nano /etc/bind/named.conf.optionsoptions { 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 { 172.16.10.10; 1.1.1.1; };
//======================================================================== // If BIND logs error messages about the root key being expired, // you will need to update your keys. See https://www.isc.org/bind-keys //======================================================================== dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035 version none; forward only; // listen-on-v6 { any; };};-
Ligne 13, l’option
forwardersdéfinit les serveurs DNS.
Je saisis donc l’adresse IP de mon serveur DNS. -
C’est aussi grâce à cela que les machines du réseau peuvent accéder au WAN,
en spécifiant un DNS public (cloudflare: 1.1.1.1ougoogle: 8.8.8.8etc).