Installation d'un serveur DHCP
Cette page est un guide sur comment installer un serveur DHCP, en particulier celui de Brest. C'est la première étape du guide Monter le service DHCP du ResEL
- Installer un serveur DHCP
- Configurer le DHCP
- Configurer un DHCP de secours
Préconfiguration
Mise en place de la VM
cf. Installation d'un nouveau serveur
Spécificités
Cette machine étant un DHCP, il vaut mieux qu'elle soit dans le réseau qu'elle gère. N'oubliez donc pas de lui créer une interface dans les différents VLAN nécessaires, en particulier une interface supplémentaire pour le réseau d'inscription
Installation
Installation des paquets nécessaires
Il faut évidemment lancer les commandes en tant que super utilisateur root
# apt install isc-dhcp-server isc-dhcp-server-ldap
Ensuite il faut installer python3 pour pouvoir utiliser le script python et le gestionnaire pip pour installer les bonnes dépendances Python
# apt install python3 python3-pip
Note : En réalité lors de la première installation du DHCP de secours, on avait essayé de se servir de apt pour installer uniquement le paquet python3-ldap3
, mais ça n'a pas fonctionné, on a fini par installer tous les packages de python3&ldap possible. Bref, pour faire fonctionner le script ldap2dhcp.py
, il faut le paquet ldap3
, si vous avez l'occasion de tester d'autres solutions, n'hésitez pas !
apt install python3-ldap3
sudo pip3 --proxy=http://pegase.adm.resel.fr:3128 install ldap3
NOTE : il s'avère que la commande # pip install ldap3 ne fonctionne pas, d'où la précision du proxy dans l'instruction.
TODO : trouver la config minimale d'installation de ldap3
.
création des dossiers et fichiers nécessaires :
# mkdir /srv/reloader
# mkdir /srv/reloader/scripts
# mkdir /srv/reloader/scripts/dhcp
Puis créer les fichiers :
# touch /srv/reloader/scripts/dhcp/ldap2dhcp.py
# touch /etc/dhcp/header.conf
Ensuite, copier le script depuis https://git.resel.fr/resel/scripts/tree/master/dhcp/brest et le header de base depuis https://git.resel.fr/confs/dhcp-brest/tree/master
Il faut créer un utilisateur reloader
chargé de recharger la configuration à chaque fois que c'est nécéssaire (ajout d'une machine, ...).
# useradd reloader -d /srv/reloader
# adduser reloader sshusers
Puis copier les clés publiques de Doubidou et Skynet (Sites admin et utilisateur) dans ~reloader/.ssh/authorized_keys
Dans viduso, modifier l'entrée de reloader
par :
reloader ALL=(ALL) NOPASSWD: ALL
On ajoute les droits au script de reload :
# chmod -R reloader:reloader ~reloader
Puis modifier /etc/passwd
tel que :
reloader:x:$n$:$m$:,,,,reloader dhcp:/srv/reloader:/srv/reloader/reloader.sh
où $n$
et $m$
ne changent pas.
Enfin, on ajoute la ligne ssh -t reloader@machine.adm.resel.fr
sur le git du site admin aux endroits adéquats (faire une recherche du même motif sur un dhcp existant) et directement sur les machines hébergeant le site utilisateur dans le fichier $Racine du site$/myresel/settings_local.py
Ressources utiles
Repos ResEl
- https://git.resel.fr/confs/dhcp-brest
- https://git.resel.fr/confs/dhcp-rennes
- https://git.resel.fr/resel/scripts/tree/master/dhcp pour le script ldap2dhcp.py.
Externes
- https://wiki.debian.org/DHCP_Server
- https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol
Articles liés
- Saymyname DHCP principal
- Braum DHCP secondaire
- Configurer un serveur DHCP Article Suivant
TODO (pour le rédacteur)
- Étoffer l'article avec un peu plus de phrases, de contexte
- TODO : trouver la config minimale d'installation de
ldap3
. - TODO : compléter les paragraphes sur la création de la VM et la création de la seconde interface pour "ResEl Inscription"