Tout sur Linux.

Dans ce tutoriel, nous avons mis en place notre propre serveur DHCP sur Ubuntu. Le protocole DHCP (Dynamic Host Configuration Protocol) est un service réseau permettant d’attribuer automatiquement des adresses IP aux clients d’un réseau. Il suit une architecture serveur-client où le client demande à un serveur DHCP d’obtenir une adresse IP. La plupart des routeurs ont un serveur DHCP intégré, mais nous pouvons également utiliser notre propre serveur DHCP.

Table des Matières

Comment fonctionne DHCP ?

Lorsque l’ordinateur démarre, il n’a pas d’adresse IP (en supposant qu’il n’a pas d’adressage IP statique configuré, ce que la plupart des machines n’ont pas). Il envoie une diffusion (sur l’adresse MAC avec tous les F) appelée Découverte DHCP. Les serveurs DHCP sont conçus pour répondre à de telles émissions.

Ils envoient ensuite le trafic unicast connu sous le nom d’offre DHCP au client demandeur. Cette Offre DHCP contient généralement l’adresse IP attribuée, l’adresse IP de la Passerelle par défaut et l’adresse IP du serveur DNS.

Le client à la réception de l’Offre envoie une Requête DHCP au Serveur DHCP en reconnaissant qu’il a accepté les informations qui lui sont données par le serveur.

Les serveurs DHCP conservent un enregistrement des adresses IP attribuées pour éviter une double attribution ou des collisions d’adresses IP.

Étant donné que les serveurs DHCP répondent à la diffusion, ils doivent être présents sur le réseau local et il ne doit pas y avoir plus d’un serveur DHCP sur un réseau local.

Méthodes d’allocation pour DHCP

Voici les deux méthodes d’allocation pour un serveur DHCP:

  • Manuel: Dans cette méthode, l’adresse IP est donnée sur la base de l’adresse MAC. Cela garantit qu’une machine particulière obtient une adresse IP fixe car son adresse IP est ensuite liée à son adresse MAC. Le serveur DHCP envoie une configuration constante au client en fonction de son adresse MAC dans ce type d’allocation.
  • Automatique : Dans cette méthode, les adresses IP sont attribuées automatiquement par le serveur DHCP selon le principe du premier arrivé, premier servi à partir d’un pool d’adresses. Il peut être divisé en deux catégories en fonction du temps de location – Le temps pendant lequel une adresse IP est attribuée à un client.
    • Temps de location fixe : Lorsqu’un client DHCP n’est plus sur le réseau pendant une période spécifiée, la configuration est expirée et renvoyée au pool d’adresses pour une utilisation par d’autres clients DHCP. Le client doit renégocier pour conserver l’adresse IP précédente.
    • Temps de location infini : Cela a pour effet d’attribuer en permanence une adresse IP à un client.

Étapes pour configurer le serveur DHCP sur Ubuntu

Maintenant, nous allons voir comment configurer un serveur DHCP sur Ubuntu.

1. Installer le serveur DHCP

Vous pouvez installer le serveur DHCP à l’aide de la commande apt comme suit:

sudo apt install isc-dhcp-server
 Apt Installe le serveur Dhcp
Installation du serveur DHCP à l’aide d’apt

Remarque : Vous pouvez installer un serveur DHCP même sur une édition de bureau plutôt que sur l’édition serveur d’Ubuntu. Voir cette réponse StackOverflow pour savoir comment les éditions de bureau et de serveur sont différentes / similaires.

2. Configurez le serveur DHPC

Le fichier de configuration principal du serveur DHCP ISC est /etc/dhcp/dhcpd.conf.

Sauvegarde du fichier de configuration d’origine

C’est toujours une bonne idée de sauvegarder les fichiers de configuration d’origine. En cas de problème, la configuration d’origine peut facilement être restaurée. Vous pouvez utiliser la commande cp ou la commande mv pour créer une sauvegarde.

sudo mv /etc/dhcp/dhcpd.conf{,.backup}#Expands to sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.backup

La commande ci-dessus crée un fichier dhcpd.conf.backup à l’aide de la fonction d’extension {} de bash.

Créer et éditer le nouveau fichier de configuration

