Dhcp sous fedora 11

7
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

description

Juste une petite config du DHCP

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 ;

Dimitri LEMBOKOLO

7

Pour les utiliser on les utilise comme n'importe quelle option :

option serveur_ftp "10.0.2.15" ; option chemin_ftp "/pub/updates" ;

Il est également intéressant de mettre à jour un serveur DNS à partir des @IP

distribuées par le serveur DHCP.

To be continued