Translation(s): Deutsch - English - Français - Italiano - 简体中文 - Português (Brasil) - Русский

(!) ?Discussion

Notez que cette page est périmée. ISC a déclaré obsolète la suite ISC DHCP et suggère d'utiliser Kea à la place. Cette page mise à jour pour tenir compte de cela.

Introduction

Quand on configure un réseau local (LAN - Local Area Network), un client a besoin de certaines informations comme l'adresse IP de son interface, l'adresse IP d'un serveur de nom de domaine au moins et l'adresse IP d'un serveur du réseau qui sert de routeur vers internet. Dans une configuration manuelle, on doit entrer ces informations pour chaque nouveau client. Avec le Dynamic Host Configuration Protocol (DHCP), les ordinateurs font cela tout seul, à votre place. Ceci est particulièrement pratique pour connecter les ordinateurs portables au réseau.

Pour une configuration simple de son réseau, on a juste à configurer un seul ordinateur (par exemple celui qui est connecté à internet) comme serveur DHCP et tous les autres comme client DHCP.

Installation

Installez le paquet isc-dhcp-server.

Configuration

Le fichier de configuration d'un serveur DHCP s'appelle /etc/dhcp/dhcpd.conf. Songez à en faire une copie de sauvegarde avant de le modifier.

Configuration de base

Pour une configuration de base, il faut ajouter ou modifier les lignes suivantes, sans toucher aux autres lignes.

option domain-name "spices.org";

Cette entrée fournit le nom de domaine, spices.org dans ce cas (l'auteur n'est pas sûr que ce soit nécessaire. Il suppose que c'est nécessaire si on veut faire référence aux ordinateurs du réseau par leur nom sans ajouter le nom de domaine, c'est-à-dire si on veut se référer à l'ordinateur pepper.spices.org en le nommant juste pepper).

option domain-name-servers 213.191.92.86, 213.191.74.18;

Cette entrée fournit l'adresse IP de deux serveurs de nom de domaine (DNS), mais un seul devrait être suffisant. On liste ici les DNS qui fonctionnent chez son fournisseur d'accès internet, les adresses données ici ne devraient pas marcher pour la plupart d'entre vous.

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.1 192.168.1.10;
  option routers pepper.spices.org;
}

Cette entrée définit le réseau local et le serveur du réseau local. La plage d'adresses IP 192.168.1.1 à 192.168.1.255 est typique d'un intranet. Dans l'exemple, seule la plage 192.168.1.1 à 192.168.1.10 est permise et pepper.spices.org le serveur connecté à internet et qui sert de routeur.

Pour que ces changements soient effectifs, on doit redémarrer le démon DHCP. Il faut exécuter en tant que superutlilisateur la commande

root# service isc-dhcp-server restart

Configuration avancée

Attribuer des adresses fixes

Pour attribuer une adresse fixe, par exemple 192.168.1.5 à un ordinateur particulier appelé par exemple cinnamon, il faut ajouter au fichier de configuration une déclaration comme celle-ci :

host cinnamon {
  hardware ethernet 00:0D:87:B3:AE:A6;
  fixed-address 192.168.1.5;
}

Le nombre énigmatique 00:0D:87:B3:AE:A6 est l'adresse matérielle de l'interface de cinnamon. Il identifie le client au serveur. On peut l'obtenir en exécutant la commande ifconfig sur le client quand l'interface est activée.

Le nom (cinnamon) donné ici est tout à fait arbitraire et n'a jamais été utilisé pour rien d'autre à ma connaissance.

Informations supplémentaires

Consultez les pages de manuel pour connaitre les options avancées.

user> man dhcpd.conf 

Démarrer le serveur DHCP

Vous pouvez tester votre serveur DHCP sans redémarrer :

sudo service isc-dhcp-server stop
sudo service isc-dhcp-server start
sudo ifdown eth0
sudo ifup eth0

Pour regarder les messages d'erreur de votre serveur DHCP, ou bien lorsque un appareil a obtenu une adresse IP du serveur DHCP :

sudo tail /var/log/syslog

Pour vérifier si le démon de votre serveur DHCP est en marche :

ps ax | grep dhcpd

Exemple d'un serveur DHCP simple

Si vous voulez faire de votre ordinateur un serveur DHCP d'un réseau Ethernet, en utilisant l'adresse IP 192.168.1.100 pour votre ordinateur et à partir de l'adresse 192.168.1.101 (et suivantes) pour les autres ordinateurs, vous pouvez utiliser ces paramètres de configuration :

Contenu du fichier « /etc/network/interfaces » :

# L'interface réseau « loopback » (toujours requise)
auto lo
iface lo inet loopback

# Assigner une adresse IP statique pour ce serveur DHCP avec eth0 :
auto eth0
iface eth0 inet static
    address 192.168.1.100
    netmask 255.255.255.0
    broadcast 192.168.1.255
    gateway 192.168.1.1

Contenu du fichier « /etc/resolv.conf » :

# Utilisation du serveur DNS public de Google :
nameserver 8.8.8.8
nameserver 8.8.4.4
# (ou bien utilisez les adresses DNS fournies par votre fournisseur d'accès)

Contenu du fichier « /etc/dhcp/dhcpd.conf » :

option domain-name "mydebian";
# Utilisation du serveur DNS public de Google (ou bien utilisez l'adresse du serveur DNS fournie par votre fournisseur d'accès):
option domain-name-servers 8.8.8.8, 8.8.4.4;
# Configuration de votre sous-réseau (subnet) souhaité :
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.101 192.168.1.254;
    option subnet-mask 255.255.255.0;
    option broadcast-address 192.168.1.255;
    option routers 192.168.1.100;
    option domain-name-servers home;
}
default-lease-time 600;
max-lease-time 7200;
# Indique que nous voulons être le seul serveur DHCP de ce réseau :
authoritative;

Après avoir lancé le serveur DHCP (comme décrit plus haut, ou en redémarrant), vous devriez être capable d'attribuer vos autres appareils au réseau et ils devraient se voir attribuer automatiquement leur adresse de DHCP. Pour vous assurer d'un ordinateur est configuré pour obtenir son adresse IP en utilisant DHCP, écrivez ceci dans le fichier « /etc/network/interfaces » :

# L'interface réseau « loopback » (toujours requise)
auto lo
iface lo inet loopback

# Obtenir l'adresse IP de n'importe quel serveur DHCP
auto eth0
iface eth0 inet dhcp

(ou bien faites l'équivalent en utilisant Network Manager, ou avec ce que l'appareil utilise pour configurer son réseau)

Liens


CategoryNetwork CategorySoftware CategorySystemAdministration