Forums d'entraide informatique - Astuces - Conseils

Des experts à votre écoute pour tous vos dysfonctionnements

Vous n'êtes pas identifié.


#1 12-08-2008 18:47:22

Admin
Administrateur
Date d'inscription: 30-07-2008
Messages: 683

Configuration d’un serveur DHCP sous Linux.

Dynamic Host Configuration Protocol.


La mise en place d’un serveur DHCP au sein d’une entreprise ajoute un confort non négligeable pour les utilisateurs et les administrateurs réseau.

En 1er lieu quelle simplicité d’exploitation pour les utilisateurs ! Il suffit de brancher le câble réseau et d’allumer la machine pour qu’elle soit opérationnelle sur le réseau. Plus besoin de configurer l’adresse IP, le DNS, la passerelle pour Internet, etc.

Pour l’administrateur, le serveur DHCP permet une gestion centralisée de l’attribution des adresses IP et des paramètres réseaux qui permettent un redéploiement très rapide en cas de modification.

De plus DHCP permet de gérer l’attribution d’adresses temporaires, quel administrateur n’est pas confronté à la classique demande d’une adresse ip pour quelques heures ou quelques jours ? Le serveur DHCP est là pour ça ! et les utilisateurs n’ont plus à vous demander d’adresse ni à vous prévenir qu’ils n’en ont plus besoin (ce qui est plutôt rare...) tout se fait automatiquement.

Le protocole a été présenté pour la première fois en octobre 1993 et est défini par La RFC2131 en mars 1997.
Installation

Nous allons détailler la mise en place d’un serveur DHCP sous une distribution Redhat 8.

Dans un 1er temps, vous devez définir la plage d’adresse attribuée au serveur DHCP, le type d’attribution d’IP (fixe ou dynamique), dans le cas d’un adressage dynamique ce denier est-il global ou partiel ? Posez-vous toutes ces questions avant d’entreprendre votre paramétrage.

Dans un 2emme temps récupérez le package dhcp-3.0pl1-9.i386.rpm sur le CDROM de la distribution Redhat ou directement sur le site ftp de Redhat.

Procédez à l’installation du package avec la commande suivante :

rpm -Uvh dhcp-3.0pl1-9.i386.rpm
Configuration

La première étape lors de la configuration d’un serveur DHCP consiste à modifier le fichier de configuration /etc/dhcpd.conf stockant les informations réseau pour les clients. Des options globales peuvent être choisies pour tous les clients, ou des options spécifiques pour chaque système client.