Vous pouvez utiliser l’éditeur de votre choix. Je vais utiliser l’éditeur nano:

sudo nano /etc/dhcp/dhcpd.conf

Les options du fichier de configuration dépendent de la complexité du réseau.

Attribution d’adresses IP aléatoires à partir d’un pool

La chose la plus courante faite par un serveur DHCP est d’attribuer des adresses de manière aléatoire. Les paramètres pour la même chose seraient les suivants:

# a simple /etc/dhcp/dhcpd.confdefault-lease-time 600;max-lease-time 7200;authoritative;subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2;#option domain-name "mydomain.example";}

Selon cette configuration:

  • La durée de location par défaut pour un client est de 10 minutes (600 secondes) et la durée de location maximale est de 2 heures (7200 secondes).
  • Ce serveur DHCP est le serveur officiel du réseau local. (indiqué par authoritative).
  • Le serveur transmettra l’adresse IP de la plage 192.168.1.100 à 192.168.1.200.
  • Le serveur  » conseillera  » également au client d’utiliser 192.168.1.254 comme passerelle par défaut et 192.168.1.1 et 192.168.1.2 comme serveurs DNS.

Vous pouvez également inclure un nom de domaine.

Attribution d’une adresse IP statique à un client

Pour garantir qu’un client particulier obtiendra toujours la même adresse IP, le serveur DHCP aura besoin de l’adresse MAC de ce client. Ce serait le mode d’allocation manuelle dont il a été question plus tôt dans cet article.

Pour obtenir l’adresse MAC d’un client, nous pouvons utiliser la commande ip sur la machine cliente:

ip a
 Voir l'adresse Mac
Voir l’adresse MAC

( Vous devrez sélectionner l’adresse MAC de l’interface à partir de laquelle vous prévoyez de vous connecter au réseau. J’ai choisi le Sans fil.)

Maintenant que nous avons l’adresse MAC, nous pouvons la mettre dans le fichier de configuration:

host archmachine {hardware ethernet e0:91:53:31:af:ab;fixed-address 192.168.1.20;}

Cela réservera l’adresse IP 192.168.1.20 au client avec l’adresse MAC e0:91:53:31:af:ab.

Enfin, le fichier de configuration ressemble à ceci:

 Configuration du protocole DHCP 1

Vous pouvez omettre la partie Configuration IP statique si vous souhaitez attribuer automatiquement des adresses.

3. Lier le serveur DHCP à une interface

Le serveur DHCP peut avoir de nombreuses interfaces. Vous devez définir l’interface qu’il doit écouter. Vous pouvez afficher les interfaces sur le serveur en utilisant ip a tout comme le client.

L’interface avec laquelle se lier est définie dans le fichier /etc/default/isc-dhcp-server. Ouvrez-le en utilisant l’éditeur de votre choix. L’interface pour mon serveur est eth0. Cela peut être différent pour votre serveur. Modifier le fichier en tant que:

INTERFACESv4="eth0"
 Définir L'Interface À Écouter
Définir L’Interface À Écouter

4. Redémarrez le serveur DHCP

Maintenant que des modifications sont apportées à la configuration, nous devons redémarrer le service pour activer ces modifications. Pour ce faire, nous utiliserons la commande systemctl:

sudo systemctl restart isc-dhcp-server.service

5. Vérifiez l’état du serveur DHCP

Cela peut à nouveau être fait à l’aide de la commande systemctl :

sudo systemctl status isc-dhcp-server.service
 État Du Serveur DHCP
État Du Serveur DHCP

Un état actif indique que le serveur DHCP a correctement capté la configuration et est prêt à distribuer des adresses IP.

Dépannage

Le serveur DHCP écrit ses journaux dans le Syslog. Si vous constatez que l’état du service est inactif, vous devez consulter le fichier /var/log/syslog. À partir de là, vous pouvez rechercher le problème spécifique mentionné dans le Syslog sur Internet.

Conclusion

Dans cet article, nous avons appris le DHCP et comment installer un serveur DHCP sur une machine Ubuntu. Avoir un serveur DHCP automatise l’attribution des adresses IP, ce qui est bien mieux que la configuration manuelle de chaque client.

You might also like

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.