Dhcp sous fedora 11
-
Upload
dimitri-lembokolo -
Category
Technology
-
view
4.355 -
download
0
description
Transcript of Dhcp sous fedora 11
Dimitri LEMBOKOLO
1
DHCP SOUS FEDORA 11
Dynamic Host Configuration Protocol (DHCP) est un terme anglais désignant un protocole
réseau dont le rôle est d’assurer la configuration automatique des paramètres IP d’une station,
notamment en lui affectant automatiquement une adresse IP et un masque de sous-réseau.
DHCP peut aussi configurer l’adresse de la passerelle par défaut, des serveurs de noms DNS
et des serveurs de noms NBNS (connus sous le nom de serveurs WINS sur les réseaux de la
société Microsoft).
La conception initiale d’IP supposait la préconfiguration de chaque ordinateur connecté au
réseau avec les paramètres TCP/IP adéquats : c’est l’adressage statique. Sur des réseaux de
grandes dimensions ou étendues, où des modifications interviennent souvent, l’adressage
statique engendre une lourde charge de maintenance et des risques d’erreurs. En outre les
adresses assignées ne peuvent être utilisées même si l’ordinateur qui la détient n’est pas en
service : un cas typique où ceci pose problème est celui des fournisseurs d’accès à internet
(FAI ou ISP en anglais), qui ont en général plus de clients que d’adresses IP à leur disposition,
mais dont les clients ne sont jamais tous connectés en même temps.
DHCP apporte une solution à ces deux inconvénients :
seuls les ordinateurs en service utilisent une adresse de l’espace d’adressage ;
toute modification des paramètres (adresse de la passerelle, des serveurs de noms) est
répercutée sur les stations lors du redémarrage ;
la modification de ces paramètres est centralisée sur les serveurs DHCP.
Le protocole a été présenté pour la première fois en octobre 1993 et est défini par la RFC
1531, modifiée et complétée par les RFC 1534, RFC 2131 et RFC 2132.
Ce protocole peut fonctionner avec IPv4 ; il fonctionne aussi avec IPv6 (DHCPv6), toutefois
en IPv6, les adresses peuvent être auto configurées sans DHCP.
Fonctionnement
L’ordinateur équipé de TCP/IP, mais dépourvu d’adresse IP, envoie par diffusion un
datagramme (DHCP DISCOVER) qui s’adresse au port 67 de n’importe quel serveur à
l’écoute sur ce port. Ce datagramme comporte entre autres l’adresse physique (MAC)
du client.
Tout serveur DHCP ayant reçu ce datagramme, s’il est en mesure de proposer une
adresse sur le réseau auquel appartient le client, diffuse une offre DHCP (DHCP
OFFER) à l’attention du client (sur son port 68), identifié par son adresse physique.
Cette offre comporte l’adresse IP du serveur, ainsi que l’adresse IP et le masque de
sous-réseau qu’il propose au client. Il se peut que plusieurs offres soient adressées au
client.
Le client retient une des offres reçues (la première qui lui parvient), et diffuse sur le
Dimitri LEMBOKOLO
2
réseau un datagramme de requête DHCP (DHCP REQUEST). Ce datagramme
comporte l’adresse IP du serveur et celle qui vient d’être proposée au client. Elle a
pour effet de demander au serveur choisi l’assignation de cette adresse, l’envoi
éventuel des valeurs des paramètres, et d’informer les autres serveurs qui ont fait une
offre qu’elle n’a pas été retenue.
Le serveur DHCP choisi élabore un datagramme d’accusé de réception (DHCP ack
pour acknowledgement) qui assigne au client l’adresse IP et son masque de sous-
réseau, la durée du bail de cette adresse (dont découlent deux valeurs T1 et T2 qui
déterminent le comportement du client en fin de bail), et éventuellement d’autres
paramètres :
o adresse IP de la passerelle par défaut,
o adresses IP des serveurs DNS,
o adresses IP des serveurs NBNS (WINS).
Le client peut aussi recevoir un type de nœud NetBios.
La liste des options que le serveur DHCP peut accepter est consultable dans la RFC 2132 :
Options DHCP et Extensions fournisseur BOOTP, Chapitre RFC 1497 : Extensions
fournisseur.
Les serveurs DHCP doivent être pourvus d’une adresse IP statique.
Compatibilité
La plupart des systèmes d’exploitation ont des clients DHCP v4.
Windows 2000, 2003 ne gèrent pas nativement IPv6 (à l’inverse de Windows Vista et
Microsoft Windows 7). IPv6 est disponible sous XP en rentrant la commande « ipv6 install »
dans un terminal Windows. Il existe plusieurs solutions pour pallier ce problème d’absence
d’IPv6 notamment l’installation d’une solution libre. Un serveur DHCPv6 est disponible dans
Windows Server 2008.
Plusieurs clients et serveurs libres pour DHCP v4 et v6 sont disponibles pour les plates-
formes BSD (FreeBSD/NetBSD/OpenBSD/Apple Mac OS X) ainsi que les plates-formes
POSIX (Linux/« UNIX-like »). Là encore il convient de vérifier lesquelles gèrent IPV4
seulement ou IPV4 et IPV6.
Renouvellement du bail
Les adresses IP dynamiques sont octroyées pour une durée limitée (durée du bail, ou lease
time), qui est transmise au client dans l’accusé de réception qui clôture la transaction DHCP.
La valeur T1 (par défaut 50 % de la durée du bail) qui l’accompagne détermine la durée après
laquelle le client commence à demander périodiquement le renouvellement de son bail auprès
du serveur qui lui a accordé son adresse (couramment la moitié de la durée du bail). Cette fois
la transaction est effectuée par transmission IP classique, d’adresse à adresse.
Si lorsque le délai fixé par la deuxième valeur, T2 (par défaut 87,5 % de la durée du bail), est
écoulé et que le bail n’a pas pu être renouvelé (par exemple si le serveur DHCP d’origine est
Dimitri LEMBOKOLO
3
hors service), le client demande une nouvelle allocation d’adresse par diffusion.
Si au terme du bail le client n’a pu ni en obtenir le renouvellement, ni obtenir une nouvelle
allocation, l’adresse est désactivée et il perd la faculté d’utiliser le réseau TCP/IP de façon
normale.
Client et serveur sur des segments différents
Lorsque le serveur DHCP et le client ne figurent pas sur le même segment ethernet, les
diffusions émises par ce dernier ne parviennent pas au serveur parce que les routeurs ne
transmettent pas les diffusions générales (broadcast). Dans ce cas on utilise un agent de relais
DHCP.
Cet hôte particulier est configuré avec une adresse IP statique, et connaît l’adresse d’un
serveur DHCP auquel il transmet les requêtes DHCP qui lui parviennent sur le port 68 (écouté
par le programme agent de relais). Il diffuse sur son segment (qui est aussi celui du client) les
réponses qu’il reçoit du serveur DHCP.
Pour notre cas
Cette documentation permet la mise en place d’un serveur DHCP simple (sans mise à jour du
DNS). Nous créerons un DHCP pour le réseau 192.168.1.0/24, la plage d’adresse sera
192.168.1.20 à 192.168.1.50. La passerelle sera 192.168.1.70, le serveur DNS sera
192.168.1.70 et le nom de domaine dimi.sn.
Petit point qui peut sembler bête, mais qui peut être synonyme d’erreur si on ne fait pas
attention.
Il faut que le serveur ait une IP fixe comprise dans la même classe d’adresse que l’adresse de
réseau couverte par l’étendue DHCP. (192.168.1.2 Par exemple).
Installation
Premièrement il convient de vérifier si le paquetage nécessaire est installé en faisant :
# rpm -q dhcp
Si vous avez comme réponse "le paquetage dhcp n'est pas installé", installez-le en faisant un
petit :
# yum install dhcp
Dimitri LEMBOKOLO
4
Configuration
Une fois installé il va falloir éditer le fichier /etc/dhcp/dhcpd.conf.
On a ceci dans :
Rien de ce qu’on veut concrètement, mais nous donne la direction du vrai fichier ; il faut juste
se rendre au chemin indiqué comme suit :
Puis copier le fichier dhcpd.conf.sample dans /etc/dhcp/
Renommer ou supprimer l’ancien fichier dhcpd.conf, pour mon cas je l’ai supprimé, puis
renomme le fichier dhcpd.conf.sample en dhcpd.conf.
Dimitri LEMBOKOLO
5
Une fois cela fait, on éditer le fichier /etc/dhcp/dhcpd.conf.
# A slightly different configuration for an internal subnet. subnet 192.168.1.0 netmask 255.255.255.224 {
range 192.168.1.20 192.168.1.50; # plage d'adresse option domain-name-servers was.dimi.sn; # serveurs DNS option domain-name "dimi.sn"; # nom de domaine option routers 192.168.1.70; # passerelle par défaut option broadcast-address 192.168.1.51; # adresse de diffusion default-lease-time 600; # durée du bail en sec. max-lease-time 7200; # durée maxi du bail en sec.
# Si on veut faire des réservations (attribuer tout le temps la même IP # A un certain équipement) on les insérera ici }
Il existe d’autres options telles que le serveur de temps, ou les serveurs WINS. (option ntp-
servers, option netbios-name-servers). Faites :
# man dhcpd.conf
Pour voir les autres options.
Voici la syntaxe pour une réservation (elle est à insérer à l’endroit indiqué). Vous pouvez
personnaliser les options DHCP pour chaque réservation.
host nommachine { hardware ethernet 08:00:07:26:c0:a5; # adresse MAC de la machine fixed-address 192.168.1.100; # IP que l’on veut lui assigner }
Nommachine pour mon cas c’est : dimitri.
Si vous utilisez beaucoup de stations linux, le paramètre use-host-decl-names va vous
permettre de laisser le nom par défaut de l'installation (localhost.localdomain) et de fixer le
nom d'hôte au niveau du serveur DHCP. La syntaxe est la suivante et le code est à insérer
dans la partie réservation :
group pclinux { use-host-decl-names on; host nommachine2 { hardware ethernet 08:00:2b:4c:29:32; fixed-address nommachine2.dimi.sn; } }
Dimitri LEMBOKOLO
6
Démarrer
Il faut demarrer le service DHCP :
# service dhcpd start
Il est possible d’avoir un serveur DHCP Multi résident (qui est situé sur plusieurs sous
réseaux, et qui attribuera des baux à chaque réseau). Il suffit d’avoir une autre carte réseau
avec une autre adresse (ex : 192.168.0.1/24). Vous devrez alors rajouter une autre catégorie
subnet (192.168.0.0 dans cet exemple) adaptée et y mettre les options nécessaires.
Ce qu’il faut retenir de façon plus générale c’est :
Chaque option se termine par un ;
Chaque partie commençant par {doit se terminer par}
Les options n’étant pas dans un subnet précis, sont valables pour tous les subnets.
En cas de problème, il suffit de lancer en console :
# tail -f /var/log/messages
Et de relancer le service. Les messages d’erreurs sont en général suffisamment clairs. Vous
pourrez même voir les différentes phases d’attribution des IPs (DHCPDiscover, …).
Pour infos, les baux actuels sont visibles dans le fichier /var/lib/dhcp/dhcpd.leases. Pour
activer le service au démarrage (pour le runlevel courant) :
# chkconfig dhcpd on
Autres options
Il est possible de créer ses propres options DHCP (cela est nécessaire pour certains
matériels nécessitant des options n'étant pas les RFC), il suffit pour cela d'en faire la
déclaration.
Nous allons par exemple déclarer une option serveur_ftp ayant pour code d'option 161 et une
autre chemin_ftp avec le code 162.
# Définition des options option serveur_ftp code 161 = string ; option chemin_ftp code 162 = string ;