| Red Hat Linux 7.3: Guide de personnalisation officiel Red Hat Linux | ||
|---|---|---|
| Précédent | Chapitre 12. DHCP (Dynamic Host Configuration Protocol) | Suivant |
Vous pouvez configurer un serveur DHCP en utilisant le fichier de configuration /etc/dhcpd.conf.
DHCP utilise également le fichier /var/lib/dhcp/dhcpd.leases pour stocker la base de données d'attribution client. Reportez-vous à la la section intitulée Base de données d'attribution pour plus d'informations.
La première étape lors de la configuration d'un serveur DHCP consiste à créer le fichier de configuration 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 ne sont pas sensibles à la casse, et les lignes commençant par un dièse (#) correspondent à des commentaires.
Il y a deux types d'informations 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, les clients, 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. Les options configurent les options DHCP ; à l'opposé, les paramètres configurent des valeurs qui ne sont pas optionnelles ou contrôlent le comportement du serveur DHCP.
![]() | Important |
|---|---|
Si vous modifiez le fichier de configuration, les changements ne prendront pas effet tant que vous n'aurez pas redémarré le démon DHCP avec la commande service dhcpd restart. |
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 se trouvant en dessous.
Dans l'Exemple 12-1, les options routers, subnet-mask, domain-name, domain-name-servers et time-offset sont utilisées pour les déclarations host apex et raleigh.
Comme illustré dans l'Exemple 12-1, vous pouvez déclarer un subnet. Vous devez inclure une déclaration de subnet pour chaque sous-réseau de votre réseau. Sinon, le serveur DHCP ne démarrera pas.
Dans cet exemple, il y a des options globales pour tous les clients DHCP dans le sous-réseau et une gamme range est déclarée. Les clients reçoivent une adresse IP au sein de range.
Exemple 12-1. Déclaration de sous-réseau
subnet 192.168.1.0 netmask 255.255.255.0 {
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;
option time-offset -5; # Eastern Standard Time
range 192.168.1.10 192.168.1.100;
} |
Tous les sous-réseaux partageant le même réseau physique doivent être déclarés dans une déclaration shared-network comme illustré dans l'Exemple 12-2. 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. Le nom du fichier shared-network doit correspondre à un titre descriptif du réseau, comme test-lab pour décrire tous les réseaux dans un environnement de labo de tests.
Exemple 12-2. Déclaration de réseau partagé
shared-network nom {
option domain-name "test.redhat.com";
option domain-name-servers ns1.redhat.com, ns2.redhat.com;
option routers 192.168.1.254;
more parameters for EXAMPLE shared-network
subnet 192.168.1.0 netmask 255.255.255.0 {
parameters for subnet
range 192.168.1.1 192.168.1.31;
}
subnet 192.168.1.32 netmask 255.255.255.0 {
paramètres pour sous-réseau
range 192.168.1.33 192.168.1.63;
}
} |
Comme illustré dans l'Exemple 12-3, la déclaration group peut être utilisée pour appliquer des paramètres globaux à un groupe de déclarations. Vous pouvez regrouper des réseaux partagés, des sous-réseaux, des hôtes ou autres.
Exemple 12-3. Déclaration de groupe
group {
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;
option time-offset -5; # Eastern Standard Time
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
}
host raleigh {
option host-name "raleigh.example.com";
hardware ethernet 00:A1:DD:74:C3:F2;
fixed-address 192.168.1.6;
}
} |
Pour configurer un serveur DHCP qui attribue une adresse IP dynamique à un système dans un sous-réseau, modifiez l'Exemple 12-4 avec vos valeurs. Un temps d'attribution par défaut, un temps d'attribution maximum et des valeurs de configuration réseau pour les clients sont déclarés. Cet exemple assigne une adresse IP dans la gamme range 192.168.1.10 et 192.168.1.100 aux systèmes clients.
Exemple 12-4. Paramètre range
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "example.com";
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
} |
Pour attribuer une adresse IP à un client sur la base de l'adresse MAC de la carte d'interface réseau, utilisez le paramètre hardware ethernet dans une déclaration host. Comme illustré dans l'Exemple 12-5, la déclaration host apex indique que la carte d'interface réseau avec l'adresse MAC 00:A0:78:8E:9E:AA doit toujours recevoir l'adresse IP 192.168.1.4.
Remarquez que vous pouvez également utiliser le paramètre optionnel host-name pour attribuer un nom d'hôte au client.
Exemple 12-5. Adresse IP statique utilisant DHCP
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
} |
![]() | Astuce | |
|---|---|---|
Vous pouvez utiliser le fichier de configuration d'exemple dans Red Hat Linux 7.3 comme point de départ, puis y ajouter vos propres options de configuration personnalisées. Copiez-le à l'emplacement approprié à l'aide de la commande
|
Pour obtenir une liste complète des options et de leur fonction, reportez-vous à la page de manuel dhcp-options.
Sur le serveur DHCP, le fichier /var/lib/dhcp/dhcpd.leases stocke la base de données d'attribution client DHCP. Ce fichier ne doit pas être modifié manuellement. Les informations d'attribution DHCP pour toutes les adresses IP récemment attribuées sont automatiquement stockées dans cette base de données. Ces informations comprennent la durée de l'attribution, le destinataire de l'attribution d'adresse IP, les dates de début et de fin pour l'attribution et l'adresse MAC de la carte d'interface réseau qui a été utilisée pour l'attribution.
Toutes les heures de la base de données d'attribution sont des heures Greenwich Mean Time (GMT), et non des heures locales.
La base de données d'attribution est recréée de temps en temps de façon à ce que sa taille ne soit pas trop importante. Tout d'abord, toutes les attributions connues sont sauvegardées dans une base de données d'attribution temporaire. Le fichier dhcpd.leases est renommé dhcpd.leases~, et la base de données d'attribution temporaire est copiée dans dhcpd.leases.
Le démon DHCP peut être anéanti, et le système peut se bloquer après que la base de données d'attribution a été renommée avant la création du nouveau fichier. Si c'est ce qui se produit, aucun fichier dhcpd.leases n'est nécessaire pour lancer le service. Si cela se produit, ne créez pas de nouveau fichier d'attribution. Si vous le faites, toutes les anciennes attributions seront perdues, et cela provoquera de nombreux problèmes. Vous devez dans ce cas renommer le fichier de sauvegarde dhcpd.leases~ dhcpd.leases puis lancer le démon.
![]() | Important |
|---|---|
La première fois que vous lancez le serveur DHCP, celui-ci ne fonctionnera pas si le fichier dhcpd.leases n'existe pas. Utilisez la commande touch /var/lib/dhcp/dhcpd.leases pour créer le fichier s'il n'existe pas. |
Pour lancer le service DHCP, utilisez la commande /sbin/service dhcpd start. Pour interrompre le serveur DHCP, utilisez la commande /sbin/service dhcpd stop. Si vous voulez que le démon démarre automatiquement à l'amorçage du système, reportez-vous au Chapitre 8 pour en savoir plus sur la gestion des services.
Si vous avez plusieurs interfaces réseau attachées au système, mais que vous voulez que le serveur DHCP ne démarre que sur l'une d'elles, vous pouvez configurer le serveur DHCP afin qu'il démarrer uniquement sur ce périphérique. Dans /etc/sysconfig/dhcpd, ajoutez le nom de l'interface à la liste de DHCPDARGS :
# Command line options here DHCPDARGS=eth0 |
Il s'agit de quelque chose d'utile si vous avez un ordinateur protégé par un pare-feu et disposant de deux cartes réseau. L'une peut être configurée comme client DHCP pour récupérer une adresse IP d'Internet. L'autre peut servir de serveur DHCP pour le réseau interne se trouvant derrière le pare-feu. En ne spécifiant que la carte réseau connectée au réseau interne, votre système sera plus sûr puisque les utilisateurs ne pourront pas se connecter au démon à travers Internet.
Options de la ligne de commande pouvant être spécifiées dans /etc/sysconfig/dhcpd :
-p <numport> — Spécifiez le numéro de port udp sur lequel dhcp est en attente. Le port par défaut est le 67. Le serveur DHCP transmet les réponses aux clients DHCP clients à un numéro de port supérieur au port udp spécifié. Par exemple, si vous acceptez le port 67, le serveur attend sur le port 67 les requêtes et les réponses au client sur le port 68. Si vous spéficiez un port et que vous utilisez l'agent de relais DHCP, vous devez spécifiez le même port sur lequel l'agent de relais DHCP devrait attendre. Pour plus de détails, reportez-vous à la la section intitulée Agent de relais DHCP.
-f — Exécute le démon comme processus en arrière-plan. Cette option est principalement utilisée pour le débogage.
-d — Inscrit le démon du serveur DHCP dans le descripteur d'erreurs standard. Cette option est généralement utilisée pour le débogage. Si elle n'est pas spécifiée, l'inscription est faite dans /var/log/messages.
-cf filename — Spécifie l'emplacement du fichier de configuration, par défaut /etc/dhcpd.conf.
-lf nom_de_fichier Spécifie l'emplacement du fichier de la base de données d'attribution. Si ce fichier existe déjà, il est très important que le même fichier soit utilisé chaque fois que le serveur DHCP est démarré. Il est fortement recommandé de n'utiliser cette option que pour des fins de débogage sur des machines non productives. L'emplacement par défaut est /var/lib/dhcp/dhcpd.leases.
-q — N'imprime pas en entier le message de copyright au démarrage du démon.
L'agent de relais DHCP (dhcrelay) vous permet de relayer les requêtes DHCP et BOOTP d'un sous-réseau ne disposant pas de serveur DHCP vers un ou plusieurs serveurs DHCP sur d'autres sous-réseaux.
Lorsqu'un client DHCP demande des informations, l'agent de relais DHCP transfère la requête à la liste de serveurs DHCP spécifiés lors du démarrage de l'agent de relais DHCP. Lorsqu'un serveur DHCP renvoie une réponse, la réponse est diffusée sur le réseau ayant envoyé la requête d'origine.
L'agent de relais DHCP attend les requêtes DHCP sur toutes les interfaces à moins que l'option -i ne soit utilisée pour spéficier une ou plusieurs interfaces en particulier.
Pour démarrer l'agent de relais DHCP, utilisez la commande dhcrelay suivie par le nom d'au moins un serveur auquel la requête doit être relayée. L'agent peut être activé avec les options ci-dessous :
Tableau 12-1. >Options de l'agent de mise à jour DHCP
| Argument | Description |
|---|---|
| -i | Noms des interfaces réseau à configurer. Si aucune interface n'est spécifiée, toutes les interfaces réseau seront configurées, avec élimination des interfaces non-diffusion si possible. |
| -p | Port sur lequel dhcrelay doit écouter. L'agent de relais DHCP transmet les requêtes aux serveurs sur ce port et transmet les réponses aux clients au port suivant celui-ci. |
| -d | Force dhcrelay à toujours s'exécuter au premier plan. |
| -q | Désactivation de l'impression de la configuration réseau de dhcrelay au démarrage. |
| Précédent | Sommaire | Suivant |
| DHCP (Dynamic Host Configuration Protocol) | Niveau supérieur | Configuration d'un client DHCP |