Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
090_applicatifs:165dhcp:30-client_dhcp [le 19/03/2025 à 16:46] – [Configuration] prof | 090_applicatifs:165dhcp:30-client_dhcp [le 23/03/2025 à 09:40] (Version actuelle) – [La mémoire du client] prof | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
- | Tout système | + | Sur Debian 12 (Bookworm), le client dhcp installé par défaut est le client |
+ | ===== Configuration ===== | ||
- | Si le poste de travail est correctement configuré, le client DHCP s' | + | ==== nas ==== |
- | ===== MS Windows™ ===== | + | Version expurgée des commentaires: |
- | N' | + | < |
- | ==== Configuration ==== | + | option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; |
- | Voici un moyen (parmi d' | + | |
- | Tu cliques à gauche sur '' | + | send host-name = gethostname(); |
+ | <span class=" | ||
+ | domain-name, | ||
+ | dhcp6.name-servers, | ||
+ | netbios-name-servers, | ||
+ | rfc3442-classless-static-routes, | ||
+ | </ | ||
+ | Ce fichier n'a pas été modifié, c'est donc la configuration par défaut. | ||
- | Tout ceci doit faire apparaitre cette fenêtre : | + | Toutes les options en gras sont inutiles dans notre contexte. Elles ont été supprimées dans le fichier |
- | {{ : | + | ==== democlient1 |
- | Là, tu cliques à droite sur la '' | + | < |
- | {{ : | + | option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; |
- | Tu cliques deux fois de suite à gauche | + | |
- | {{ : | + | |
- | Ici, il suffit de cliquer à gauche successivement sur '' | + | |
- | ==== Contrôle | + | |
- | Il existe une méthode, dite « méthode en sept clics », qui permet de consulter sa configuration IP. Nous allons en voir une autre dite « méthode de la ligne de commande ». | + | |
- | + | ||
- | Tu ouvres une '' | + | |
- | ipconfig | + | |
- | {{ : | + | |
- | Nous obtenons alors l' | + | |
- | Si nous souhaitons plus de détails, il faudra utiliser la commande : | + | send host-name = gethostname(); |
- | ipconfig /all | + | <span class=" |
- | {{ : | + | |
- | Nous voyons ici toutes les informations concernant le bail dhcp obtenu. La « méthode en sept clics » n' | + | rfc3442-classless-static-routes, |
- | ===== GNU/Linux ===== | + | |
- | Ici, nous sommes dans le bazar et suivant les distributions, les choses peuvent changer de façon plus ou moins significative. Nous prendrons comme exemple une Debian Lenny et une Ubuntu Jaunty dont les architectures restent très proches puisque l' | + | |
- | GNU/Linux étant en perpétuelle évolution, les possibilités de configuration du réseau ont suivi le même chemin. Il existe en gros deux moyens de le faire : | + | <span class=" |
- | * des fichiers texte qui décrivent la configuration de chaque interface, c'est la bonne vieille méthode, encore tout à fait d' | + | |
- | * un système dynamique, '' | + | |
- | ==== NetworkManager ==== | + | |
- | Commençons par le plus « simple », c' | + | |
- | {{ :dhcp: | + | |
- | Tu cliques à droite sur l' | + | |
- | + | ||
- | {{ : | + | |
- | + | ||
- | Bien entendu, tout ceci fonctionne bien parce que les concepteurs d' | + | |
- | Les trois paquets essentiels, mais qui incluent beaucoup de dépendances, | + | |
- | * '' | + | |
- | * '' | + | |
- | * '' | + | |
- | + | ||
- | ==== A l' | + | |
- | Une méthode plus rustique, mais tout aussi efficace lorsque l'on est sédentaire, | + | |
- | + | ||
- | Nous sommes sur une Lenny sans interface graphique (pas de méthodes en X clics). Il nous faut bien sûr un client DHCP, pourquoi pas '' | + | |
- | < | + | |
- | auto lo | + | |
- | iface lo inet loopback | + | |
- | + | ||
- | auto eth0 | + | |
- | iface eth0 inet dhcp | + | |
- | </ | + | |
- | La traduction est assez intuitive | + | |
- | + | ||
- | Après un démarrage de notre Lenny, voyons où nous en sommes. Il existe plusieurs façons de récolter les informations | + | |
- | + | ||
- | === ifconfig === | + | |
- | Méthode traditionnelle : | + | |
- | < | + | |
- | # ifconfig eth0 | + | |
- | eth0 Link encap: | + | |
- | <span class=" | + | |
- | adr inet6: 2a01: | + | |
- | adr inet6: fe80:: | + | |
- | UP BROADCAST RUNNING MULTICAST | + | |
- | RX packets:134 errors:0 dropped:0 overruns:0 frame:0 | + | |
- | TX packets:69 errors:0 dropped:0 overruns:0 carrier:0 | + | |
- | collisions: | + | |
- | RX bytes:18211 (17.7 KiB) TX bytes:9947 (9.7 KiB) | + | |
- | Interruption: | + | |
</ | </ | ||
- | === iproute | + | En revanche, ici le client envoie explicitement sa seule adresse MAC comme CID, ce qui explique l' |
- | Plus moderne | + | ===== La mémoire du client |
+ | isc-dhcp-client a de la mémoire. Elle est écrite dans le fichier ''/ | ||
< | < | ||
- | # ip addr ls dev eth0 | + | cat dhclient.enp1s0.leases |
- | 2: eth0: < | + | default-duid |
- | link/ether 00: | + | |
- | <span class=" | + | |
- | inet6 2a01: | + | |
- | | + | |
- | inet6 fe80:: | + | |
- | | + | |
- | </ | + | |
- | === les logs === | + | |
- | Si nous voulons vraiment savoir ce qu'il s'est passé au niveau DHCP, il suffit de consulter les logs du client '' | + | |
- | < | + | |
- | # cat / | + | |
lease { | lease { | ||
- | interface "eth0"; | + | interface "enp1s0"; |
- | fixed-address 192.168.0.67; | + | fixed-address 192.168.61.2; |
option subnet-mask 255.255.255.0; | option subnet-mask 255.255.255.0; | ||
- | | + | option dhcp-lease-time 3600; |
- | <span class=" | + | option routers 192.168.61.1; |
option dhcp-message-type 5; | option dhcp-message-type 5; | ||
- | option domain-name-servers 192.168.0.252; | + | |
- | option dhcp-server-identifier 192.168.0.252; | + | |
- | option | + | option domain-search " |
- | option domain-name "maison.mrs"; | + | option dhcp-renewal-time 1800; |
- | <span class=" | + | option dhcp-rebinding-time 2700; |
- | rebind | + | option host-name " |
- | expire | + | option dhcp-client-identifier ff:0: |
+ | renew 6 2025/03/22 11:04:54; | ||
+ | rebind 6 2025/03/22 11:20:11; | ||
+ | expire 6 2025/03/22 11:35:11; | ||
+ | } | ||
+ | lease { | ||
+ | interface " | ||
+ | fixed-address 192.168.61.2; | ||
+ | option subnet-mask 255.255.255.0; | ||
+ | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
+ | option dhcp-message-type 5; | ||
+ | option dhcp-server-identifier 192.168.61.1; | ||
+ | option domain-name-servers 192.168.61.1; | ||
+ | option domain-search " | ||
+ | option dhcp-renewal-time 1800; | ||
+ | option dhcp-rebinding-time 2700; | ||
+ | option host-name " | ||
+ | option dhcp-client-identifier ff:0: | ||
+ | renew 6 2025/03/22 11:29:41; | ||
+ | rebind 6 2025/03/22 11:49:54; | ||
+ | expire 6 2025/03/22 12:04:54; | ||
+ | } | ||
+ | lease { | ||
+ | interface " | ||
+ | fixed-address 192.168.61.2; | ||
+ | option | ||
+ | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
+ | option dhcp-message-type 5; | ||
+ | option dhcp-server-identifier 192.168.61.1; | ||
+ | option domain-name-servers 192.168.61.1; | ||
+ | option domain-search " | ||
+ | option dhcp-renewal-time 1800; | ||
+ | option dhcp-rebinding-time 2700; | ||
+ | option host-name " | ||
+ | option dhcp-client-identifier ff:0: | ||
+ | renew 6 2025/03/22 11:54:35; | ||
+ | rebind 6 2025/03/22 12:14:41; | ||
+ | expire 6 2025/03/22 12:29:41; | ||
+ | } | ||
+ | lease { | ||
+ | interface " | ||
+ | fixed-address 192.168.61.2; | ||
+ | option subnet-mask 255.255.255.0; | ||
+ | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
+ | option dhcp-message-type 5; | ||
+ | option dhcp-server-identifier 192.168.61.1; | ||
+ | option domain-name-servers 192.168.61.1; | ||
+ | option domain-search | ||
+ | | ||
+ | option dhcp-rebinding-time 2700; | ||
+ | option host-name " | ||
+ | option dhcp-client-identifier ff: | ||
+ | renew 6 2025/03/22 12:21:31; | ||
+ | rebind 6 2025/03/22 12:39:35; | ||
+ | expire 6 2025/03/22 12:54:35; | ||
+ | } | ||
+ | lease { | ||
+ | interface " | ||
+ | fixed-address 192.168.61.2; | ||
+ | option subnet-mask 255.255.255.0; | ||
+ | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
+ | option dhcp-message-type 5; | ||
+ | option dhcp-server-identifier 192.168.61.1; | ||
+ | option domain-name-servers 192.168.61.1; | ||
+ | option domain-search " | ||
+ | option dhcp-renewal-time 1800; | ||
+ | option dhcp-rebinding-time 2700; | ||
+ | option host-name " | ||
+ | option dhcp-client-identifier ff: | ||
+ | renew 6 2025/03/22 12:46:46; | ||
+ | rebind 6 2025/03/22 13:06:31; | ||
+ | expire 6 2025/03/22 13:21:31; | ||
+ | } | ||
+ | lease { | ||
+ | interface " | ||
+ | fixed-address 192.168.61.2; | ||
+ | option subnet-mask 255.255.255.0; | ||
+ | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
+ | option dhcp-message-type 5; | ||
+ | option dhcp-server-identifier 192.168.61.1; | ||
+ | option domain-name-servers 192.168.61.1; | ||
+ | option domain-search " | ||
+ | option dhcp-renewal-time 1800; | ||
+ | option dhcp-rebinding-time 2700; | ||
+ | option host-name " | ||
+ | option dhcp-client-identifier ff: | ||
+ | | ||
+ | | ||
+ | | ||
} | } | ||
</ | </ | ||
- | Nous avons ici toutes les informations transmises. Notre système est « neuf », c'est la première fois que l'interface est configurée. Comme nous sommes curieux, nous avons mis en place un « sniffeur » (l'indispensable Wireshark), qui a capturé le dialogue, mais nous verrons ça plus tard. | + | Le serveur était hors service et le client a perdu son adresse, mais il l'a récupérée aux alentours de 14:18:47 - 30 minutes soit 13:48:47. L'interruption |
- | + | ||
- | Les heures sont indiquées en UTC. | + | |
- | + | ||
- | La machine cliente | + | |
< | < | ||
lease { | lease { | ||
- | interface "eth0"; | + | interface "enp1s0"; |
- | fixed-address 192.168.0.67; | + | fixed-address 192.168.61.2; |
option subnet-mask 255.255.255.0; | option subnet-mask 255.255.255.0; | ||
- | option routers 192.168.0.252; | ||
option dhcp-lease-time 3600; | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
option dhcp-message-type 5; | option dhcp-message-type 5; | ||
- | option | + | option |
- | option | + | option |
- | option | + | option |
- | option | + | option |
- | renew 5 2009/05/08 08:38:00; | + | option dhcp-rebinding-time 2700; |
- | rebind | + | option host-name "nas"; |
- | expire | + | |
+ | <span class=" | ||
+ | rebind | ||
+ | expire | ||
} | } | ||
- | <span class=" | + | lease { |
- | interface "eth0"; | + | interface "enp1s0"; |
- | fixed-address 192.168.0.67; | + | fixed-address 192.168.61.2; |
option subnet-mask 255.255.255.0; | option subnet-mask 255.255.255.0; | ||
- | option routers 192.168.0.252; | ||
option dhcp-lease-time 3600; | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
option dhcp-message-type 5; | option dhcp-message-type 5; | ||
- | option domain-name-servers 192.168.0.252; | + | |
- | option dhcp-server-identifier 192.168.0.252; | + | |
- | option | + | option domain-search " |
- | option domain-name "maison.mrs"; | + | option dhcp-renewal-time 1800; |
- | <span class="bhly"> | + | option dhcp-rebinding-time 2700; |
- | rebind | + | option host-name " |
- | expire 5 2009/05/08 09:38:00;</span> | + | option dhcp-client-identifier ff:0: |
- | }</span> | + | renew 6 2025/03/22 14:48:17; |
+ | rebind 6 2025/03/22 15:03:47; | ||
+ | expire 6 2025/03/22 15:18:47; | ||
+ | } | ||
+ | lease { | ||
+ | interface " | ||
+ | fixed-address 192.168.61.2; | ||
+ | option subnet-mask 255.255.255.0; | ||
+ | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
+ | option dhcp-message-type 5; | ||
+ | option dhcp-server-identifier 192.168.61.1; | ||
+ | option | ||
+ | option domain-search " | ||
+ | option dhcp-renewal-time 1800; | ||
+ | option dhcp-rebinding-time 2700; | ||
+ | option host-name " | ||
+ | option dhcp-client-identifier ff:0: | ||
+ | renew 6 2025/03/22 15:13:52; | ||
+ | rebind 6 2025/03/22 15:33:17; | ||
+ | expire 6 2025/03/22 15:48:17; | ||
+ | } | ||
+ | lease { | ||
+ | interface " | ||
+ | fixed-address 192.168.61.2; | ||
+ | option subnet-mask 255.255.255.0; | ||
+ | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
+ | option dhcp-message-type 5; | ||
+ | option dhcp-server-identifier 192.168.61.1; | ||
+ | option domain-name-servers 192.168.61.1; | ||
+ | option domain-search | ||
+ | | ||
+ | option dhcp-rebinding-time 2700; | ||
+ | option host-name | ||
+ | option dhcp-client-identifier ff: | ||
+ | | ||
+ | rebind | ||
+ | expire | ||
+ | } | ||
+ | lease { | ||
+ | interface " | ||
+ | fixed-address 192.168.61.2; | ||
+ | option subnet-mask 255.255.255.0; | ||
+ | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
+ | option dhcp-message-type | ||
+ | option dhcp-server-identifier 192.168.61.1; | ||
+ | option domain-name-servers 192.168.61.1; | ||
+ | option domain-search " | ||
+ | option dhcp-renewal-time 1800; | ||
+ | option dhcp-rebinding-time 2700; | ||
+ | option host-name " | ||
+ | option dhcp-client-identifier ff: | ||
+ | renew 6 2025/03/22 16:06:35; | ||
+ | rebind 6 2025/03/22 16:25:37; | ||
+ | expire 6 2025/03/22 16:40:37; | ||
+ | } | ||
+ | lease { | ||
+ | interface " | ||
+ | fixed-address 192.168.61.2; | ||
+ | option subnet-mask 255.255.255.0; | ||
+ | option dhcp-lease-time 3600; | ||
+ | option routers 192.168.61.1; | ||
+ | option dhcp-message-type 5; | ||
+ | option dhcp-server-identifier 192.168.61.1; | ||
+ | option domain-name-servers 192.168.61.1; | ||
+ | option domain-search " | ||
+ | option dhcp-renewal-time 1800; | ||
+ | option dhcp-rebinding-time 2700; | ||
+ | option host-name " | ||
+ | option dhcp-client-identifier ff: | ||
+ | renew 6 2025/03/22 16:29:12; | ||
+ | rebind 6 2025/03/22 16:51:35; | ||
+ | expire 6 2025/03/22 17:06:35; | ||
+ | } | ||
</ | </ | ||
- | Notre client | + | Le client |
- | + | ||
- | Notre Wireshark n'a rien perdu de tout ceci, nous pouvons aller y voir de plus près. | + | |
- | + | ||
- | + |
Le client DHCP d'ISC: Dernière modification le: 19/03/2025 à 16:46 par prof