dhclient.conf
Section: File Formats (5) Index
NOM
DESCRIPTION
DÉROULEMENT TEMPOREL DU PROTOCOLE
CONCESSIONS REQUISES ET REQUÊTES
DNS DYNAMIQUE
MODIFICATEURS D'OPTIONS
DÉCLARATIONS DE CONCESSIONS
DÉCLARATIONS D'ALIAS
AUTRES DÉCLARATIONS
EXEMPLE
VOIR AUSSI
AUTEUR
TRADUCTION
NOM
dhclient.conf - fichier de configuration du client DHCP
DESCRIPTION
Le fichier dhclient.conf contient les paramètres de configuration pour
dhclient,
le client DHCP de l'Internet Software Consortium.
Le fichier dhclient.conf est un fichier texte ASCII libre de forme.
Il est analysé par l'analyseur récursif-descendant intégré à dhclient.
Le fichier peut contenir des retours à la ligne, des tabulations
supplémentaires pour la mise en page.
Les mots clés du fichier sont insensibles à la
casse (différence minuscule/majuscule). Les commentaires peuvent être
placés n'importe où dans le fichier, sauf au sein des guillemets.
Les commentaires commencent avec le caractère # et se terminent avec
la ligne.
Le fichier dhclient.conf permet de configurer le comportement
du client jusque dans le moindre détail : déroulement temporel du protocole,
paramètres à demander au serveur, valeurs par défaut,
valeurs pour remplacer/compléter celles du serveurs.
Le fichier de configuration peut aussi être préinitialisé avec des adresses
pour les réseaux sans serveurs DHCP.
DÉROULEMENT TEMPOREL DU PROTOCOLE
Le comportement temporel du client n'a pas vraiment besoin d'être configuré par
l'utilisateur, car celui par défaut convient dans la plupart des cas.
Il produit des mises à jour assez fréquentes sans provoquer de
charges désordonnées sur le serveur.
Si toutefois c'est nécessaire, les déclarations suivantes peut être utilisées pour
ajuster le comportement temporel du client DHCP :
La déclaration
timeout
timeout
time
;
La déclaration
timeout
détermine la durée comprise entre le moment où le client
essaye de déterminer son adresse et celui où il décide qu'il n'arrivera pas
à contacter le serveur. La valeur par défaut de décompte est
60 secondes. Une fois qu'il a expiré, si des concessions
statiques sont définies dans le fichier de configuration, ou s'il reste des
concessions qui n'ont pas encore expiré dans la base de données des concessions,
le client va parcourir ces concessions et s'il en trouve une valide, il utilisera
l'adresse associée.
Si le client ne parvient pas à trouver une concession valide, il reprendra
le déroulement protocole au début, après un intervalle de temps défini.
La déclaration
retry
retry time;
La déclaration
retry
détermine la durée que le client doit laisser s'écouler avant de retenter de
contacter le serveur DHCP après une tentative infructueuse. Par défaut, cette durée est de 5 minutes.
La déclaration
select-timeout
select-timeout time;
Quand plusieurs serveurs DHCP servent un même réseau,
il est possible que le client reçoivent plusieurs réponses à son
message de découverte de concession initiale et d'avoir des préférences parmi
ses offres (par ex. choisir une adresse qui n'a jamais été utilisée plutôt que de
réutiliser une adresse qui vient juste de se libérer).
select-timeout
est la durée pendant laquelle le client doit attendre
les offres des serveurs avant de choisir. Si aucune offre n'a été reçue
avant l'expiration de select-timeout, le client acceptera la première offre qui arrivera.
Par défaut, select-timeout vaut zéro secondes - aussi le client choisi
la première proposition qu'il reçoit.
La déclaration
reboot
reboot time;
Quand le client redémarre, il essaye en premier lieu
de récupérer la dernière adresse qu'il avait. Ceci est appelé
l'état INIT-REBOOT. Si son redémarrage ne s'est pas accompagné d'un changement
de réseau, c'est la méthode la plus rapide pour démarrer.
La déclaration
reboot
définit la durée octroyée au client pour
pour récupérer son ancienne adresse. Au delà il abandonnera et essayera
d'en découvrir une nouvelle. Par défaut, le décompte de reboot est de
10 secondes.
La déclaration
backoff-cutoff
backoff-cutoff time;
Les clients utilisent un algorithme à retour exponentiel qui introduit
de l'aléatoire, aussi si plusieurs clients tentent de se configurer
simultanément, il n'y aura pas interblocage.
La déclaration
backoff-cutoff
détermine la durée maximal que les clients sont autorisés à passer dans la boucle
de retour. Par défaut cette durée est de 2 minutes.
La déclaration
initial-interval
initial-interval time;
La déclaration
initial-interval
définit la durée entre la première et la seconde tentative de contacter
un serveur. À chaque fois, un message est envoyé, l'intervalle entre les messages
est doublé et l'intervalle courant est multiplié par un nombre aléatoire
entre 0 et 1. Si l'intervalle est plus grand que la quantité backoff-cutoff,
et il est réduit à cette quantité. La valeur par défaut est 10 secondes.
CONCESSIONS REQUISES ET REQUÊTES
Le protocole DHCP autorise le client à demander l'envoi par le serveur
d'informations spécifiques et de ne pas envoyer les autres informations
qu'il n'est pas préparé à accepter.
Le protocole autorise aussi le client à rejeter les offres de serveurs
qui ne lui donnent pas satisfaction.
Les offres que les serveurs envoient aux clients DHCP peuvent
contenir des données variées. Ces données qui peuvent être spécialement
demandées sont appelés les options DHCP et sont définies
dans dhcp-options(5).
La déclaration
request
request [ option ] [ , ... option ] ;
La déclaration request oblige le client à demander à tout serveur
lui répondant de lui envoyer les valeurs pour les options spécifiées.
Seuls les noms des options doivent être spécifiés dans la déclaration
request - pas les paramètres des options. Par défaut, il demandera
au serveur DHCP les options subnet-mask, broadcast-address, time-offset,
routers, domain-name, domain-name-servers et host-name.
Si vous ne voulez rien demander, écrivez simplement la déclaration request
mais ne spécifiez aucun paramètre.
request;
La déclaration
require
require [ option ] [ , ... option ];
La déclaration require énumère la liste
des options qui doivent être présentes dans une offre pour qu'elle soit
acceptée. Les offres ne contenant pas toutes les options mentionnées seront
ignorées.
La déclaration
send
send { [ option declaration ]
[ , ... option declaration ] }
La déclaration send oblige le client à envoyer au serveur les options
mentionnées avec les valeurs spécifiées. Il y a de nombreuses déclarations
d'options comme décrit dans dhcp-options(5). Les options qui
sont systématiquement envoyées dans le protocole DHCP ne devraient pas être spécifiées
ici, à moins que le client ne spécifie une option
requested-lease-time différente de la durée de concession demandée
par défaut, qui est de deux heures.
L'autre utilisation évidente de cette déclaration est d'envoyer des informations
au serveur qui vont lui permettre de différencier ce client des autres.
DNS DYNAMIQUE
Désormais le client supporte de façon très limitée les mises à jours
DNS quand une concession est acquise. Ce n'est encore qu'au stade expérimental et ne
fera probablement pas ce que vous voulez. Ça ne peut marcher que si
ça vous arrive d'aller au delà du contrôle de votre serveur DNS, ce qui est
assez rare.
Pour que ça fonctionne, il faut que vous déclariez une clé et une zone
dans le serveur DHCP (voir dhcpd.conf(5) pour les détails). Vous
avez également besoin de configurer l'option fqdn du client comme suit :
send fqdn.fqdn "grosse.fugue.com.";
send fqdn.encoded on;
send fqdn.server-update off;
L'option fqdn.fqdn DOIT être un nom de domaine complet.
Vous DEVEZ définir une déclaration zone pour la zone qui sera
mise à jour. L'option fqdn.encoded peut être nécessaire
pour positionner à on ou off, en fonction du serveur DHCP que vous
utiliser.
MODIFICATEURS D'OPTIONS
Dans certains cas, un client peut recevoir des paramètres depuis le serveur, qui
ne sont pas vraiment approprié pour ce client, ou il peut ne pas recevoir
les informations dont il a besoin et pour lesquelles l'existence de valeurs par
défaut serait la bienvenue.
Il peut également recevoir des informations utiles, mais qui doivent être
complétées par des informations locales. Pour gérer tous ces besoins, plusieurs
modificateurs d'options sont disponibles.
La déclaration
default
default [ option declaration ] ;
Si pour certaines options, le client doit utiliser une valeur fournie par le
serveur, mais a besoin d'une valeur par défaut quand le serveur n'en a pas fournie,
ces valeurs peuvent être définies dans la déclaration
default.
La déclaration
supersede
supersede [ option declaration ] ;
Si pour certaines options le client doit toujours utiliser une valeur
locale plutôt que les valeurs du serveur quelles qu'elles soient,
ces valeurs peuvent être définies dans la déclaration
supersede.
La déclaration
prepend
prepend [ option declaration ] ;
Si pour certains ensembles d'options le client doit utiliser une valeur que vous
fournissez, puis les valeurs fournies par le serveur s'il y en a,
ces valeurs peuvent être définies dans la déclaration
prepend. Cette déclaration peut être uniquement utilisée pour les options
qui acceptent plus d'une valeur. Cette restriction ne doit pas
être contournée - sinon le comportement sera imprévisible.
La déclaration
append
append [ option declaration ] ;
Si pour certains ensembles d'options le client doit d'abord utiliser les
valeurs fournies par le serveur s'il y en a puis les valeurs que vous fournissez,
ces dernières doivent être définies dans la déclaration
append.
Cette déclaration ne doit être utilisée que pour les options
qui acceptent plus d'une valeur. Cette restriction ne doit pas
être contournée - sinon le comportement sera imprévisible.
DÉCLARATIONS DE CONCESSIONS
La déclaration
lease
lease { lease-declaration [ ... lease-declaration ] }
Le client DHCP peut décider après une certaine période de temps
(voir DÉROULEMENT TEMPOREL DU PROTOCOLE) qu'il ne réussira pas à contacter le serveur.
À ce moment, il consulte sa propre base de données des anciennes
concessions et teste celles qui n'ont pas encore expiré en
pingant le routeur mentionné pour cette concession pour voir si cette concession
peut marcher. Il est possible de définir une ou plusieurs concessions
fixed dans le fichier de configuration du client pour les réseaux
où il n'y a ni services DHCP ni BOOTP, ainsi le client peut encore
configurer automatiquement son adresse. Ceci est fait avec la déclaration
lease.
NOTE : la déclaration « lease » est aussi utilisé dans le fichier
dhclient.lease dans le but d'enregistrer les concessions que les serveurs DHCP
ont envoyé au client.
Une partie de la syntaxe pour les concessions décrite ci-dessous est
seulement requise dans le fichier dhclient.leases. Cette syntaxe est documentée
ici pour être complet.
Une déclaration lease consiste dans le mot clé lease, suivi par une accolade
ouvrante, suivie par une ou plusieurs déclarations de concessions, suivie par
une accolade fermante. Les déclarations de concession suivantes sont
possibles :
bootp;
La déclaration
bootp
est utilisée pour indiquer que la concession a été acquise en utilisant
le protocole BOOTP plutôt que le protocole DHCP.
Il n'est jamais nécessaire de le spécifier dans le fichier de configuration
du client. Le client utilise cette syntaxe dans son fichier base de données
de concession.
interface "string";
La déclaration de concession
interface
est utilisée pour indiquer l'interface sur laquelle la concession est valide.
Si cette concession est choisie elle ne sera essayée que sur cette interface.
Lorsque le client reçoit une concession depuis le serveur, il enregistre
le numéro d'interface sur laquelle la concession a été reçue.
Si une concession prédéfinie est spécifiée dans le fichier dhclient.conf,
bien que facultative, l'interface devrait aussi être spécifiée.
fixed-address ip-address;
La déclaration
fixed-address
est utilisée pour positionner l'adresse IP pour une concession particulière.
Cette déclaration est obligatoire pour toutes les déclarations de concessions
L'adresse IP doit être spécifiée sous forme de quatrain pointé (par ex.
12.34.56.78).
filename "string";
La déclaration
filename
spécifie le nom du fichier de démarrage à utiliser. Ceci ne doit pas être
utilisé par le script standard de configuration du client, mais elle est cité
ici pour être complet.
server-name "string";
La déclaration
server-name
spécifie le nom du serveur de démarrage à utiliser. Ceci est également inutilisé
dans le script standard de configuration du client.
option option-declaration;
La déclaration
option
est utilisée pour spécifier la valeur d'une option fournie par le serveur, ou,
dans le cas d'une concession prédéfinie déclarée dans dhclient.conf,
la valeur que les utilisateurs souhaitent utiliser dans le script de
configuration du client si la concession prédéfinie est utilisée.
script "script-name";
La déclaration
script
est utilisée pour spécifier le nom de chemin du script de configuration du
client. Ce script est utilisé par le client dhcp pour initialiser
la configuration de chaque adresse avant de demander une adresse,
pour tester l'adresse une fois qu'elle a été offerte, et pour positionner
la configuration finale une fois que la concession a été acquise.
Si aucune concession n'est acquise, le script est utilisé pour tester les
concessions prédéfinies, si il y en a, et il est appelé si aucune
concession valide ne peut être identifiée. Pour plus d'information, voyez
dhclient-script(8).
vendor option space "name";
La déclaration
vendor option space
est utilisée pour spécifier l'espace d'option doit être utilisé
pour décoder d'éventuelles options d'encapsulation propriétaires.
Le dhcp-vendor-identifier peut être utilisé pour demander une classe
spécifique d'option propriétaire depuis le serveur.
Voir dhcp-options(5) pour les détails.
medium "media setup";
La déclaration
medium
peut être utilisée sur les systèmes où l'interface réseau ne peut pas
déterminer automatiquement le type de réseau à laquelle elle est connectée.
La chaîne de caractère de configuration du médium est un paramètre
dépendant du système qui est passé au script de configuration du client dhcp
lorsqu'il initialise l'interface. Sur les systèmes Unix, l'argument est passé
à la commande ifconfig lors de la configuration de l'interface.
Le client dhcp déclarera automatiquement ce paramètre s'il l'utilise
(voir la déclaration media)
lors de la configuration de l'interface dans le but d'obtenir une
concession. Cette déclaration ne devrait être utilisé dans les
concessions prédéfinies que si l'interface réseau la requièrt.
renew date;
rebind date;
expire date;
La déclaration renew définit la date à laquelle le client dhcp
doit commencer à essayer de contacter son serveur pour renouveler
la concession qu'il utilise.
La déclaration rebind définie la date à laquelle le client dhcp
doit commencer à essayer de contacter un serveur dhcp
quelconque pour renouveler sa concession.
La déclaration expire définie la date à laquelle le client dhcp doit
arrêter d'utiliser sa concession s'il n'a pas été pas capable de contacter
un serveur pour la renouveler.
Ces déclarations sont automatiquement positionnées pour les concessions
acquises par le client DHCP, mais doivent obligatoirement être spécifiées
pour les concessions prédéfinies - une concession prédéfinies dont la date
d'expiration est passée ne sera pas utilisée par le client DHCP.
Les dates sont spécifiées comme suit :
<jour-semaine> <année>/<mois>/<jour>
<heure>:<min>:<sec>
Le jour de la semaine n'est présent que pour rendre la lecture humaine plus facile - il est
spécifié sous forme d'un nombre compris entre 0 et 6
(Dimanche = 0).
Lors de la déclaration de concessions prédéfinies, il peut être
égal en permanence à 0.
L'année est spécifiée avec le siècle, i.e. avec 4 chiffres.
Le mois est un nombre entre 1 et 12 (Janvier = 1).
Le jour est un nombre entre 1 et le nombre de jour dans le mois.
L'heure est un nombre entre 0 et 23, les minutes et les secondes
sont des nombres entre 0 et 59.
DÉCLARATIONS D'ALIAS
alias { declarations ... }
Certains clients DHCP faisant fonctionner des protocoles TCP/IP
mobiles peuvent nécessiter en plus de la concession qu'il acquière via
DHCP, une adresse IP alias et ainsi ils peuvent avoir une
une adresse permanente même lors de leurs déplacements.
Le client DHCP de l'Internet Software Consortium ne supporte pas directement
la mobilité avec des adresses fixes, mais dans le but de facilité une telle
expérimentation, le client dhcp peut être configuré avec une IP alias en utilisant
la déclaration alias.
La déclaration alias ressemble a une déclaration de concession, sauf
que les options autres que l'option de masque de sous-réseaux sont
ignorées par le script standard de configuration du client et les dates
d'expiration sont ignorées.
Une déclaration alias typique comporte une déclaration d'interface, une
déclaration d'adresse fixe pour l'adresse IP alias et une déclaration de
masque de sous-réseau. Une déclaration medium ne doit jamais être inclue
dans une déclaration alias.
AUTRES DÉCLARATIONS
reject ip-address;
La déclaration reject oblige le client DHCP à rejecter les offres
du serveurs qui utilisent une adresse spécifique en tant qu'identifiant
serveur. Ceci peut être utilisé pour éviter d'être configuré par
un imposteur ou des serveurs dhcp mal configurés, toutefois ceci ne devrait
être utilisé qu'en dernier ressort - il vaut mieux essayer de trouver les
mauvais serveurs DHCP et les corriger.
interface "name" { declarations ... }
Un client avec plus d'une interface réseau peut nécessiter différents
comportements en fonction de l'interface qui est en cours de configuration.
Tous les paramètres temporels et les déclarations autres que celles des
concessions et déclarations alias peuvent être encapsulées dans
la déclaration d'interface, et les paramètres seront alors
utilisés uniquement pour l'interface qui correspond au nom spécifié.
Les interfaces pour lesquelles il n'y a pas de déclaration d'interface
utiliseront les paramètres déclarés en dehors de toute déclaration
d'interface, ou les paramètres par défaut.
pseudo "name" " real-name" { declarations ... }
Dans certaines circonstances, il peut être utile de déclarer une pseudo-interface
et que le client DHCP acquière une configuration pour cette interface.
Chaque interface supportée par le client DHCP dispose
d'un automate client qui fonctionne
dessus pour acquérir et maintenir la concession.
Une pseudo-interface est simplement une autre machine à état fonctionnant
sur l'interface nommée real-name, avec sa propre concession et son
propre état.
Si vous utilisez cette caractéristique, vous pouvez fournir un identifiant
client pour la pseudo-interface et l'interface réelle, mais les deux identifiants
doivent être différents. Vous devez également fournir un script client
séparé pour la pseudo-interface pour faire ce que vous voulez avec l'adresse IP.
Par exemple :
interface "ep0" {
send dhcp-client-identifier "my-client-ep0";
}
pseudo "secondary" "ep0" {
send dhcp-client-identifier "my-client-ep0-secondary";
script "/etc/dhclient-secondary";
}
Le script client pour la pseudo-interface ne devrait pas configurer l'interface
pour l'activer (up) ou la désactiver (down) - principalement, tout ce dont elle
a besoin de gérer, ce sont les états dans lesquels une concession a été acquise
ou renouvelée, et les états dans lesquels une concession a expirée. Voyez
dhclient-script(8) pour plus d'informations
media "media setup" [ , "media setup", ... ];
La déclaration
media
définit un ou plusieurs paramètre de configuration de support physique qui peuvent être
essayé lors de la tentative d'acquisition d'une adresse IP. Le client dhcp
fera un cycle à travers chaque chaîne de caractère de configuration du média de
la liste, configurant l'interface en utilisant le configurateur et tentera de
démarrer, puis il essayera la suivante.
C'est utilisé pour les interfaces réseaux qui ne sont pas capables
de détecter toutes seules le type de support physique - quel qu'il soit
s'il permet d'envoyer une requête au serveur et de recevoir
réponse il sera considéré comme correct (sans garantie).
La configuration du support physique est utilisé uniquement dans la
phase initiale d'acquisition de l'adresse (ce sont les paquets
DHCPDISCOVER et DHCPOFFER). Une fois que l'adresse a été acquise, le client
dhcp l'enregistrera dans sa base de données des concessions ainsi que le type
de support physique qui a servi à l'obtenir.
Quand le client essayera de renouveler la concession, il utilisera
le même type de support physique. La concession doit expirer avant que le client
ne reviennent de son cycle au travers des types de supports physiques.
EXEMPLE
Le fichier de configuration suivant est utilisé sur un ordinateur portable
fonctionnant sous NetBSD. L'ordinateur a une adresse IP alias de 192.5.5.213
et il possède une interface, ep0 (une 3com 3C589C). Les intervalles de démarrage
ont été raccourcis par rapport aux valeurs par défaut, car le client ne se connecte
qu'à des réseaux où il y a peu d'activités DHCP, mais
l'ordinateur portable va errer sur de multiples réseaux.
timeout 60;
retry 60;
reboot 10;
select-timeout 5;
initial-interval 2;
reject 192.33.137.209;
interface "ep0" {
send host-name "andare.fugue.com";
send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
send dhcp-lease-time 3600;
supersede domain-name "fugue.com rc.vix.com home.vix.com";
prepend domain-name-servers 127.0.0.1;
request subnet-mask, broadcast-address, time-offset, routers,
domain-name, domain-name-servers, host-name;
require subnet-mask, domain-name-servers;
script "/etc/dhclient-script";
media "media 10baseT/UTP", "media 10base2/BNC";
}
alias {
interface "ep0";
fixed-address 192.5.5.213;
option subnet-mask 255.255.255.255;
}
C'est un fichier dhclient.conf très compliqué - en général, le vôtre
devrait être beaucoup plus simple. Dans de nombreux de cas, il suffit de créer
un fichier dhclient.conf vide - les valeurs par défaut suffisent le plus souvent.
VOIR AUSSI
AUTEUR
dhclient(8) a été écrit par Ted Lemon < mellon@vix.com> dans
le cadre d'un contrat avec Vixie Labs. Le financement de
ce projet a été pris en charge par l'Internet Software
Corporation. Pour en savoir plus sur l'Internet Software
Consortium, rendez-vous sur http://www.isc.org/isc.
TRADUCTION
Sébastien Blanchet, 2001
|