15 octobre 2018

Installer serveur DHCP sous Debian 9

On va se setup un petit serveur DHCP simple sous Debian 9.4.

D’abord on installe le serveur :

apt-get install isc-dhcp-server

On va ensuite entrer les informations réseau qui doivent être délivrées par le serveur. La configuration se passe dans le fichier dhcpd.conf. Comme d’habitude, le fichier est pré-rempli et vous pouvez décommenter et adapter les directives déjà existantes. Personnellement je préfère sauvegarder le fichier d’origine et en créer un nouveau qui sera plus clair.

cd /etc/dhcp

-Sauvegarde du fichier :

mv dhcpd.conf dhcpd.conf.ori

-Edition du nouveau fichier :

nano dhcpd.conf

Voici ce que je viens de mettre dans un serveur simple qui fonctionne chez moi (bien sûr mettez vos propres adresses !) :

#Nom du serveur DHCP
server-name « nom_de_machine_du_serveur« ;

#Domaine
option domain-name « votre_nom_de_domaine« ;

#PXE, permettre le boot reseau
allow bootp;
allow booting;

#Verifie si l’adresse est déjà attribuée
ping-check = 1;

#Mode autoritaire (indique que ce serveur dhcp est prioritaire sur d’autres)
authoritative;

#Pas de mise à jour dynamique du DNS. Activer cette option est très utile #pour maintenir à jour les enregistrements du serveur DNS, pour le faire #remplacez none par standard (voir man dhcpd.conf). Il faut que le #serveur DNS accepte les mises à jour dynamiques.
ddns-update-style none;

#deny ou allow les clients inconnus
allow unknown-clients;

#La durée du bail si le client n’en demande pas un plus long.
default-lease-time 3600;

#La durée maximum du bail même si le client demande un plus long.
max-lease-time 86400;

#IP du serveur DNS à délivrer – même principe, on peut spécifier cette #directive dans un sous-réseau précis à la place. Mettez bien l’ip et non le #nom d’hôte.
option domain-name-servers 192.168.0.199;

#Netmask à délivrer – ajoutez cette directive si le subnet est identique pour #tous les sous-reseaux. Si ce n’est pas le cas, ne la mettez pas puisque le #subnet sera indiqué dans la déclaration de sous-réseau.
option subnet-mask 255.255.255.0;

#DECLARATION D’UN SOUS-RESEAU
subnet 10.0.2.0 netmask 255.255.255.0 {

#PLAGE d’IP à délivrer
range 10.0.2.50 10.0.2.99;

#GATEWAY par défaut
option routers 10.0.2.1;

#L’adresse de broadcast du sous-réseau
option broadcast-address 10.0.2.255;

}

-Pour exemple, on aurait pu agencer le fichier de cette façon :

server-name « dcsrv.infotrucs.fr »;

ddns-update-style none ;
authoritative;
allow unknown-clients;
allow bootp;
allow booting;
ping-check = 1;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.20 192.168.0.250;
option domain-name « infotrucs.fr »;
option domain-name-servers 192.168.1.199;
option routers 192.168.0.100;
option broadcast-address 192.168.0.255;
default-lease-time 3600;
max-lease-time 86000;
}

#Declaration d’un 2eme sous-reseau

subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.1 10.0.0.254;
option domain-name « compta.infotrucs.fr »;
option domain-name-servers 89.2.0.1;
option routers 10.0.0.1;
option broadcast-address 10.0.0.255;
default-lease-time 600;
max-lease-time 7200;
}

-Il faut comprendre que certaines directives peuvent être placées en dehors des déclarations de sous-réseaux si elles s’appliquent à tous les sous-réseaux du DHCP.

-Pour info, si vous utilisez certaines IP statiques qui font partie d’un des sous-réseaux déclarés, vous n’avez pas besoin de les exclure de leurs plages grâce à l’option ping-check qui va vérifier si une IP est libre avant de l’affecter à un hôte.

##################################

Ensuite on va dire au serveur sur quel carte réseau il doit écouter les requêtes.

-Éditer le fichier :

/etc/default/isc-dhcp-server

-Décommenter ou entrez la ligne DHCPDv4_CONF=/etc/dhcp/dhcpd.conf (ou DHCPD_CONF=/etc/dhcp/dhcpd.conf) en vous assurant que le chemin pointe correctement vers le fichier dhcpd.conf. Si vous utilisez aussi ipv6 décommentez la ligne se référant à ipv6.

-Trouvez la directive suivante en remplaçant le nom de la ou les interface(s) réseau du serveur :

INTERFACESv4= »eth1 eth2« 

->Si vous n’utilisez qu’une interface réseau ne mettez qu’un nom bien sur. Et si vous utilisez IPv6 éditez la directive INTERFACESv6, sinon commentez-la (#).

#######################

Et voila, redémarrons le service :

systemctl restart isc-dhcp-server.service (ou /etc/init.d/isc-dhcp-server start)

Théoriquement, vous avez un serveur DHCP fonctionnel.

You may also like...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.