IUT dOrsay rseaux DHCP Dynamic Host Configuration Protocol

  • Slides: 39
Download presentation
IUT d'Orsay réseaux DHCP Dynamic Host Configuration Protocol DHCP [RFC 2131 - 1997 ]

IUT d'Orsay réseaux DHCP Dynamic Host Configuration Protocol DHCP [RFC 2131 - 1997 ] 1

BUT • Permet à un ordinateur qui se connecte sur un réseau local d'obtenir

BUT • Permet à un ordinateur qui se connecte sur un réseau local d'obtenir et de configurer dynamiquement et automatiquement : – Son adresse IP – masque de son sous-réseau – passerelle par défaut – adresse IP du serveur DNS – nom de son domaine 2

Fonctionnement • Lorsque vous connectez un ordinateur sur le réseau il n’a aucune connaissance

Fonctionnement • Lorsque vous connectez un ordinateur sur le réseau il n’a aucune connaissance de son adresse IP • Par contre il connait: – son adresse Mac – L’adresse de broadcast 3

Demande d’adresse IP 4

Demande d’adresse IP 4

Demande de bail/adresse IP • Le poste client vient de se connecter, il n’a

Demande de bail/adresse IP • Le poste client vient de se connecter, il n’a pas d’adresse IP • En DHCP une adresse IP n’est fournit que pour un temps donné : Le bail. C’est pourquoi on parle de demande de bail plutôt que d’adresse IP Un bail a une durée : lease-time 5

Demande de bail - UN serveur DHCP time 1 DHCPDiscover client DHCPOffer 2 serveur

Demande de bail - UN serveur DHCP time 1 DHCPDiscover client DHCPOffer 2 serveur 3 DHCPRequest DHCPAck t 0 4 C’est SEULEMENT après t 0 que le client peut utiliser l’adresse IP communiquée par le serveur jusqu’à t 0 + lease-time 6

Trames DHCP • DHCPDISCOVER : Permet de trouver un serveur DHCP. La trame est

Trames DHCP • DHCPDISCOVER : Permet de trouver un serveur DHCP. La trame est une trame de « broadcast » , elle est envoyée à l’adresse 255. Le client n’ayant pas d’adresse prend l’adresse 0. 0 • DHCPOFFER : contient une proposition de bail, l’adresse IP du serveur et l’adresse Mac du client. • DHCPREQUEST : indique à tous les serveurs quel bail il a accepté et/ou demande de renouvellement de bail • DHCPACK : le serveur confirme le bail. 7

Renouvellement de bail • A la moitié du bail, le client demande le renouvellement

Renouvellement de bail • A la moitié du bail, le client demande le renouvellement (prolongation de son bail), il n’y aura alors que les trames DHCPREQUEST et DHCPACK qui seront échangées. • Si au bout des 7/8 du bail pas de réponse du serveur (ie pas de DHCPACK) alors le client essayera de joindre un serveur DHCP quelconque sur le réseau. • Lors du renouvellement, le client utilise l’adresse IP donnée précédemment par le serveur Un renouvellement est donc beaucoup plus simple 8

Demande de renouvellement de bail time client 3 DHCPRequest DHCPAck t 1 serveur 4

Demande de renouvellement de bail time client 3 DHCPRequest DHCPAck t 1 serveur 4 Le client peut utiliser l’adresse IP communiquée par le serveur jusqu’à t 1+lease-time 9

Les paquets IP échangés Lors d’un renouvellement de bail Source Destination Protocol Info 192.

Les paquets IP échangés Lors d’un renouvellement de bail Source Destination Protocol Info 192. 168. 0. 9 192. 168. 0. 253 192. 168. 0. 9 DHCPRequest DHCPAck 10

Message DHCP 11

Message DHCP 11

Message DHCP Envoyé par le Client • DHCPDISCOVER demande de localisation des serveurs DHCP

Message DHCP Envoyé par le Client • DHCPDISCOVER demande de localisation des serveurs DHCP • DHCPREQUEST demande de bail • DHCPDECLINE refus d’adresse IP, elle est déjà utilisée • DHCPRELEASE libération son bail • DHCPINFORM demande de paramètres locaux (autre qu’une adresse IP) 12

Message DHCP Envoyé par le Serveur • DHCPOFFER réponse à un DHCPDISCOVER • DHCPACK

