kraaakilo

Command Palette

Search for a command to run...

Blog dhcp-and-dns-configuration-basics
networkDECEMBER 10, 2023

DHCP and DNS Configuration : Basics

kraaakilo's avatar

Configuration de DHCP et DNS : Les bases

Dans cet article, nous allons explorer la configuration des serveurs DHCP et DNS sur une distribution Debian. Nous utiliserons isc-dhcp-server pour l’attribution dynamique des adresses IP et bind9 pour la résolution de noms. Ce guide couvre les étapes essentielles pour mettre en place ces services et assurer leur bon fonctionnement.


1. Configuration du serveur DHCP

1.1 Installation de isc-dhcp-server

Exécutez la commande suivante pour installer le serveur DHCP :

bash

apt install isc-dhcp-server

1.2 Configuration de /etc/dhcp/dhcpd.conf

Ajoutez les lignes suivantes dans le fichier de configuration :

bash

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.140 192.168.1.150;
    option routers 192.168.1.254;
    option domain-name-servers 192.168.1.100;
}

Explication des paramètres :

  • subnet 192.168.1.0 netmask 255.255.255.0 : Définit le sous-réseau géré par le serveur DHCP.
  • range 192.168.1.140 192.168.1.150 : Spécifie la plage d’adresses IP attribuables.
  • option routers 192.168.1.254 : Définit la passerelle par défaut.
  • option domain-name-servers 192.168.1.100 : Indique l’adresse IP du serveur DNS à utiliser.

1.3 Spécification de l’interface DHCP

Modifiez le fichier /etc/default/isc-dhcp-server pour préciser l’interface réseau à écouter :

bash

INTERFACESv4="wlan0"

1.4 Redémarrage du service

Après modification des fichiers de configuration, redémarrez le serveur DHCP :

bash

systemctl restart isc-dhcp-server.service

2. Configuration du serveur DNS (BIND)

2.1 Installation de bind9

Installez le serveur DNS et ses utilitaires avec la commande suivante :

bash

apt install bind9 bind9utils bind9-doc -y

2.2 Ajout d’une zone DNS

Modifiez le fichier /etc/bind/named.conf.local pour ajouter la configuration de la nouvelle zone :

bash

zone "example.com" IN {
    type master;
    file "/etc/bind/example.com";
};

2.3 Création du fichier de zone

Créez et éditez le fichier de zone avec nano :

bash

nano /etc/bind/example.com

Ajoutez la configuration suivante :

bash

; Fichier de zone pour example.com
$TTL    604800
@       IN      SOA     example.com. root.example.com. (
                          1         ; Serial
                          604800    ; Refresh
                          86400     ; Retry
                          2419200   ; Expire
                          604800    ; Negative Cache TTL
)

@       IN      NS      ns.example.com.
@       IN      A       192.168.1.100
ns      IN      A       192.168.1.100

Explication des paramètres :

  • $TTL 604800 : Définit la durée de vie des enregistrements DNS (604800 secondes = 1 semaine).
  • @ IN SOA example.com. root.example.com. : Définit l’autorité de la zone avec son administrateur.
  • @ IN NS ns.example.com. : Spécifie le serveur DNS principal pour la zone.
  • @ IN A 192.168.1.100 : Associe example.com à l’adresse IP 192.168.1.100.
  • ns IN A 192.168.1.100 : Associe ns.example.com à l’adresse IP 192.168.1.100.

2.4 Redémarrage des services

Après modification des fichiers de configuration, redémarrez les services bind9 et systemd-resolved :

bash

systemctl restart bind9
systemctl restart systemd-resolved

2.5 Vérification de la configuration

Testez la résolution DNS avec la commande :

bash

dig example.com

Si des erreurs surviennent, vérifiez chaque étape et assurez-vous que les services sont bien actifs et qu’aucun pare-feu ne bloque les connexions.


Conclusion

En suivant ce guide, vous avez installé et configuré un serveur DHCP pour l’attribution dynamique des adresses IP et un serveur DNS pour la résolution des noms de domaine. Cette configuration est essentielle pour assurer un bon fonctionnement du réseau et une gestion efficace des ressources.

Pour aller plus loin, vous pouvez explorer des fonctionnalités avancées comme la gestion des baux DHCP statiques, la configuration des transferts de zone DNS ou l’intégration de DNS sécurisé avec DNSSEC.

Let's connect

Stay in the loop with my latest projects and insights! Follow me on Twitter to catch all the updates as they happen. Don't miss out on the journey – let's connect and explore the world of tech together. Click to follow now!