Le fichier de configuration peut contenir des tabulations ou lignes vierges complémentaires pour faciliter le formatage. Les mots clés sont insensibles à la casse, et les lignes commençant par un signe dièse (#) correspondent à des commentaires.

Il y a deux types de déclarations dans le fichier de configuration :

-  Paramètres - les paramètres règlent l’exécution d’une tâche, la façon dont une tâche est exécutée ou les options de configuration réseau à envoyer au client.

-  Déclarations - les déclarations décrivent la topologie du réseau, des clients ; elles fournissent des adresses pour les clients ou appliquent un groupe de paramètres à un groupe de déclarations.

Certains paramètres doivent commencer par le mot-clé option et sont considérés comme des options. Les options configurent les options transmises par le serveur DHCP comme l’adresse d’un routeur ou d’un serveur Wins par exemple, alors que les paramètres eux, configurent des valeurs qui ne sont pas obligatoires ou contrôlent le comportement du serveur DHCP.

Les paramètres (y compris les options) déclarés avant une section entre parenthèses ({ }) sont considérés comme des paramètres globaux. Ceux-ci s’appliquent à toutes les sections contenues entre les parenthèses en-dessous.

Voilà quelques exemples pour vous guider :

-  Dans cet exemple, il y a des options globales pour tous les clients DHCP et une plage (range), est déclarée. Les clients reçoivent une adresse IP au sein du range.


shared-network site.region.fr {
       option routers 192.168.1.254;
       option subnet-mask 255.255.255.0;
       option domain-name "example.com";
       option domain-name-servers 192.168.1.1 , 192.168.1.2;
       subnet 192.168.1.0 netmask 255.255.255.0 {
               range 192.168.1.10 192.168.1.20;
               }
       }

Détaillons les commandes :

shared-network site.region.fr

    * shared-network : Ce paramètre est utilisé pour regrouper plusieurs zones subnet lorsque celles-ci concernent le même réseau physique. Les paramètres se trouvant au sein du shared-network mais en dehors des déclarations subnet sont considérés comme des paramètres globaux.

option routers 192.168.1.254 ;

    * routers : Ce paramètre indique l’adresse IP du routeur.

option subnet-mask 255.255.255.0 ;

    * subnet-mask : Ce paramètre indique le masque de sous-réseau.

option domain-name "example.com" ;

    * domain-name : Ce paramètre indique le nom du domaine.

option domain-name-servers 192.168.1.1, 192.168.1.2 ;

    * domain-name-servers : Ce paramètre indique l’adresse IP du serveur DNS primaire et secondaire.

subnet 192.168.1.0 netmask 255.255.255.0

    * subnet : subnet permet de définir les sous-réseaux sur lesquels le serveur DHCP doit intervenir. C’est la partie la plus importante du fichier de configuration du serveur DHCP ; sans ça, votre serveur ne marchera jamais ! Je vais détailler la structure de la section subnet.

subnet numero_sous-reseau netmask netmask {
        [ paramètres ]
        [ déclarations... ]
}

          o numero_sous-reseau : Le numero_sous-reseau est donné sous forme d’adresse IP pointée. Il indique dans quel réseau sera déclaré le range d’adresses.

          o netmask : Le netmask est donné sous forme d’adresse IP pointée. Il doit être déclaré en concordance avec le numero_sous-reseau.

          o paramètres : Vous indiquez ici les options applicables uniquement au subnet comme le serveur DNS, le routeur, le serveur Wins, etc.

La seule déclaration obligatoire dans un subnet est le paramétre range.

range [ dynamic-bootp ] adresse_inferieure [ adresse_superieure ]

                + range : Le range permet de définir une plage d’adresses ip (borné par adresse_inferieure et adresse_superieure) diffusée par le serveur DHCP, à noter que la borne adresse_superieure est optionnelle, dans ce cas vous ne diffusez qu’une adresse (celle indiquée), en fonction de vos besoins plusieurs ranges peuvent se suivre. Le dynamic-bootp permet d’indiquer que le DHCP doit répondre aux requêtes BOOTP en donnant une adresse de cette plage.

          o déclarations : Vous indiquez ici la ou les section(s) host(s). Un host représente une machine au sein d’un subnet à qui on désire transmettre des paramètres particuliers. Attention un host ne doit pas faire partie de la plage d’adresses définie dans le ranger.

Syntax :


host nom {
        paramètres...
}

                + Un host peut-être défini de deux façons : soit par son nom (le nom qui suit le mot-clé host) mais c’est une utilisation plutôt rare et non recommandée, soit par son adresse hardware (ethernet). Vous devez dans ce cas ajouter la déclaration suivante :

hardware ethernet adresse_ethernet ;

                + La fonction la plus importante de la section host réside dans la possibilité d’affecter une adresse IP fixe à un host. Vous devez dans ce cas ajouter la déclaration suivante :

fixed-address adresse_ip ;

                + Les sections host peuvent être regroupées au sein d’une section group. Vous pouvez spécifier des paramètres qui seront applicables aux sous-séctions subnet inclues dans le group.

Syntaxe :


group {
      [ paramètres ]

        host nom1 {
                 [ paramètres ]
                 [ hardware ethernet ]
                 [ fixed-address ]
        }

        host nom2 {
                 [ paramètres ]
                 [ hardware ethernet ]
                 [ fixed-address ]
        }
}

Voilà un exemple qui regroupe les informations précédentes :


shared-network site.region.fr {
       option routers 192.168.1.254;
       option subnet-mask 255.255.255.0;
       option domain-name "example.com";
       option domain-name-servers 192.168.1.1 , 192.168.1.2;
       subnet 192.168.1.0 netmask 255.255.255.0 {
              range 192.168.1.10 192.168.1.20;
              range 192.168.1.50 192.168.1.70;
              }
       group {
              option ntp-servers 192.168.1.5;
              host nom1 {
                      max-lease-time 86400;
                      default-lease-time 10800;
                      hardware ethernet 00:30:04:2d:54:3f;
                      fixed-address 192.168.1.30;
                      }
              host nom2 {
                      option routers 192.168.1.125;
                      hardware ethernet 00:30:04:4d:24:2e;
                      fixed-address 192.168.1.31;
                      }
             }
       host nom3 {
               hardware ethernet 00:30:04:7d:15:7e;
               fixed-address 192.168.1.35;
               }
       }

Explications :

Déclaration d’un réseau partagé (shared-network) nommé site.region.fr qui contient des options globales :

    * option routers 192.168.1.254 ;
    * option subnet-mask 255.255.255.0 ;
    * option domain-name "example.com" ;
    * option domain-name-servers 192.168.1.1 , 192.168.1.2 ;

Ces options sont applicables à un subnet et 3 hosts.

Déclaration d’un subnet pour le réseau 192.168.1.0 avec le netmask 255.255.255.0 au sein duquel 2 range d’adresses sont déclarés :

    * range 192.168.1.10 192.168.1.20 ;
    * range 192.168.1.50 192.168.1.70 ;

Les adresses déclarées dans ces 2 ranges seront attribuées par le serveur DHCP aux clients.

Déclaration d’un groupe qui contient 2 hosts nom1 et nom2 avec une option applicable à ces hosts :

    * option ntp-servers 192.168.1.5 ;

Chacun des hosts déclaré dans le groupe a des options propres qui prévalent par rapport aux options globales.

Déclaration d’un host nom3 qui dépend directement du shared-network.
Options

Les paramètres qui commencent par option sont définis par la RFC2132 ils sont au nombre de 61 environ.
Conclusion

Le nombre de paramètres et leurs combinaisons sont très élevés, les quelques exemples que je vous donne ne sont pas exhaustifs mais correspondent aux cas les plus fréquents.

Personnellement j’utilise Webmin pour la gestion de mes serveurs DHCP ce qui me permet d’éviter les incohérences de syntaxe et une gestion très rapide des entrées.


Cordialement

L'équipe Parisdepannage.fr

Hors ligne

 

Pied de page des forums


Copyright Parisdepannage.fr


Fermer la fenètre