Message DHCP Envoyé par le Serveur • DHCPOFFER réponse à un DHCPDISCOVER • DHCPACK contient des paramètres et l'adresse IP du client • DHCPNAK refus de bail 13

Problème de l’œuf et de la poule Encapsulation d’un message DHCP 14

Problème de l’œuf et de la poule Encapsulation d’un message DHCP 14

Encapsulation d’un message DHCP Trame contenant un message « DHCP » BOOTP DHCP UDP

Encapsulation d’un message DHCP Trame contenant un message « DHCP » BOOTP DHCP UDP Eth IP UDP Message DHCP IP par exemple Ethernet 15

Trame contenant un message DHCP Ethernet IP Adresse physique de l’émetteur Adresse physique du

Trame contenant un message DHCP Ethernet IP Adresse physique de l’émetteur Adresse physique du destinataire de la trame Adresse IP source Adresse IP destinataire du paquet IP UDP Port source Port destination du datagramme Message DHCP 16

Le Problème de l’oeuf et la poule Niveau physique A moment de la demande

Le Problème de l’oeuf et la poule Niveau physique A moment de la demande de bail, • Est-ce que le client connaît son adresse physique ? • Est-ce que le client connaît l’adresse physique du serveur DHCP ? QUE FAIRE ? ? ? 17

Le Problème de l’oeuf et la poule Niveau réseau A moment de la demande

Le Problème de l’oeuf et la poule Niveau réseau A moment de la demande de bail, • Est-ce que le client connaît l’adresse IP du serveur DHCP ? • Est-ce que le client connaît son adresse IP ? • Est-ce que le serveur DHCP connaît l’adresse IP du client? QUE FAIRE ? ? ? 18

DIFFUSION niveau physique • Diffusion (broadcast) distribution de la requête DHCP à tous les

DIFFUSION niveau physique • Diffusion (broadcast) distribution de la requête DHCP à tous les postes connectés Client DHCP Adresse de diffusion: ff: ff: ff: ff 19

DIFFUSION niveau réseau • Diffusion (broadcast) distribution de la requête DHCP à tous les

DIFFUSION niveau réseau • Diffusion (broadcast) distribution de la requête DHCP à tous les postes connectés Client DHCP Utilsation de l’adresse IP de diffusion générique 255 20

Niveau Transport - requêtes • Le client DHCP envoie la requête sur le port

Niveau Transport - requêtes • Le client DHCP envoie la requête sur le port 67. Le serveur DHCP écoute sur le port 67. Client DHCP 67 Serveur DHCP 21

Niveau Transport - réponses • Le serveur DHCP envoie la requête sur le port

Niveau Transport - réponses • Le serveur DHCP envoie la requête sur le port 68. Le client DHCP écoute sur le port 68. Client DHCP 68 Serveur DHCP 22

DHCP : le client utilise un port réservé • Port serveur DHCP 67 •

DHCP : le client utilise un port réservé • Port serveur DHCP 67 • Port Client DHCP 68 Client DHCP Serveur DHCP 65 65 66 66 67 67 68 68 69 69 23

Trame contenant un DHCPDiscover 00: 20. 8 f: b 9: 49: 37 Ethernet ff:

Trame contenant un DHCPDiscover 00: 20. 8 f: b 9: 49: 37 Ethernet ff: ff: ff: ff 0. 0 IP 255 68 UDP 67 Message DHCPDiscover 24

Adresse Trame contenant physique du DHCPDiscover client DHCP 00: 20. 8 f: b 9:

Adresse Trame contenant physique du DHCPDiscover client DHCP 00: 20. 8 f: b 9: 49: 37 adresse ff: ff: ff: ff physique de Adresse diffusion IP 0. 0 « neutre » Adresse IP 255 de diffusion 68 générique Port 67 source Message datagamm 25 DHCPDiscover e

Trame contenant un DHCPOffer 00. b 4: bb: 7 d: ee Ethernet 00: 20.

Trame contenant un DHCPOffer 00. b 4: bb: 7 d: ee Ethernet 00: 20. 8 f: b 9: 49: 37 192. 168. 0. 253 IP 67 UDP 68 Message DHCPDiscover 26

DHCPOffer Adresse physique du serveur DHCP 00. b 4: bb: 7 d: ee adresse

DHCPOffer Adresse physique du serveur DHCP 00. b 4: bb: 7 d: ee adresse physique du client 00: 20. 8 f: b 9: 49: 37 Adresse IP serveur DHCP 192. 168. 0. 253 67 Port source datagamm e 68 Message DHCPDiscover 27

