I.

1)
apt list --installed "*dhcp*"

isc-dhcp-client/oldoldstable,now 4.3.5-3+deb9u1 amd64 [installed]
isc-dhcp-common/oldoldstable,now 4.3.5-3+deb9u1 amd64 [installed,automatic]
isc-dhcp-relay/oldoldstable,now 4.3.5-3+deb9u1 amd64 [installed]
isc-dhcp-server/oldoldstable,now 4.3.5-3+deb9u1 amd64 [installed]
udhcpd/oldoldstable,now 1:1.22.0-19+b3 amd64 [installed]

2)
ls /etc/init.d/
Le service sera isc-dhcp-server

3)
less /etc/init.d/isc-dhcp-server
Sur la ligne start daemon on a -exec /usr/sbin/dhcpd
Grace a la commande which dhcpd on a une confirmation.

4)
man dhcpd
On constate que le fichier est dhcpd.conf se trouvant dans /etc/dhcp/

III.
1)
Je sais que CIDR signifie Classless Inter-Domain Routing.
Je vais sur le site donné pour connaitre le code (Tag) et le RFC (Reference).
Ctrl + F puis j'écrit Classless.
J'obtiens les ligne suivant:

Tag 	Name				Data Length	Meaning				Reference 
121 	Classless Static Route Option 	N 		Classless Static Route Option 	[RFC3442]

Je peux donc répondre à la question en disant que le code est 121 et le RFC3442.


2)
Je vais sur le 2ème site puis je vais dans DEFINING NWE OPTIONS à droite.
Je constate que la commande doit ressemblé à quelque chose comme au minimum a option new-name code new-code ;
Je décide donc ce faire:
option RFC3442_Classless_Inter-Domain_Routing code 121=arrays interger 8;

A notifier que :
Le nom peut être un autre, mais que j'ai mis la RFC3442 pour plus d'information et le Classless Inter-Domain Routing car on cherche l'option pour communiquer aux clients une route CIDR.
Le code j'ai mis le même donc le numéro 121.
Puis interger 8 afin de donner des information sur le nombre de bits qui sera utilisé à ne pas oublié qu'il y a plusieurs 8 , 16 , 32 tout dépend du besoin.


IV.
Exemple:

 Code Len Destination 1    Router 1
   +-----+---+----+-----+----+----+----+----+----+
   | 121 | n | d1 | ... | dN | r1 | r2 | r3 | r4 |
   +-----+---+----+-----+----+----+----+----+----+

    Destination 2       Router 2
   +----+-----+----+----+----+----+----+
   | d1 | ... | dN | r1 | r2 | r3 | r4 |
   +----+-----+----+----+----+----+----+

code lenght d1 d2  d3 d4|  Router1  |  d1
121  13 24 172 16 2 192 168 10 254 0 192 168 10 253


1)
Regardez dhcpd.conf

2)
Commande pour tester dhcpd -t

3)
Dans /etc/default/isc-dhcp-server,
On commente INTERFACESv6=""
On rajoute eth0 pour avoir INTERFACESv4="eth0"


V.

1)
On lance avec la commande /etc/init.d/isc-dhcp-server start

udp    UNCONN     0      0         *:67                    *:*
udp    UNCONN     0      0       *:bootps                *:* 

2)
ps -a
     92 ?        00:00:00 dhcp

Le PID est 92
Aussi visible dans le man dhcpd qui dit qu'il est aussi disponible dans /var/run/dhcpd.pid

3)
ps -eo pid,command

root@DHCPsrv:~# ps -eo pid,command
    PID COMMAND
      1 /sbin/docker-init -- /bin/bash
      7 /bin/bash
     35 rpcbind
     37 inetd
     64 /bin/bash
     92 /usr/sbin/dhcpd -4 -q -cf /etc/dhcp/dhcpd.conf eth0
    181 ps -eo pid,command

4)
PC1-1
ip r
Rien
Puis dhclient eth0
ip r 
192.168.0.0/20 dev eth0 proto kernel scope link src 192.168.10.20


dhclient -v
eth0Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/eth0/42:00:aa:00:00:00
Sending on   LPF/eth0/42:00:aa:00:00:00
Sending on   Socket/fallback
DHCPREQUEST of 192.168.10.20 on eth0 to 255.255.255.255 port 67
DHCPACK of 192.168.10.20 from 192.168.10.10
RTNETLINK answers: File exists
bound to 192.168.10.20 -- renewal in 204 seconds.

5.

6.

7.

8.
pc1-1# ping -c1 172.16.2.1
connect: Network is unreachable
