Red Hat Linux 9: Guide de personnalisation de Red Hat Linux | ||
---|---|---|
Précédent | Chapitre 18. Dynamic Host Configuration Protocol (DHCP) | 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 Section 18.2.2 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 signe dièse (#) correspondent à des commentaires.
Deux schémas de mise à jour DNS sont actuellement mis en place — le mode de mise à jour DNS ad-hoc et le mode de mise à jour rapide interaction DHCP-DNS par intérim. Si ces deux modes sont acceptés comme faisant partie du processus IETF standard, il y a aura un troisième mode — la méthode de mise à jour DNS standard. Le serveur DHCP doit être configuré de façon à utiliser l'un de ces deux schémas. La version 3.0b2pl11 et la version précédente utilisaient le mode ad-hoc, qui a cependant été abandonné. Si vous souhaitez conserver le même comportement, ajoutez la ligne suivante en haut du fichier de configuration:
ddns-update-style ad-hoc; |
Pour utiliser le deuxième mode, ajoutez la ligne suivante en haut du fichier de configuration:
ddns-update-style interim; |
Consultez la page de manuel relative à dhcpd.conf pour obtenir de plus détails sur les différents modes.
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, les 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 DHCP alors que les paramètres eux, configurent des valeurs qui ne sont pas facultatives 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 se trouvant en dessous.
![]() | Important |
---|---|
Si vous modifiez le fichier de configuration, les modifications ne prendront pas effet tant que vous n'aurez pas redémarré le démon DHCP à l'aide de la commande service dhcpd restart. |
Dans l'Exemple 18-1, les options routers, subnet-mask, domain-name, domain-name-servers et time-offset sont utilisées pour les déclarations host déclarées en dessous.
Comme l'Exemple 18-1 le montre, vous pouvez déclarer un subnet (ou sous-réseau). Pour ce faire, vous devez inclure une déclaration 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 plage, range, est déclarée. Les clients reçoivent une adresse IP au sein de range.
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 -18000; # Eastern Standard Time range 192.168.1.10 192.168.1.100; } |
Exemple 18-1. Déclaration de sous-réseau
Tous les sous-réseaux partageant le même réseau physique doivent être déclarés dans une déclaration shared-network comme le montre l'Exemple 18-2. Les paramètres se trouvant au sein du fichier 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.
shared-network name { 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 { parameters for subnet range 192.168.1.33 192.168.1.63; } } |
Exemple 18-2. Déclaration de réseau partagé
Comme l'illustre l'Exemple 18-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.
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 -18000; # 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; } } |
Exemple 18-3. Déclaration de groupe
Pour configurer un serveur DHCP qui attribue une adresse IP dynamique à un système dans un sous-réseau, modifiez l'Exemple 18-4 avec vos valeurs spécifiques. 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 aux systèmes clients, des adresses IP dans la gamme range 192.168.1.10 et 192.168.1.100.
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; } |
Exemple 18-4. Paramètre 'range'
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 le montre l'Exemple 18-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.
Notez que vous pouvez également utiliser le paramètre facultatif host-name pour attribuer un nom d'hôte au client.
host apex { option host-name "apex.example.com"; hardware ethernet 00:A0:78:8E:9E:AA; fixed-address 192.168.1.4; } |
Exemple 18-5. Adresse IP statique utilisant DHCP
![]() | Astuce | |
---|---|---|
Vous pouvez utiliser le fichier de configuration d'exemple figurant dans Red Hat Linux 9 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 relative à 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 pas 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 grande. 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 le changement de nom de la base de données d'attribution, avant la création du nouveau fichier. Si tel est le cas, aucun fichier dhcpd.leases n'est nécessaire pour lancer le service. Dans ce cas, ne créez pas de nouveau fichier d'attribution. Si vous le faites, toutes les anciennes attributions seront perdues, et cela entraînera de nombreux problèmes. Vous devez dans ce cas changer le mon du 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 préalablement. Si le fichier n'existe pas, utilisez la commande touch /var/lib/dhcp/dhcpd.leases pour le créer. |
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 14 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 le démarrage du serveur DHCP seulement sur l'une d'elles, vous pouvez configurer le serveur DHCP afin qu'il démarre 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 doté de deux cartes réseau. L'une d'elles 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 par le biais de l'Internet.
Options de la ligne de commande pouvant être spécifiées dans /etc/sysconfig/dhcpd:
-p <numport> — Spécifie 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 à un numéro de port supérieur au port udp spécifié. Par exemple, si vous acceptez le port 67 (port par défaut), le serveur attend sur le port 67 les requêtes et sur le port 68 les réponses au client. Si vous spécifiez un port et que vous utilisez l'agent de relais DHCP, vous devez spécifier le même port d'attente pour l'agent de relais DHCP. Pour obtenir de plus amples informations sur le sujet, reportez-vous à la Section 18.2.4.
-f — Exécute le démon comme processus de front. 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 principalement utilisée pour le débogage. Si elle n'est pas spécifiée, l'inscription est faite dans /var/log/messages.
-cf nomfichier — Spécifie l'emplacement du fichier de configuration, par défaut /etc/dhcpd.conf.
-lf nom-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 qu'à 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 l'intégralité du 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 les interfaces ne soient spécifiées dans /etc/sysconfig/dhcrelay avec la directive INTERFACES.
Pour démarrer l'agent de relais DHCP, utilisez la commande service dhcrelay start.
Précédent | Sommaire | Suivant |
Dynamic Host Configuration Protocol (DHCP) | Niveau supérieur | Configuration d'un client DHCP |