Trame contenant un DHCPRequest 00: 20. 8 f: b 9: 49: 37 Ethernet ff:

Trame contenant un DHCPRequest 00: 20. 8 f: b 9: 49: 37 Ethernet ff: ff: ff: ff 0. 0 IP 255 68 UDP 67 Message DHCPRequest 28

Demande de baux DES serveurs DHCP serveur client DHCPDiscover DHCPOffer DHCPRequest Le client refuse

Demande de baux DES serveurs DHCP serveur client DHCPDiscover DHCPOffer DHCPRequest Le client refuse mon offre DHCPOffer DHCPRequest DHCPAck time 29

Bilan des échanges lors d’une demande de bail 30

Bilan des échanges lors d’une demande de bail 30

Les paquets IP échangés Source Destination Protocol Info 0. 0 255 DHCPDiscover # le

Les paquets IP échangés Source Destination Protocol Info 0. 0 255 DHCPDiscover # le serveur DHCP vérifie que l’adresse IP qu’il veut offrir n’est pas utilisée Serveur DHCP Broadcast ARP 192. 168. 0. 9? 192. 168. 0. 253 0. 0 192. 168. 0. 253 255 192. 168. 0. 9 DHCPOffer DHCPRequest DHCPACK # le client vérifie via ARP que personne n’utilisa sa nouvelle adresse Client DHCP Broadcast ARP 192. 168. 0. 9? 31

Format d’un message DHCP 32

Format d’un message DHCP 32

Dynamic Host Configuration Protocol DHCP a été conçu comme complément de BOOTP- Bootstrap Protocol

Dynamic Host Configuration Protocol DHCP a été conçu comme complément de BOOTP- Bootstrap Protocol – BOOTP: [RFC 951 - 1985] • Protocole de démarrage • Une station récupère les informations pour s’amorcer ( « booter » ) sur un serveur « d’amorçage » distant 33

Format d’un message BOOTP OP HTYPE HLEN identifiant session HOPS secs flags adresse IP

Format d’un message BOOTP OP HTYPE HLEN identifiant session HOPS secs flags adresse IP client (écrit par le client) adresse IP client (proposée par le serveur) serveur adresse IP gaterway adresse IP adresse physique du client nom du serveur Fichier d’amorçage OPTION 34

Format d’un message DHCP OP HTYPE HLEN identifiant session HOPS secs flags adresse IP

Format d’un message DHCP OP HTYPE HLEN identifiant session HOPS secs flags adresse IP client (écrit par le client) adresse IP client (proposée par le serveur) serveur adresse IP gaterway adresse IP adresse physique du client nom du serveur Fichier d’amorçage OPTIONS définies dans DHCP 35

Sous Unix/Linux 36

Sous Unix/Linux 36

Sous Unix/Linux • Client DHCP : dhclient • Serveur DHCP : dhcpd • Fichier

Sous Unix/Linux • Client DHCP : dhclient • Serveur DHCP : dhcpd • Fichier de configuration du serveur : /etc/dhcpd. conf 37

Exemple de fichier dhcpd. conf # option definitions common to all supported networks. .

Exemple de fichier dhcpd. conf # option definitions common to all supported networks. . . option domain-name "voip. u-psud. fr"; option domain-name-servers 129. 175. 34. 35, 129. 175. 36. 37; option-150 code 150 = ip-address; option-150 192. 168. 200. 10; default-lease-time 600; max-lease-time 7200; subnet 172. 16. 2. 0 netmask 255. 128 { #VOIP IPN bat 106 - vlan 1201 range 172. 16. 2. 4 172. 16. 2. 126; option routers 172. 16. 2. 1; } subnet 172. 16. 2. 128 netmask 255. 128 { #VOIP CSNSM bat 104 - vlan 1204 range 172. 16. 2. 132 172. 16. 2. 254; option routers 172. 16. 2. 129; } 38

Remerciement • http: //christian. caleca. free. fr/dhcp/ • http: //www. frameip. com/dhcp/ • RFC

Remerciement • http: //christian. caleca. free. fr/dhcp/ • http: //www. frameip. com/dhcp/ • RFC en Français : http: //abcdrfc. free. fr/ • Manuel de dhcpd, de dhclient, et de dhcpd. conf 39